FFmpeg 连接过滤器
FFmpeg concat filter
我有 2 个相同的视频。其中一个视频没有音频,我想 concat
它们。
video1 = 1 video stream + 1 audio stream.
video2 = 1 video stream.
the result should be 1(concatenated) video stream, 1 audio stream
我试过了
ffmpeg -i videoonly.mov -i video+audio.mov -filter_complex "[0:v][0:a] [1:v] [1:a] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" out.mov
但它不起作用并打印错误消息
Stream specifier ':a' in filtergraph description [0:v][0:a] [1:v] [1:a] concat=n=2:v=1:a=1 [v] [a] matches no streams.
我排除了这种错误消息,因为第二个视频没有音频,我对音频进行了区分,但问题是如何让它工作或可能吗?
提前致谢。
concat 过滤器需要每个片段中的匹配对,因此如果其中一个片段没有音频,您应该提供一个虚拟流。下面,我使用anullsrc过滤器生成一个。
ffmpeg -i videoonly.mov -i video+audio.mov -f lavfi -t 1 -i anullsrc -filter_complex "[0:v][2:a] [1:v] [1:a] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" out.mov
我有 2 个相同的视频。其中一个视频没有音频,我想 concat
它们。
video1 = 1 video stream + 1 audio stream.
video2 = 1 video stream.
the result should be 1(concatenated) video stream, 1 audio stream
我试过了
ffmpeg -i videoonly.mov -i video+audio.mov -filter_complex "[0:v][0:a] [1:v] [1:a] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" out.mov
但它不起作用并打印错误消息
Stream specifier ':a' in filtergraph description [0:v][0:a] [1:v] [1:a] concat=n=2:v=1:a=1 [v] [a] matches no streams.
我排除了这种错误消息,因为第二个视频没有音频,我对音频进行了区分,但问题是如何让它工作或可能吗?
提前致谢。
concat 过滤器需要每个片段中的匹配对,因此如果其中一个片段没有音频,您应该提供一个虚拟流。下面,我使用anullsrc过滤器生成一个。
ffmpeg -i videoonly.mov -i video+audio.mov -f lavfi -t 1 -i anullsrc -filter_complex "[0:v][2:a] [1:v] [1:a] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" out.mov