Hacker Public Radio

Your ideas, projects, opinions - podcasted.

New episodes Monday through Friday.

HPR4077: FFMPEG Series: Joining and Splitting files

Hosted by Mr. Young on 2024-03-19 00:00:00
Download or Listen

FFMPEG Series Part 2: Joining and Splitting files

Joining Files

Link: https://trac.ffmpeg.org/wiki/Concatenate

For lossless files of the same codecs

ffmpeg -i "concat:input1.ts|input2.ts|input3.ts" -c copy output.ts

For mp4 files, using intermediate files

ffmpeg -i input1.mp4 -c copy intermediate1.ts
ffmpeg -i input2.mp4 -c copy intermediate2.ts
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy output.ts

Brief explanation of the options used in the command:

  • -i: input
  • -c copy: use codec same codecs as input

Splitting Files

Splitting by Duration:

ffmpeg -i input.mp4 -t 00:05:00 output_part1.mp4
ffmpeg -i input.mp4 -t 00:05:00 -ss 00:05:00 output_part2.mp4

Brief explanation of the options used in the command:

  • -i: Input file
  • -t: Duration of the output file
  • -ss: Start position of the output file (optional)

Splitting by Chapters or Markers:

Use additional scripting to get out chapter marker times, then use above

C. Splitting by Size:

ffmpeg -i input.mp4 -map 0 -c copy -segment_size 50M -segment_times 1 output_%03d.mp4

Brief explanation of the options used in the command:

  • -map 0: Select the first stream (video and audio)
  • -c copy: Copy the stream without re-encoding (faster)
  • -segment_size: Size of each output file segment
  • -segment_times: Number of segments to create
  • output_%03d.mp4: printf-style pattern for the output files


More Information...

Copyright Information

Unless otherwise stated, our shows are released under a Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) license.

The HPR Website Design is released to the Public Domain.