使用ffmpeg左右转换两个通道为单个通道

时间:2019-02-15 17:52:08

标签: ffmpeg python-3.6

我有一些.wav文件,我想转换它们的频率(fs)和通道数(nchannels)。我在jupyter笔记本python3.6上使用ffmpeg。我使用了以下命令,它可以正常工作。

cmd= 'ffmpeg -i %s -ar %d -ac %d %s.wav'%(filepath,fs,nchannel,wavfilename)
os.system(cmd)

但是,当将两个通道转换为单个通道时,我只希望ffmpeg仅使用左(或右)通道而不是两个信号的平均值?如果我按以下方式使用地图频道,那是正确的吗?这样会创建wav文件,但是我不确定是否只使用一个通道。

'ffmpeg -i %s -ar %d -map_channel 0.0.0 %s.wav(filepath,fs,wavfilename)'

如果没有,如何修改上面的代码来实现?我也尝试过;

'ffmpeg -i %s -af channelsplit=channel_layout=stereo:channels=FL -ar %d %s.wav'%(filepath,fs,wavfilename)'

但是这创建了空的wav文件。

谢谢

1 个答案:

答案 0 :(得分:1)

使用channelsplit filter

pd.concat(
    [pd.DataFrame(dict((tup,))) for tup in d.items()], 
    axis=1, 
    ignore_index=True
).melt().dropna()

    variable value
0          0     1
1          0     2
2          0     3
3          0     4
4          1   cat
5          1   dog
6          1  bird
8          2    75
9          2    23
10         2    49

查看带有ffmpeg -i input -af "channelsplit=channel_layout=stereo:channels=FL" front_left.wav 的频道名称列表。