5

オーディオ クリップとビデオ クリップの配列があり、各オーディオ クリップはビデオ クリップと 1:1 の相関関係にあります。各ビデオと各オーディオ クリップのエンコードは同じです。すべてのオーディオ クリップとすべてのビデオ クリップを連結し、それらを結合してビデオを出力するにはどうすればよいですか。今のところ、1 つのオーディオ クリップを 1 つのビデオ クリップにマージする方法しかわかりませんでした。

$ ffmpeg -i video_1.webm -i audio_1.wav -acodec copy -vcodec copy output.mkv

更新 したばかりmkvmergeの場合、これはおそらくより良いオプションでしょうか?

4

2 に答える 2

8

すべてのファイルが同じコーデックでエンコードされている場合は、簡単に実行できます。最初に、既に行ったようにオーディオ ファイルとビデオ ファイルをマージして、ファイルの各ペアが 1 つの mkv に含まれるようにします。次に、次のように concat demuxer でそれらを連結できます。

ffmpeg -f concat -i <(printf "file '%s'\n" ./file1.mkv ./file2.mkv ./file3.mkv) -c copy merged.mkv

また:

ffmpeg -f concat -i <(printf "file '%s'\n" ./*.mkv) -c copy merged.mkv

また、mergelist.txt (または任意の名前) という名前のテキスト ファイルに 1 行に 1 つのファイルをリストすることもできます。つまり、次のようになります。

file './file1.mkv'
file './file2.mkv'
file './file3.mkv'

次に、それを入力として使用します。

ffmpeg -f concat -i mergelist.txt -c copy merged.mkv

これは、ファイルを再エンコードせず、ファイルを 1 つずつ並べるだけなので、目的を達成するための最も簡単で最速の方法です。

于 2014-02-20T02:55:33.367 に答える
4

この古い質問であなたの答えを見つけることができます:

ffmpeg を使用して 2 つの mp4 ファイルを連結する

この回答は MP4 に限定されません。ただし、連結するファイル形式によって異なります。

新しい VIDEO ファイルと AUDIO ファイルを取得したら、それらをマージするには:

ffmpeg -i AUDIO -i VIDEO -acodec コピー -vcodec コピー 出力

于 2013-09-10T05:36:53.843 に答える