首页 > 解决方案 > FFMPEG如何在视频拼接时添加虚拟音频

问题描述

我正在尝试使用 FFMPEG 拼接几个视频并输出一个组合视频。我设法使用此命令获取所有视频流:

ffmpeg.exe -i 1.mov -i 2.mov -filter_complex "[0:v]scale=1920:1080[v0];[1:v]scale=1920:1080[v1];[v0][v1] concat=n=2:v=1[v]" -map "[v]" out.mp4

此外,要使用以下命令向视频添加虚拟音频:

ffmpeg.exe -i 1.mov -f lavfi -i aevalsrc=0 -shortest -i out.mov

上述命令完美运行,但是 2.mov 有音频流,而 1.mov 没有。

有没有什么方法可以为 1.mov 设置一个虚拟音频,然后一次合并来自 1.mov 和 2.mov 的视频和音频流,以便输出一个可以在剪辑 2 时播放声音的组合视频.mov。

标签: ffmpeg

解决方案


采用

ffmpeg.exe -i 1.mov -i 2.mov -f lavfi -t 1 -i anullsrc -filter_complex "[0:v]scale=1920:1080[v0];[1:v]scale=1920:1080[v1];[v0][2:a][v1][1:a] concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" out.mp4

-f lavfi -t 1 -i anullsrc添加一个无声的 1 秒音频输入,用作 1.mov 的视频输入的对应物。concat 过滤器将填充音频以匹配 1.mov 的视频持续时间。


推荐阅读