I'm trying to join videos from two different cameras, which record in different formats, but they're both MP4. I'm trying to save the re-encoding time, by changing the settings in the camera somehow. My first camera is on the HTC One M9. And my second camera is on the Pivothead Durango. Here's a little bit more about the information of the recorded file formats:
The left side is the HTC and the right side is the Pivothead.
Also, from MP4Joiner, which I use. It usually re-encodes the files which are not a match to the rest, which I'm trying to avoid.
The first one is Pivothead and second one is HTC.
Any help would be greatly appreciated! Thanks!
+ Reply to Thread
Results 1 to 7 of 7
From what I can tell, there is no way to change these specific settings manually, but maybe there is a way to hack them?
It's probably not going to be easy.
There are potentially 100's of different things that can cause bitstreams to not join properly, and not all the things are shown in your screenshots (you need low level stream analyzers to see additional details)
But if we ignore the bitstream video issues for a moment, it's also going to be difficult to keep them in sync, because the first one is a phone recording and uses variable frame rate . Normally you can only join videos that have the same frame rate. But if you are able to join bitstreams, you can edit the timecodes manually and make a VFR output. You'd basically have to copy the VFR timecodes for the 1st file, and add the 1 entry offset for the second file (asssuming it's CFR). If the 2nd one is VFR as well, you'd have to offset all entries for the 2nd one (CFR will only have 1 entry)
Even if you can't join the bitstreams with "normal" methods, there are some methods such as re-encoding a small segment of the 1st part of the 2nd (the 1st GOP, usually about 1 second), then joining them
(and there is no consistent way to "Hack" phones to record CFR)
Is there a program where I can do what you suggested?
First thing I would try is the ffmpeg concat demuxer method as detailed in the link below - because that is "easy" compared to what's next if that doesn't work
So if that doesn't work, you need to analyze the low level settings with a stream analyzer. The only free one is h264_parse (commandline) . Then you want to emulate the settings with x264 as close as possible, use --stitchable settings and set --sps-id to create a "bridge" segment with one GOP of one of the files that you cut off (that small section, probably 30 frames or so or 1 GOP length needs to be re-encoded) . You then use a binary join for the 3 segments . To edit timecodes, you can use notepad or any text editor. You then need to remux with the edited timecodes to make it VFR of the joined file. If you use search I've detailed the --sps-id method with better instructions in other threads - it's not easy to do for most people that don't use commandline, x264 etc...
You can also try retail programs like videoredo, or solveigmm video splitter, etc... try the trial versions - but the binary join method works even in cases where those programs fail or have sync problems. But they are definitely easier to use for most people
Last edited by poisondeathray; 1st Mar 2016 at 13:39.
Any updates? Did it work?