How can I mix two movies together before I handbrake them?
Solution 1
How to approach this
If you have two input movies, and want to generate one output movie, you should try not to re-encode them as you go, but rather take the original bitstream.
In your case, the possibilities are either:
VideoTS Part 1 → MP4 Part 1
VideoTS Part 2 → MP4 Part 2
MP4 Part 1 & MP4 Part 2 → Final MP4
… or:
VideoTS Part 1 & VideoTS Part 2 → Intermediate Video
Intermediate Video → Final MP4
Concatenating with MP4Box
I would choose the first option since I don't know if there's any tool that would take the "raw" DVD files and concatenate them for you.
You can simply use Handbrake to encode the videos to MP4 files with appropriate settings (e.g. using the iPhone or iPod presets). It's important you choose exactly the same settings for both videos.
Then, use MP4Box to concatenate those:
mp4box -cat video-a.mp4 -cat video-b.mp4 final.mp4
Why you shouldn't re-encode
The important part is that you actually use a tool like MP4Box to concatenate the videos, and not a Non Linear Editor like Windows Movie Maker. As far as I know, WMM will not allow you to just copy the h.264 codec bitstreams, but needs to re-encode the video after you've concatenated them.
This means that you will experience generation loss, like you know from JPEG images. It might not be noticeable, but I don't know how good Windows Movie Maker's encoder even is to begin with. I would doubt the quality would be the same.
Solution 2
I haven't been able to do it in Handbrake (Kev's answer suggests it's possible with batch conversion but that doesn't work for me) but ffmpeg supports it using its concatenate feature. Concatenate multiple input files and encode the video stream with x264 and copy the audio stream to a single MP4 output file:
ffmpeg -f concat -i files.txt -c:v libx264 -crf 22 -c:a copy output.mp4
files.txt
is a list of input files in the format
file '/path/to/file1'
file '/path/to/file2'
Solution 3
There is no need to re-encode. To combine the .VOB files in the VideoTS folder:
- Copy them to your harddrive.
- Open a DOS command prompt
- Go to the directory where you copied the files
-
and the use the following command
copy /B VTS_xx_1.VOB+VTS_xx_2.VOB newmovie.mpg
For xx use the number from the actual file information.
This will combine them into a single mpg output file that you can then Handbrake into a smaller file by selecting an mp4 format. You should Handbrake them or the resulting file will have timing issues. E.g. a 2 hour movie may show as 5 minutes in length.
Generally the VOB file size(s) are 1,073,739,776 plus one remainder file To be sure, play the VOB files first by double-clicking them to make sure they are the ones you want.
Related videos on Youtube
jcolebrand
I'm now working for a group out of Plano, doing primarily front-end work for mobile and online banking for credit unions. Time for me to get involved in the local user groups! You probably want to gmail me if you need me directly. If I have to tell you what gmail address to guess at, you're not trying hard enough. Everything else can be found at http://jcolebrand.info
Updated on September 18, 2022Comments
-
jcolebrand almost 2 years
How can I mix two movies together before I handbrake them?
I've got a two part movie on my disk as a pair of VideoTS folders. I want to generate one output movie. I plan on using handbrake to do the encoding, unless someone can point out a better way to do it. The final intent is to create a video file for my iPhone or iPod. I've got about 90 videos already like this, but never done a two-parter.
Am I forced to handbrake it and then reauthor it using another platform? I can do that, but figured there was an easier way to do it. If there is another bit of software that changes my workflow but does this in less steps, I can accept that as an answer as well.
If there isn't a way to combine the two into one video file neatly, then my choice will be to open it in something like Windows Live Movie Maker and just mix the two input mp4/m4v into one file.
-
HikeMike over 12 yearsJust remove the first paragraph and the name of the movie and nobody will care. There are enough free movies, or movies you could have created yourself, to make this a generally useful topic without implied legal issues.
-
jcolebrand over 12 yearsThink so? I wasn't sure.
-
slhck over 12 yearsYeah, never saw somebody ranting about that here, like ever. Basically, you don't want to ever re-encode anything. I would suggest to rip them both to h.264 / MP4 using Handbrake and the exact same settings, then merging them with a tool like MP4Box.
-
jcolebrand over 12 yearsSo technically, @slhck, I want to ask how to reflow two video files together with something like MP4Box instead of asking how to do it with handbrake? Reckon I should start a new Q and leave this one for the googlers?
-
slhck over 12 yearsNo, it's fine to stay. The solution is kinda the same, I guess. I'm just trying to find out how to do that all on Windows :)
-
jcolebrand over 12 yearsIf you do type it up as an answer, I think you should definitely include about how re-encoding would be bad here, since I mentioned that. :-\
-
slhck over 12 yearsAs always, let me know if you experience any problem with this approach. It worked for me – but it's always difficult to answer for another system.
-
jcolebrand over 12 yearsI'm in the process of encoding the two videos according to the first part of the process, and will then run the MP4Box afterwards, and then will test watch on my iPod/iPhone later tonight. Let you know after that point.
-
-
jcolebrand over 12 yearsNew tool and everything! Yay workflows! I honestly didn't think it would cause generation loss to do that in WMM, but now that you point it out, that makes some sense. I thought maybe Handbrake could do the job alone. Ah well, this will be great!
-
phuclv over 10 yearsYou should fix your answer in order for it to be understand easily. And don't place a bullet without a list like that
-
kynan over 9 yearsDoesn't work for me. Handbrake only encodes one title at a time, couldn't find an option for merging.
-
some user about 8 yearsdoesn't work for me either. Using v0.10.0
-
white_gecko about 8 yearsI would even recommend
ffmpeg -f concat -i files.txt -c:v copy -c:a copy output.mp4
(resp.output.avi
or similar), which is faster and does no re-encoding as @slhck recommends. -
SteveLambert over 2 yearsFor
files.txt
note thatfile
is not a placeholder. It should be written, literally, each time, in front of each file path.