VideoHelp Forum
+ Reply to Thread
Results 1 to 19 of 19
Thread
  1. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    I have AutoGK and Xvid4PSP.

    I have two avi files that are a movie separated into two files, they are great quality and perfectly encoded I just want to combine them into one avi file.

    Xvid4PSP can do this I just must not be using the proper settings; I use the join file option with the following settings.

    Code:
    Format: AVI
    Denoise/Sharpen: Disabled
    Brightness/Contrast: Disabled
    Video Encoding: Copy
    Audio Encoding: Copy
    AutoGK doesn't seem to have a join feature.

    Any assistance would be appreciated.
    Quote Quote  
  2. Always Watching guns1inger's Avatar
    Join Date
    Apr 2004
    Location
    Miskatonic U
    Search Comp PM
    AVI Demux. Load the first, append the second, save the result (don't forget to put the extension on the filename when you save). If you are asked if you want to use smart rendering answer yes, and use a quantizer value of 2. This works for me.
    Read my blog here.
    Quote Quote  
  3. Member
    Join Date
    Jul 2008
    Location
    United States
    Search Comp PM
    AVI Demux worked perfect thank you very much.
    Quote Quote  
  4. Member
    Join Date
    Jan 2011
    Location
    United States
    Search PM
    AVI Demux was easy to use and did a perfect job.. Thanks for the link!!!
    Quote Quote  
  5. Member
    Join Date
    Jan 2011
    Location
    Switzerland
    Search Comp PM
    Is there still no easier way? I know AVI Demux works fast and perfect, but it would be nic to have something like
    - Select the two files in Explorer
    - Select "Join" in the Context Menü

    or
    - Drag and Drop the two files into the joiner

    ... an Idea?

    Thanks!
    Bruno
    Quote Quote  
  6. Member hech54's Avatar
    Join Date
    Jul 2001
    Location
    Yank in Europe
    Search PM
    No.
    Quote Quote  
  7. Member
    Join Date
    Jan 2011
    Location
    Switzerland
    Search Comp PM
    (see below)
    Last edited by BRotondi; 30th Jan 2011 at 12:07.
    Quote Quote  
  8. Member
    Join Date
    Jan 2011
    Location
    Switzerland
    Search Comp PM
    O.K. found an easy way via command line:

    Code:
    avidemux2_cli.exe --nogui --autoindex --force-unpack --load Movie1.avi --append Movie2.avi --audio-codec copy --video-codec copy  --output-format AVI --audio-map --save Movie.avi --quit
    When doing it manually, AviDemux will ask
    - Build VBR Time Map? (this is done by --audio-map) -> otherwise async Audio
    - Unpack Packed BitStream? (this is done by --force-unpack) -> not really necessary

    Be aware, that --audio-map has to be written AFTER --load and --append!! (not sure why..., but otherwise async Audio)
    Last edited by BRotondi; 30th Jan 2011 at 12:39.
    Quote Quote  
  9. Member
    Join Date
    Jan 2011
    Location
    Switzerland
    Search Comp PM
    Hmm... is it really impossible to join an Avi with 2 Audio Tracks without going through temporary files? (join Audio 1, join Audio2, mux)

    I now tried various tools and all simply ignore the 2nd Track... (AviDemux is the only one, allowing to select the Track, but it also does not join all Tracks...)
    Last edited by BRotondi; 31st Jan 2011 at 17:08.
    Quote Quote  
  10. VirtualDub also works to do this
    file -> open
    file -> append
    file -> save as
    Quote Quote  
  11. Member hech54's Avatar
    Join Date
    Jul 2001
    Location
    Yank in Europe
    Search PM
    Originally Posted by geolaw View Post
    virtualdub also works to do this
    file -> open
    file -> append
    file -> save as

    wrong
    Quote Quote  
  12. Member
    Join Date
    Nov 2002
    Location
    United States
    Search Comp PM
    Originally Posted by geolaw View Post
    VirtualDub also works to do this
    file -> open
    file -> append
    file -> save as
    You need to select "Direct Stream Copy" before "Save as AVI" and the files have to have the exact same attributes. It may join a split AVI and it might not. Virtualdub will give you a warning if it can't. Sometimes you can join the audio files with an audio editor and direct stream copy the files without audio, then append and add the joined audio file but it's simpler just to use Avidemux.

    The pain with Avidemux is that you have to append each file separately. With Virtualdub, if it will append the files, it will append all sequential files (001.avi-002.avi-003.avi-004.avi etc...).
    Quote Quote  
  13. Ok - I'm a convert. anytime I can do something from the cli vs gui its a plus
    not to mention support for linux and mac.
    Quote Quote  
  14. Member
    Join Date
    May 2007
    Location
    Canada
    Search Comp PM
    OMG. This is way too complicated. I have 14 files to merge together. There is no way I am going to use old DOS type input in 2011 when drag and drop should be all that is required.
    Quote Quote  
  15. I was about to bang my head on the desk with VirtualDub. I hate it when you download something then have to download something else to get it to work right (ffdshow). Then that doesn't even work or is so complicated you would rather just have two files instead of one.

    Anyway, I registered just to say thanks guys. Avidemux and the instructions in post 1 is all it takes. 2 minutes and I was done. 30 minutes trying to figure out VirtualDub and got nowhere...
    Quote Quote  
  16. Member
    Join Date
    May 2013
    Location
    Belgium
    Search PM
    Hi all,

    I made an AutoIt script for doing this easily in conjunction with Avidemux

    Code:
    #cs
    ---------------------------------------------------------------------------
    AviJoin 1.0 AutoIt script by Cédric M.
    Feel free to modify. The script has only been tested on Windows 8.1.
    
    How to use:
    Step 1) Start Avidemux
    Step 2) Run script
    Step 3) Select folder with AVI files to join (at least 2 files required)
    Step 4) Wait until all files have been joined
    Step 5) Save the Avidemux project
    ---------------------------------------------------------------------------
    #ce
    
    #include <Array.au3>
    #include <File.au3>
    
    Opt("WinTitleMatchMode", 2)
    
    Global Const $OPEN_DLG_TITLE = "Select AVI File..."
    Global Const $APPEND_DLG_TITLE = "Select AVI File to Append..."
    Global Const $AVIDEMUX_TITLE = "Avidemux"
    
    AviJoin()
    
    Func AviJoin()
        $selectedFolder = FileSelectFolder("Select folder with video files to be merged.", "")
        $fileList = _FileListToArray($selectedFolder, "*.avi")
        If $fileList = "" Or $fileList[0] < 2 Then
            MsgBox(16, "AviJoin Error", "Not enough AVI files found in the specified folder.")
            Exit
        EndIf
        _WinWaitActivate($AVIDEMUX_TITLE, "")
        Send("{CTRLDOWN}o{CTRLUP}")
        _WinWaitActivate($OPEN_DLG_TITLE, "")
        Sleep(30)
        ControlClick($OPEN_DLG_TITLE, "", "[CLASS:ToolbarWindow32; INSTANCE:3]", "left", 1, 1, 1)
        Sleep(30)
        Send("{CTRLDOWN}c{CTRLUP}")
        If ClipGet() <> $selectedFolder Then
            Send($selectedFolder)
            Send("{ENTER}")
        EndIf
        Sleep(30)
        ControlSetText($OPEN_DLG_TITLE, "", "[CLASS:Edit; INSTANCE:1]", $fileList[1])
        Sleep(30)
        ControlClick($OPEN_DLG_TITLE, "", "[CLASS:Button; INSTANCE:1]")
    
        For $i = 2 to $fileList[0]
            _WinWaitActivate($AVIDEMUX_TITLE, "")
            Send("{CTRLDOWN}a{CTRLUP}")
            _WinWaitActivate($APPEND_DLG_TITLE, "")
            Sleep(30)
            ControlClick($APPEND_DLG_TITLE, "", "[CLASS:ToolbarWindow32; INSTANCE:3]", "left", 1, 1, 1)
            Sleep(30)
            Send("{CTRLDOWN}c{CTRLUP}")
            If ClipGet() <> $selectedFolder Then
                Send($selectedFolder)
                Send("{ENTER}")
            EndIf
            Sleep(30)
            ControlSetText($APPEND_DLG_TITLE, "", "[CLASS:Edit; INSTANCE:1]", $fileList[$i])
            Sleep(30)
            ControlClick($APPEND_DLG_TITLE, "", "[CLASS:Button; INSTANCE:1]")
        Next
    
        MsgBox(64, "AviJoin Completed", "All AVI files have been joined. You can now save your Avidemux project.")
    EndFunc
    
    Func _WinWaitActivate($title,$text,$timeout=0)
    	WinWait($title,$text,$timeout)
    	If Not WinActive($title,$text) Then WinActivate($title,$text)
    	WinWaitActive($title,$text,$timeout)
    EndFunc
    Quote Quote  
  17. Hi, I hope it's okay if I use this topic for my question...
    I was just wondering if it is possible to join two mp4 files into one WITHOUT RE-ENCODING in XviD4PSP? Because re-encoding usually doesn't make the output better.
    Actually, I have to join and hardsub 7 videos, also upscale them, and currently I made a single .ass subtitles file and trying this:
    1) Put them in a row in XviD4PSP
    2) Attach the subtitles file
    3) Set the upscaling and conversion settings
    4) Convert it
    But since the combined video is rather long (1.5 hours) and it takes long as to convert all this at once, I'm also considering another way: hardsub/upscale the separate files and just join them after that. In this case, I would like to avoid the second re-encoding, so...
    Quote Quote  
  18. Originally Posted by cedricm View Post
    Hi all,

    I made an AutoIt script for doing this easily in conjunction with Avidemux

    Code:
    #cs
    ---------------------------------------------------------------------------
    AviJoin 1.0 AutoIt script by Cédric M.
    Feel free to modify. The script has only been tested on Windows 8.1.
    
    How to use:
    Step 1) Start Avidemux
    Step 2) Run script
    Step 3) Select folder with AVI files to join (at least 2 files required)
    Step 4) Wait until all files have been joined
    Step 5) Save the Avidemux project
    ---------------------------------------------------------------------------
    #ce
    
    #include <Array.au3>
    #include <File.au3>
    
    Opt("WinTitleMatchMode", 2)
    
    Global Const $OPEN_DLG_TITLE = "Select AVI File..."
    Global Const $APPEND_DLG_TITLE = "Select AVI File to Append..."
    Global Const $AVIDEMUX_TITLE = "Avidemux"
    
    AviJoin()
    
    Func AviJoin()
        $selectedFolder = FileSelectFolder("Select folder with video files to be merged.", "")
        $fileList = _FileListToArray($selectedFolder, "*.avi")
        If $fileList = "" Or $fileList[0] < 2 Then
            MsgBox(16, "AviJoin Error", "Not enough AVI files found in the specified folder.")
            Exit
        EndIf
        _WinWaitActivate($AVIDEMUX_TITLE, "")
        Send("{CTRLDOWN}o{CTRLUP}")
        _WinWaitActivate($OPEN_DLG_TITLE, "")
        Sleep(30)
        ControlClick($OPEN_DLG_TITLE, "", "[CLASS:ToolbarWindow32; INSTANCE:3]", "left", 1, 1, 1)
        Sleep(30)
        Send("{CTRLDOWN}c{CTRLUP}")
        If ClipGet() <> $selectedFolder Then
            Send($selectedFolder)
            Send("{ENTER}")
        EndIf
        Sleep(30)
        ControlSetText($OPEN_DLG_TITLE, "", "[CLASS:Edit; INSTANCE:1]", $fileList[1])
        Sleep(30)
        ControlClick($OPEN_DLG_TITLE, "", "[CLASS:Button; INSTANCE:1]")
    
        For $i = 2 to $fileList[0]
            _WinWaitActivate($AVIDEMUX_TITLE, "")
            Send("{CTRLDOWN}a{CTRLUP}")
            _WinWaitActivate($APPEND_DLG_TITLE, "")
            Sleep(30)
            ControlClick($APPEND_DLG_TITLE, "", "[CLASS:ToolbarWindow32; INSTANCE:3]", "left", 1, 1, 1)
            Sleep(30)
            Send("{CTRLDOWN}c{CTRLUP}")
            If ClipGet() <> $selectedFolder Then
                Send($selectedFolder)
                Send("{ENTER}")
            EndIf
            Sleep(30)
            ControlSetText($APPEND_DLG_TITLE, "", "[CLASS:Edit; INSTANCE:1]", $fileList[$i])
            Sleep(30)
            ControlClick($APPEND_DLG_TITLE, "", "[CLASS:Button; INSTANCE:1]")
        Next
    
        MsgBox(64, "AviJoin Completed", "All AVI files have been joined. You can now save your Avidemux project.")
    EndFunc
    
    Func _WinWaitActivate($title,$text,$timeout=0)
    	WinWait($title,$text,$timeout)
    	If Not WinActive($title,$text) Then WinActivate($title,$text)
    	WinWaitActive($title,$text,$timeout)
    EndFunc
    Lot of us reading this don't understand how to use it. You say "I made an AutoIt script..." but you don't explain where to find it. Is it the page here called Code, starting #cs? How do we get it into the Avidemux? I've got Avidemux 2.6.12, how do I run the script?
    Thanks
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!