有没有办法在内部实现与以下代码相同的效果-filter_complex
?这样我就可以避免运行两个不同的命令来执行我需要的操作。
ffmpeg \
-f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 \
-i media.mov \
-c:v copy \
-c:a aac \
-shortest \
output.mov
上面的代码起什么作用? 向视频添加静音的音频流。
我为什么需要这么做? 因为这个视频是我系统的用户输入的,我从来不知道输入的视频是否有音频流。之后我要把这个视频和另一个视频连接起来,ffmpeg 上的 concat 命令要求所有输入媒体具有相同数量的流正如你在这里看到的。
答案1
这应该有效:
ffmpeg \
-i media.mov \
-filter_complex "anullsrc=r=44100:cl=stereo[a]" \
-map 0:0 -map "[a]" \
-c:v copy \
-c:a aac \
-shortest \
output.mov
看anullsrc 过滤器, 和流选择图