FFmpegでMP4を結合(concat)するワンライナー

FFmpegでMP4を結合(concat)するワンライナー。

少ない元ファイルのFFmpeg concat

ffmpeg -i "concat:1.mp4|2.mp4|3.mp4" -c copy dst.mp4

大量の元ファイルのFFmpeg concat

ffmpeg -f concat -safe 0 -i <(for f in src/*.mp4; do echo "file '$PWD/$f'"; done) -codec copy dst.mp4

src/ 以下に結合したいMP4ファイルを置いて、 dst.mp4 として出力。

-codec copy の指定でトランスコードせずにそのまま出力しているので、出力をMP4以外にする時や、コーデックを変更するときは外して別オプションを指定。

この書き方だと src/**/*.mp4 みたいに入れ子をまとめられないので、必要なら ls src/**/*.mp4 | xargs -I{} mv {} src/ でまとめると楽。

Share Comments
comments powered by Disqus