преобразовать два канала в один канал влево или вправо с помощью ffmpeg - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть несколько файлов .wav, и я хотел бы преобразовать их частоту (fs) и количество каналов (nchannels).Я использую ffmpeg на ноутбуке Jupyter, Python3.6.Я использовал следующую команду, и она работает.

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 голосов
/ 15 февраля 2019

Используйте фильтр channelsplit :

ffmpeg -i input -af "channelsplit=channel_layout=stereo:channels=FL" front_left.wav

См. Список имен каналов с помощью ffmpeg -layouts.

...