FFmpeg concat过滤器

问题描述 投票:0回答:1

我有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.

我之所以出现这种错误消息,是因为第二个视频没有音频,我将音频分隔开了,但问题是如何使其正常工作或有可能吗?

提前感谢。

filter ffmpeg concatenation concat video-processing
1个回答
0
投票

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
© www.soinside.com 2019 - 2024. All rights reserved.