Слияние двух аудиоканалов (стерео) в один (моно) на GSM6.10 с использованием FFMPEG

Я хотел бы знать, можно ли объединить стереозвук в моно в аудиофайле GSM6.10 с использованием FFMPEG. Если это так, просьба предоставить команду для достижения этой цели.
В противном случае, можно ли преобразовать GSM6.10 в WAV PCM с FFMPEG? Затем я мог объединить каналы на WAV PCM.

Если есть еще один бесплатный инструмент, который может это сделать, я тоже могу попробовать.

16 голосов | спросил Ron Harlev 2 ThuEurope/Moscow2010-12-02T02:37:34+03:00Europe/Moscow12bEurope/MoscowThu, 02 Dec 2010 02:37:34 +0300 2010, 02:37:34

3 ответа


26

Способ «смешивания» от стерео к моно в любом поддерживаемом файле в ffmpeg выглядит так:

ffmpeg -i file.ext -ac 1 file_mono.ext

бит «-ac 1» указывает ffmpeg выводить только один аудиоканал, т. е. моно. По умолчанию эта операция сохранит ваш формат файла, но вернет ваш битрейт до значения ffmpeg по умолчанию 64 кбит. Если вы хотите получить более высокий битрейт, вы можете сделать:

ffmpeg -i file.ext -ac 1 -ab 192k file_mono.ext

... заменив 192k вашим предпочтительным битрейтом.

Обратите внимание, что ваша установка ffmpeg должна поддерживать ваш конкретный GSM-кодек, чтобы он работал правильно. Я знаю, что некоторый звук с кодировкой GSM поддерживается в ffmpeg через libgsm, но я никогда не имел дело с файлами GSM самостоятельно. Однако я успешно преобразовал другие типы файлов (MP3) в моно без сучка.

ответил Ryan Tate 17 FebruaryEurope/MoscowbThu, 17 Feb 2011 03:53:44 +0300000000amThu, 17 Feb 2011 03:53:44 +030011 2011, 03:53:44
4

Вышеупомянутый ответ работает в том случае, если вы все еще хотите конвертировать между форматами, но для длинных файлов, которые могут занять много времени. Или, может быть, вы не хотите конвертировать еще раз, ухудшая качество, и поэтому вы можете просто захотеть передать копию. Использование -codec: a и -ac 1 в то же время не работает, но в соответствии с документацией фильтра ffmpeg pan, если выполняются определенные условия (например, вы не корректируете уровни каналов или не смешиваете два канала в один) , он распознает этот случай и сообщит: «Обнаружение чистого канала» и сделайте копию потока, которая намного быстрее.

Например: Чтобы сделать монофайл стереофайла, используя только левый канал и просто копируя видеопоток, сделайте следующее:

ffmpeg -i infile.ext -codec:v copy -af pan="mono: c0=FL" outfile.ext
ответил mondaugen 18 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 18 Sep 2014 21:08:37 +0400 2014, 21:08:37
0

Я знаю, что это возможно с sox .... Я использую sox для манипуляции с каналами, kdenlive и смелость для мягкого редактирования и ffmpeg для ремуксации. просто давая вам знать, что сработало для меня в прошлом.

ответил RobotHumans 2 ThuEurope/Moscow2010-12-02T04:41:26+03:00Europe/Moscow12bEurope/MoscowThu, 02 Dec 2010 04:41:26 +0300 2010, 04:41:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132