Split video into equal segments

trimming

// what it does

-f segment activates the segment muxer, which writes the input to a series of files instead of one, and output_%03d.mp4 supplies the numbered filename pattern (output_000.mp4, output_001.mp4, …). -segment_time 00:10:00 targets ~10-minute pieces, -map 0 carries every stream from the input, -c copy avoids re-encoding, and -reset_timestamps 1 rebases each segment's timestamps toward zero so every file plays from the start. This is the standard way to chop one long recording into uploadable or size-limited chunks.

// shell

$ ffmpeg -i input.mp4 -c copy -map 0 -segment_time 00:10:00 -f segment -reset_timestamps 1 output_%03d.mp4

// gotcha

With -c copy the muxer can only split on keyframes, so each segment cuts at the first keyframe at or after its 10-minute mark and the pieces won't be exactly equal in length; omitting -reset_timestamps 1 leaves the original timestamps, causing players to think later segments start deep into the timeline.