Я хочу преобразовать следующую простую команду 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 ответа2

3

Ответ на ваш вопрос:

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
1

Это работает для меня:

ffmpeg -i test.aac -c:a libvorbis -b:a 64k test.ogg

Я не думаю, что 8kb/s является допустимым значением, но я могу ошибаться. :-)

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