我有不同的视频格式(主要是.mkv
,但也有.wmv
和.mp4
)。是否可以使用命令行将这些不同的格式合并到一个视频中?
我正在使用由 Ubuntu 14.04 x64 驱动的无头服务器。
答案1
ffmpeg -i video1.mov -i video2.mkv -filter_complex "[0:v:0] [0:a:0] [1:v:0] [1:a:0] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" -c:v libx264 output.mp4
如果您有更多文件,则需要在filter_complex
参数部分映射它们(即...[2:v:0] [2:a:0] [3:v:0] 等)
来自文档:
n=2 告诉过滤器有两个输入文件;v=1 告诉它将有一个视频流;a=1 告诉它将有一个音频流。[v] 和 [a] 是输出流的名称,以允许 ffmpeg 行的其余部分使用 concat 过滤器的输出。
答案2
是的,可以。如果使用的编解码器不同,此步骤还将包括转码。如果相同,则内容将被复制过来。详细指南可在此处找到:https://trac.ffmpeg.org/wiki/Concatenate