我想从视频中获取音频,设置其音量,然后将它们重新合并(使用更多过滤器,但我认为它们与问题无关。)
我可以用以下方法做:
ffmpeg -i vid.mp4 -i input2.mp3 -filter_complex "[0:a]volume=0.5[a0];[a0][1:a]amix=inputs=2:duration=longest[audio]" -map v:0 -map "[audio]" -shortest out.mp4
但是,视频没有音频流,然后出现错误:Stream specifier ':a' in filtergraph description [0:a]volume=0.5[a0] matches no streams.
如果不为空,如何有条件地使用流?(如果它为空,我想要空的音频)。
答案1
还有一些过滤器,但我认为它们与问题无关
由于您没有显示实际的完整命令,我只能在下面回答您发布的命令,这可能不适用于完整命令。
切换到具有条件映射的简单音频过滤器图。
ffmpeg -i vid.mp4 -map 0:v -map 0:a? -filter:a:0 "volume=0.5" -shortest out.mp4