如何使用ffmpeg
来从音频文件中隔离一个声道?我有一个立体声音频文件,我需要将单声道音频文件中右声道的内容输出。
答案1
你有两种方法:
平移音频过滤器
平移音频过滤器功能强大,但是其语法需要花一些时间才能理解。
使用平移时参考通道布局列表会很有帮助: ffmpeg -layouts
立体声右声道转单声道:
ffmpeg -i stereo.wav -af "pan=mono|FC=FR" right_mono.wav
...与以下内容相同:
ffmpeg -i stereo.wav -af "pan=1|c0=c1" right_mono.wav
mono
是输出通道布局或通道数。或者,您可以使用1
而不是mono
。FC=FR
创建F朗特C输入通道的输出F朗特R输入的权利。c0=c1
在这种情况下与上面的相同:从输入的c0
第二个通道()创建单声道输出的第一个(也是唯一的)通道( )。c1
- 如果您想要左声道,请使用
FC=FL
或c0=c0
。
更多信息:
-地图通道
您可以使用该-map_channel
选项。它在背景中使用平移,灵活性稍差。
ffmpeg -i stereo.wav -map_channel 0.0.1 right_mono.wav
- 第一个
0
是输入文件 ID - 接下来
0
是流说明符 - 这
1
是频道 ID
因此可以将其翻译为:第一个文件、第一个流、第二个通道(或右通道)。
来自-map_channel
文档:
选项的顺序
-map_channel
指定了输出流中通道的顺序。输出通道布局是根据映射的通道数猜测的(如果只有一个通道则为单声道-map_channel
,如果有两个通道则为立体声,等等)。