†ぽんこつビデオ工房†
作成開始日 2017.07.13
最終更新日 2020.01.31
例)inp1.vob、inp2.vob、inp3.vobの3本のファイルを1本のvobファイルにまとめる。
ffmpeg -i "concat:inp1.vob|inp2.vob|inp3.vob" -c copy out.vob
【参考】VOB/MPEG系では、コマンドラインのCOPYコマンドを用いて、「COPY /B inp1.vob+inp2.vob+inp3.vob out.vob」としてもバインド可能。ただし、この方法では、時間情報に不整合が起きるので、やはり最後にffmpeg -c copyで素通し変換を掛ける方がよい。
例)inp1.mp4、inp2.mp4、inp3.mp4の3本のファイルを1本のaviファイルにまとめる。なお、コーデックはh.264とする。
ffmpeg -i inp1.mp4 -i inp2.mp4 -i inp3.mp4 -vcodec libx264 -filter_complex "concat=n=3:v=1:a=1" out.avi【注意】「concat=n=3」がバインドするファイルの本数指定。本数を変更する場合、指定を忘れやすいので注意。
例)mov1.mp4、mov2.mp4、mov3.mp4…を無損失(再エンコなし)でバインドする
ffmpeg -f concat -i list.txt -c copy out.mp4ここで、list.txtの中身は;
file mov1.mp4 file mov2.mp4 file mov3.mp4 … ……のように、「file」に続けてファイル名を列挙したのもの。なお、パス付きのファイル名を使用する場合は「-safe 0」オプションが必要。また、ファイル名はシングルクオート(')で括ることができるが、ダブルクオート(")はダメらしい。