首页 > 解决方案 > FFmpeg:如何将多个单声道文件合并为一个多声道文件?

问题描述

我有例如 3 个单声道 wav 文件。我想将它们加入一个具有 3 个通道(不是 2.1)的波形文件中。此波的持续时间应继承自单声道文件的最长持续时间。我尝试了许多命令,但没有一个给我预期的结果。你能帮忙吗?

标签: audioffmpeg

解决方案


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


推荐阅读