Як кодувати і розділити звуковий файл у FFmpeg за допомогою asplit


1

Я намагаюся перетворити і розділити аудіофайл на два окремих mp3-файли з різними якостями;

  • Один на 128k
  • Один на 320k

Що я придумав поки що, це:

ffmpeg -i myaudiofile.wav [i1]asplit=2[o1][o2] \
-map [o1] -acodec libmp3lame -ar 48000 -ab 192k -ac 2 win1.mp3 \
-map [o2] -acodec libmp3lame -ar 48000 -ab 320k -ac 2 win2.mp3

На жаль, це не працює. Будь-які ідеї?

Заздалегідь спасибі.


"Поверніть і розділіть" - що це означає? Якщо вам просто потрібно кодувати один файл на 2 різні якості, розгляньте 2 окремих файли ffmpeg, що працюють в одному файлі з різними параметрами кодування.
Раджиб

@Rajib Висловлюючись "Поверніть і розділіть", я маю на увазі перетворення даного файлу WAV в формат mp3 і потім закодувати його на 2 різні якості. Мені просто потрібно це зробити рівно за один прохід.
kstratis

Відповіді:


3

Використовуй це:

ffmpeg -i myaudiofile.wav -filter_complex "asplit=2[o1][o2]" -map [o1] \
-acodec libmp3lame -ar 48000 -ab 192k -ac 2 win1.mp3 -map [o2] -acodec \
libmp3lame -ar 48000 -ab 320k -ac 2 win2.mp3

Вам потрібно вказати фільтр або складний фільтр, і вам не потрібна вкладка для введення, оскільки вона за замовчуванням і зрозуміла.

Також зауважте, що тут ви насправді не "перетворюєте його на mp3, а потім перетворюєте на дві різні якості". Ви кодуєте mp3 у двох різних якостях.


@ Konos5 Що було б неправильно з кодуванням wav в mp3 з однією якістю, а потім кодуванням тієї ж WAV в іншу mp3 з різними якостями? І чи розумієте ви, що це по суті те, що робить вищевказана команда, вона просто обробляє вхідні дані в іншому порядку?
Джеймі Ханрахан

1

Розбивати не потрібно.

Використовуйте

ffmpeg -i myaudiofile.wav \
-map 0:a -acodec libmp3lame -ar 48000 -ab 192k -ac 2 win1.mp3 \
-map 0:a -acodec libmp3lame -ar 48000 -ab 320k -ac 2 win2.mp3
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.