The GoPro cameras split recorded video into 4GB or 12GB chunks depending on the camera and the SD card filesystem - but despite searching around the internet and asking around on forums, there seems to be absolutely no way to merge these files together in a way that keeps all metadata intact, including the timecode section and the GoPro metadata stream.
ffmpeg, even in its newest version, can combine the video and audio streams just fine, but A) it modifies the stream metadata and B) it doesn't correctly copy/merge the Timecode and the GoPro metadata stream with all the GPS and Gyroscope data. Neither does the "ReelSteady-Joiner", because it's just a GUI for ffmpeg. The provided udtacopy program from the link above copies the global file metadata, but not the stream metadata, and it also doesn't do anything about the GPMD and TMCD streams.
This means that I can merge the video files together to view them in normal programs or upload to YouTube or do whatever with them, but I always need to archive / store the original split files as well, just in case I need to access the GPS/Gyro/other GoPro metadata later, because there's no tool that can merge these.
I see three possible ways this annoying issue could be fixed:
A GoPro Labs QR code feature that completely disables chaptering. This should be an option for people who like to have it, but it's also not ideal because one issue with the SD card could ruin a hour-long video if the file gets corrupted.
Continue splitting the video files, but in a binary-compatible way so one can just do copy \B GX010009.MP4 + GX020009.MP4 fullvideo.MP4, or on Linux, cat GX010009.MP4 GX020009.MP4 > fullvideo.MP4 to get a joined/merged video with all the metadata intact and a proper GPS data stream. So, once the cam hits the 4G/12G limit, just close the file, open a new one, and continue writing, instead of writing a whole new MP4 stream file.
Release a piece of software similar to the already existing udtacopy that properly joins together chaptered video files, keeping the time code and the GPMD stream completely intact with all its contents and all metadata. Or, ideally, get support for that into the open-source FFMPEG so that that tool can handle losslessly joining GoPro chapters.
Is this something that could potentially be added?
The GoPro cameras split recorded video into 4GB or 12GB chunks depending on the camera and the SD card filesystem - but despite searching around the internet and asking around on forums, there seems to be absolutely no way to merge these files together in a way that keeps all metadata intact, including the timecode section and the GoPro metadata stream.
There's a section on the GoPro Labs page - https://gopro.github.io/labs/control/chapters/ - that explains how to merge chapters, but that doesn't work correctly.
ffmpeg, even in its newest version, can combine the video and audio streams just fine, but A) it modifies the stream metadata and B) it doesn't correctly copy/merge the Timecode and the GoPro metadata stream with all the GPS and Gyroscope data. Neither does the "ReelSteady-Joiner", because it's just a GUI for ffmpeg. The provided udtacopy program from the link above copies the global file metadata, but not the stream metadata, and it also doesn't do anything about the GPMD and TMCD streams.
This means that I can merge the video files together to view them in normal programs or upload to YouTube or do whatever with them, but I always need to archive / store the original split files as well, just in case I need to access the GPS/Gyro/other GoPro metadata later, because there's no tool that can merge these.
I see three possible ways this annoying issue could be fixed:
copy \B GX010009.MP4 + GX020009.MP4 fullvideo.MP4
, or on Linux,cat GX010009.MP4 GX020009.MP4 > fullvideo.MP4
to get a joined/merged video with all the metadata intact and a proper GPS data stream. So, once the cam hits the 4G/12G limit, just close the file, open a new one, and continue writing, instead of writing a whole new MP4 stream file.Is this something that could potentially be added?