Об'єднайте два аудіоканали (стерео) в один (моно) на GSM6.10 за допомогою FFMPEG


27

Мені хотілося б знати, чи можна об'єднати стерео аудіо у моно в аудіофайлі GSM6.10 за допомогою FFMPEG. Якщо це так, будь ласка, надайте команду для досягнення цього.
В іншому випадку, чи можливо перетворити GSM6.10 в WAV PCM за допомогою FFMPEG? Тоді я міг би об'єднати канали на WAV PCM.

Якщо є ще один безкоштовний інструмент, який може це зробити, я можу спробувати і це.

Відповіді:


42

Спосіб "змішування" зі стерео в моно в будь-який підтримуваний файл у ffmpeg такий:

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

Біт "-ac 1" інструктує ffmpeg виводити лише 1 аудіоканал, тобто моно. За замовчуванням ця операція збереже ваш формат файлу, але поверне ваш бітрейт до ffmpeg за замовчуванням 64 кбіт. Якщо ви хочете більш високий бітрейт, ви можете:

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

... замінивши 192k на бажаний бітрейт.

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


3
Це насправді змішування чи просто скидання каналів?
Джонні

З документації на фільтр "пан": "Зауважте, що ffmpeg інтегрує систему за замовчуванням (і наверх-змішання) за замовчуванням, якій слід віддати перевагу (див. Опцію" -ac "), якщо у вас немає особливих потреб."
Зупиніть шкодити Моніці

І вхідні, і вихідні файли повинні бути лише аудіофайлами. Вхід не може бути відео.
Кевін

1
Маніпуляція з аудіоканалом "Змішайте один стерео потік до монопотоку. Обидва канали стереопотоку будуть зміщені у потік:"ffmpeg -i stereo.flac -ac 1 mono.flac
Джоел Пурра,

@Kevin - вхід може бути відеофайлом, я щойно перевірив, (з-без або -nn)
Беррі Цакала

7

Наведена вище відповідь працює у випадку, якщо ви все ще хочете конвертувати між форматами, але для довгих файлів, які можуть зайняти тривалий час. Або, можливо, ви не хочете конвертувати ще раз, що погіршує якість, і тому ви можете просто передати копію. Використання -codec: a і -ac 1 одночасно не працює, але згідно з документацією на фільтр ffmpeg, якщо дотримуються певні умови (наприклад, ви не регулюєте рівні каналів або змішуєте два канали в один) , він розпізнає цей випадок і повідомить: "Виявлено чисте відображення каналу" та зробить поточну копію, що набагато швидше.

Наприклад: Щоб створити монографію стереофайлу просто за допомогою лівого каналу та просто скопіювавши відеопотік, зробіть це:

ffmpeg -i infile.ext -codec:v copy -af pan="mono: c0=FL" outfile.ext

0

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


0

Щоб зберегти відео, я використав комбінацію двох відповідей вище:

ffmpeg -i infile -codec:v copy -ac 1 -ab 192k outfile

Це дало для мене достатнє рішення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.