GoPro Chaptered Video Assembler
GoPro breaks long videos into multiple files. This utility stitches them back together.
Quickstart
# Install from cargo
# Run the tool
Why does this exist?
I shoot a lot of long-form videos on my GoPro. Any video longer than a few minutes gets split into multiple files. These are unpleasant to deal with when it's time to edit -- it's tedious and time-consuming to reassemble them. Here's an example of the output structure for multiple long videos:

Figuring out which video goes where did not spark joy. So, this tool does it for me.
It is:
- Easy to use
- Lossless (thanks to
mp4-merge) - Non-destructive (will never delete your data without asking)
- End-to-end tested with real GoPro videos
- Compatible with Linux, macOS, and Windows
Why can't you sort the files by creation time in the video editor?
- Not all video editors conveniently support this workflow. Here's how you do this in Premiere Pro. It's not exactly a one-click operation.
- Even if this were easy to do, it's the wrong mental model for the clips. When you record the footage, it's one continuous clip. So you should be working with it as one file, too.
How does it work?
When you record long-form videos on a GoPro, the videos get split into ~4GB chunks. In the file naming conventions spec, GoPro refers to these as chaptered video files.
The naming scheme is:
)
Here is an example directory structure for a single GoPro video (about ~10min long) that was split into three chapters.
And here's that example with multiple chaptered videos.

You can see how this gets complicated quickly.
This tool gives you one single output directory with your GoPro footage
All output files will have the form: GoPro_{video_number}.MP4.
For Multichapter Videos...
It finds and combines multi-chapter videos using mp4-merge. If a multi-chapter merge operation is done, a set of commands will be printed at the end to clean up the original source directory. These commands are destructive, and therefore need to be run manually.
For Single Chapter Videos...
It renames, or copies (if you use --no-single-chapter-rename), single chapter videos.
Installation
This package is available on crates.io.
Building and Installing Source
$ git clone https://github.com/alichtman/gopro-chaptered-video-assembler
$ cd gopro-chaptered-video-assembler
# Compile
$ cargo build
# Run dev build
$ cargo run -- [ARGUMENTS]
# Install to machine
$ cargo install --path .
Debugging in VSCode works well.
Example Usage
)
)
)
The output directory will be created (in the current directory if a relative path is given, or at an absolute path otherwise), and all output files will be found there.
Additionally, paths with apostrophes (and other special characters) are supported:
Which GoPro models are supported?
Any GoPro model that uses the GoPro file format linked above should be supported. This includes:
- HERO11 Black / Black Mini
- HERO10 Black
- HERO9 Black
- HERO8 Black
- HERO7 White / Silver / Black
- HERO6 Black