7

Я использую ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers . Мне нужно конвертировать файл .mp4, в формат .ogg. Я нахожусь на Mac OS X, и я попробовал это до сих пор:

ffmpeg -i sample_mpeg4.mp4 -acodec vorbis -vcodec libtheora -f ogg output.ogv

Я получаю: Unknown encoder 'libtheora'

ffmpeg -i sample_mpeg4.mp4 -acodec libvorbis -vcodec --enable-libtheora output.ogv

Я получаю: Unknown encoder '--enable-libtheora'

ffmpeg -i sample_mpeg4.mp4 -acodec libvorbis -vcodec libtheora -f ogv output.ogv

Я получаю:

[NULL @ 0x7f81bb00f800] Requested output format 'ogv' is not a suitable output format
output.ogv: Invalid argument

ffmpegtheora не является опцией, так как его нельзя установить на сервер.

3 ответа3

10

В вашей версии FFmpeg отсутствуют необходимые кодеры, libtheora для видео Theora и libvorbis для аудио Vorbis.

Вы можете добавить эти кодеры только

  • компилируя их с помощью FFmpeg, или
  • установка исполняемого файла, который уже объединяет их.

Для вас самым простым выбором будет загрузить статическую версию со страницы загрузки FFmpeg. Все они поставляются с libtheora и libvorbis , независимо от операционной системы, для которой они были созданы.

Затем вам нужно извлечь архив загрузки и просто запустить включенный двоичный файл ffmpeg . Правильный синтаксис будет:

ffmpeg -i in.mp4 -c:v libtheora -c:a libvorbis out.ogv

Если вы хотите изменить качество аудио или видео, вы можете изменить битрейт, например, с помощью -b:v 1M или -b:a 192k . Поиграйте с этими значениями и используйте более высокий или более низкий битрейт в зависимости от имеющихся у вас ограничений качества или размера файла.

Вы также можете использовать VBR (постоянное качество) с -q:v , где значения находятся в диапазоне от 0 до 10 (чем выше, тем лучше), при этом рекомендуется 7. Качество звука может быть установлено с помощью -q:a , опять же со значениями от 0 до 10, где рекомендуется 4 и соответствует примерно 128 кбит / с.

Обратите внимание, что --enable-libtheora является параметром конфигурации и не работает при вызове ffmpeg .

9

Используйте менеджер пакетов Homebrew

Установите Homebrew в командной строке

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Установите ffmpeg с поддержкой libtheora

$ brew install ffmpeg --with-theora --with-libvorbis

Другие варианты перечислены здесь

$ brew options ffmpeg

Надеюсь, это поможет другим или будущему мне;)

0

--enable-libtheora следует использовать при сборке ffmpeg из исходного кода, а не при попытке запустить программу. Вы должны попытаться пересобрать ffmpeg (конечно, используя последний источник ) и добавить поддержку libtheora во время настройки (./configure --enable-libtheora и т. Д ....)

Если вам нужна помощь по сборке из исходного кода, в Google есть много чего, но все сводится (для вас) к тому, чтобы включить нужные библиотеки, вы можете увидеть здесь и _http://jungels.net/articles/ffmpeg-howto.html для начинающих.

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