audio - FFmpeg:如何将多个单声道文件合并为一个多声道文件?
问题描述
我有例如 3 个单声道 wav 文件。我想将它们加入一个具有 3 个通道(不是 2.1)的波形文件中。此波的持续时间应继承自单声道文件的最长持续时间。我尝试了许多命令,但没有一个给我预期的结果。你能帮忙吗?
解决方案
apad + 加入
一种方法是在两个较短的输入上使用apad,然后将它们与连接过滤器混合:
ffmpeg -i front_left.wav -i front_right.wav -i front_center.wav -filter_complex "[0]apad[FL];[1]apad[FR];[FL][FR][2]join=inputs=3:channel_layout=3.0:map=0.0-FL|1.0-FR|2.0-FC" output.wav
apad + amerge + 频道图
与上面类似,但必须添加通道映射(或平移),因为amerge没有映射功能并且假定为 2.1 而不是 3.0:
ffmpeg -i front_left.wav -i front_right.wav -i front_center.wav -filter_complex "[0]apad[FL];[1]apad[FR];[FL][FR][2]amerge=inputs=3,channelmap=map=FL-FL|FR-FR|LFE-FC" output.wav
- 您可以使用
ffprobe
来获取文件持续时间。 ffmpeg -layouts
将提供接受的频道名称和布局的列表。
推荐阅读
- npm - [错误:未指定的 GSS 故障。次要代码可能会提供更多信息:没有找到匹配的键表条目
- elasticsearch - 在 Kibana 中显示未解决问题的时间序列
- unity3d - 为什么我的 3D 对象没有显示在 Unity 画布中?
- javascript - 指针事件:无在移动设备上不起作用
- scripting - 导入导出脚本
- github - 在自定义域错误的子域中发布 Github 页面
- oracle - SQL 错误:ORA-14006:移动分区时分区名称无效
- sql - 在动态查询中获取输出
- ios - 最后一个 UITableViewCell 没有分隔线
- history - m4什么时候有评论功能了?为什么?