Does anyone know of software (preferably free) which can be used to divide up a video or audio file into a number of smaller sized pieces at regular intervals? (e.g. to turn a 3-hour video file into nine 20-minute video files)?
2 Answers
FFmpeg's segment muxer is designed for this.
ffmpeg -i in.mp4 -c copy -f segment -segment_time 1200 -reset_timestamps 1 in%d.mp4
Output files will be in0.mp4
, in1.mp4
...
Since the video keyframes in the source file may not be present exactly at the start of each 20 minute interval, the output segments won't be exactly 20 minutes each. Expect a deviation of a few seconds.
Try avidemux. Alternatively, if you're comfortable with command-line tools, you can use ffmpeg
. Here's an answer from Ask Ubuntu that shows how to do it.