【ffmpeg】動画・音声を連結する concat の使い方 其の3

前回記事は無劣化で連結する方法を紹介したがコンテナフォーマットが限られていた。今回紹介する方法は同じ解像度や fps など同じエンコード形式ならば多くのコンテナフォーマットで連結ができる。

【ffmpeg】動画・音声を連結する concat の使い方 其の2

追記 2016年4月3日
Unsafe file name というエラーが出るので safe オプションを足した。
FFmpeg Formats Documentation :: concat < Syntax < Options
[FFmpeg-user] FFMeg Concat giving "unsafe file name" error on new server install
FFmpeg-users - protocol CONCAT has broken In last versions

基本コマンド
ffmpeg -f concat -safe 0 -i input.txt -c copy output.mp4

このコマンドは入力ファイルをテキスト形式で読み込んでそれを上から順番に連結する方法である。

input.txt の内容
file E:/video/test1.mp4
file E:/video/test2.mp4
# ffmpeg -f concat -safe 0 -i input.txt -c copy output.mp4
# test1.mp4, test2.mp4 の順番に連結

# 行は実行されないコメント扱いになる。
注意点はフルパスを指定するときに \ ではなく / で指定すること。

この方法が前回記事の -i concat: 形式よりも優れているのは入力ファイル形式に制限がおそらくないと言うこと。.mp4 や .flv をそのまま連結でき、連結しながらもコンテナ変換もできる。たとえば、H.264/AAC の FLV 動画を MP4 動画として出力することもできる。

ffmpeg -f concat -safe 0 -i input.txt -c copy output.mp4

input.txt の内容
file E:/video/test1.flv
file E:/video/test2.flv

関連記事


FFmpeg Formats Documentation :: concat
Concatenate – FFmpeg
ニコ生のTSを無劣化で連結する Andy's FLV Joiner
関連記事

この記事へのコメント

st2017/07/18 (火) 05:09:41

大変参考になりました。HLSのaac断片ファイルをffmpegで結合する
ために使いました。2000個を超えることもあるので、3番目が絶対で
す。aacの無変換の結合ソフトは殆どありません。猛スピードで結合
され、2000個がわずか30秒くらいです。参考のバッチは---

断片のファイルを、専用の別フォルダに移して名前の昇順としますが、
このフォルダに次のバッチファイルをNotePadなどにコピーして、
aac-ffmpeg-join.batなどとして保存し、さらにffmpeg.exeをコピーして
置いて下さい。

if exist output.aac del output.aac
if exist list.txt del list.txt
dir *.aac /b /a-d > list.txt
if exist dst.txt del dst.txt
for /f "delims=" %%l in (list.txt) do @echo file^ %%l >> dst.txt
ffmpeg -f concat -safe 0 -i dst.txt -c copy output.aac

ここでこのバッチファイルaac-ffmpeg-join.batをダブルクリックで起動
します。これで結合が行われ、output.aacとして作成されます。
約2000個のファイルを約30秒程度で結合します。結合が終了したら、すべての
xxxxx.aacを削除して、次のデータに備えます。できたoutput.aacは移動
した方がよいでしょう。存在していると、次回に削除されます。

-2017/07/19 (水) 18:04:11

他サイトではMP4でも下記のような形で結合できるように書いてあったが、自分がやったらエラーが出ました。

ffmpeg -i "concat:1.mp4|2.mp4|3.mp4" -c copy dst.mp4
エラー
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000000000492400] Found duplicated MOOV Atom. Skipped it
※このエラーメッセージについては海外の人も質問してるのをいくつか見つけました。

MP4だから?と思い、仰るファイルリスト読み込み方式でやってみたら、見事にMP4の無劣化結合できました。非常に助かった!

やらかし2018/02/07 (水) 07:06:05

連結方法(動画を繋げる)方法は色々あるのですが、結合方法(Video、audio、subtitleを一つにする)が書かてれいるサイトが殆どない状態です

-safe 0 concatの記載などは見つけたのですが、それだとsafe 0が分からんとエラー…
特にalacを使用したい場合が上手くいかず困っております(alacもffmpegを使用しエンコードした物を使用)

お力添えいただけると幸いです

ロベルト2018/02/07 (水) 20:36:25

映像と音声、字幕を合わせる方法について追記したのでこちらを参照ください。
【ffmpeg】 マルチトラックの動画の作り方
https://looooooooop.blog.fc2.com/blog-entry-960.html

管理人のみ通知 :

トラックバック


ニコニコチャンネル始めました
ニコラボチャンネル
スポンサード リンク
新着記事と追記・編集記事
スポンサード リンク
ブログ内検索
カテゴリ
アクセスの多い記事
記事アーカイブ

最新コメント
リンク
免責事項
当ブログはリンクフリーです。記事によりトラブルが生じた場合でも、当ブログ管理人は一切の責任を負いません。 当ブログに記載されている情報の正誤や利用は、ご自身の判断でお願いします。 紹介したアプリケーションに関する問い合わせは作者に問い合わせてください。ニコニコ動画に関する質問はまずは公式掲示板、2ch、各Q&Aサイトを参照ください。
ブログの読者になる(RSS)