ffmpeg - 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.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 的视频持续时间。
推荐阅读
- java - 无法从中获取标识符
- firebase - Firebase 存储管理员 - 未指定存储桶 -
- ruby-on-rails - 使用 Rspec 3 测试 ActiveAdmin - 一些控制器操作未命中
- java - 在 Android Studio 2.3.2 中使用 Java 8 不起作用
- gulp - 服务器端包括使用 browserSync-SSI 和 gulp?
- android - TypeError:无法读取 ionic 4 for android 中未定义的属性“openDatabase”
- python-3.x - 如何在 Google Colab 中从源文件(Google Drive)创建 zipfiles
- c# - OleDbCommand ExecuteNonQuery() 性能问题
- angular - 如何取消订阅观察者?
- postgresql-9.1 - 将远程 postgresql 9.1 数据库迁移到本地 postgresql 11