我有一个音频和视频片段的数组,其中每个音频片段与其视频片段具有1:1的对应关系。每个视频和音频片段的编码方式相同。如何将所有音频片段和所有视频片段连接起来,然后将它们合并在一起输出为一个视频。目前我只知道如何将一个音频片段与一个视频片段合并:
$ ffmpeg -i video_1.webm -i audio_1.wav -acodec copy -vcodec copy output.mkv
更新
我刚刚发现mkvmerge
,这可能是一个更好的选择吗?
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
file './file1.mkv'
file './file2.mkv'
file './file3.mkv'
ffmpeg -f concat -i mergelist.txt -c copy merged.mkv
这是目前最简单、最快速的方法,因为它不会重新编码文件,只是将它们一个接一个地排列起来。
您可以在这个旧问题中找到答案:
这个答案不仅限于MP4格式。但它将取决于您想要连接的文件格式!
一旦您有了新的VIDEO文件和AUDIO文件,将它们合并在一起:
ffmpeg -i AUDIO -i VIDEO -acodec copy -vcodec copy OUTPUT