У меня есть аудио файлы WAV, которые имеют стереоканалы. Я должен конвертировать их в mp3 с моноканалом и скоростью передачи 64k.

Для отдельного файла я могу просто сделать

ffmpeg -i input1.wav -ac 1 -ar 44100 -b:a 64k output1.mp3

Но я должен конвертировать файлы. Одним простым способом является создание bash-скрипта, который передает входные файлы в ffmpeg по одному.

Мне нужно сделать пакетное преобразование, используя функцию map .

ffmpeg -i input1.wav -i input2.wav -map 0:0 output1.mp3 -map 1:0 output2.mp3

Это тоже отлично работает. Но это не позволяет мне указать -ac 1 -ar 44100 -b:a 64k . Если я сделаю

ffmpeg -i input1.wav -i input2.wav -ac 1 -ar 44100 -b:a 64k ...

Тогда только первый файл input1.wav получает моноканал и скорость 64 Кбит . Последующие файлы остаются стерео.

Как мне сказать ffmpeg использовать -ac 1 -ar 44100 -b:a 64k для аудиопотоков при использовании параметра map ?

1 ответ1

0

Я попробовал следующий формат, и это сработало

ffmpeg -i input1.mp3 -i input2.mp3 -ac 1 -ar 44100 -b:a 64k -map 0 output1.mp3 -ac 1 -ar 44100 -b:a 64k -map 1 output1.mp3

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .