Как использовать ffmpeg для кодирования аудиофайлов ogg?
Я хочу преобразовать следующее простое oggenc
команда использовать ffmpeg
вместо:
oggenc -b 8 input.wav -o out.ogg
Из документа обертки ffmpeg libvorbis говорится:
Следующие параметры поддерживаются оболочкой libvorbis. Oggenc-эквивалент параметров указан в скобках.
b (-b)
Установите битрейт, выраженный в битах / с для ABR. oggenc -b выражается в килобитах / с.
Но я просто не знаю, как применить это к ffmpeg
, Я пробовал,
ffmpeg -i input.aac -c:a libvorbis -b 8 out.ogg
ffmpeg -i input.aac -c:a libvorbis b 8 out.ogg
ffmpeg -i input.aac -c:a libvorbis=b:8 out.ogg
но никто не работает, как ожидалось.
ОБНОВЛЕНИЕ: я хочу знать, как "перевести" опции, перечисленные в документе ffmpeg (libvorbis wrapper), в команду ffmpeg. Я могу сойти с рук -ab
переключиться, чтобы сделать транскод, но я не думаю, что это специфические параметры оболочки libvorbis. Поэтому, если вы предоставите ответ, пожалуйста, предоставьте демо-версию, указав также все следующие параметры.
b (-b)
q (-q)
minrate (-m)
maxrate (-M)
iblock
2 ответа
Ответ на ваш вопрос:
oggenc option corresponding ffmpeg option
-b -b:a
-q -q:a
-m -minrate
-M -maxrate
Пример команды
ffmpeg -i input.aac -c:a libvorbis -b:a 8k output.oga
Если желаемое значение 8k
не удается использовать более высокий битрейт или снизить частоту дискретизации звука с -ar
, такие как -ar 8000
,
Информация о кодировщике и мультиплексоре
Вы можете увидеть дополнительную информацию и единственную частную опцию, специфичную для этого кодировщика:
ffmpeg -h encoder=libvorbis
Вы также можете получить информацию о формате контейнера muxer/output:
ffmpeg -h muxer=ogg
Это работает для меня:
ffmpeg -i test.aac -c:a libvorbis -b:a 64k test.ogg
Я не думаю, что 8kb/s является допустимым значением, но я могу ошибаться.:-)