
Estoy usando ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
. Necesito convertir un archivo .mp4 al formato .ogg. Estoy en Mac OS X y he probado esto hasta ahora:
ffmpeg -i sample_mpeg4.mp4 -acodec vorbis -vcodec libtheora -f ogg output.ogv
Estoy obteniendo:Unknown encoder 'libtheora'
ffmpeg -i sample_mpeg4.mp4 -acodec libvorbis -vcodec --enable-libtheora output.ogv
Estoy obteniendo:Unknown encoder '--enable-libtheora'
ffmpeg -i sample_mpeg4.mp4 -acodec libvorbis -vcodec libtheora -f ogv output.ogv
Estoy obteniendo:
[NULL @ 0x7f81bb00f800] Requested output format 'ogv' is not a suitable output format
output.ogv: Invalid argument
ffmpegtheora
No es una opción ya que no se puede instalar en el servidor.
Respuesta1
A su versión de FFmpeg le faltan los codificadores necesarios libtheora
para video Theora y libvorbis
audio Vorbis.
Sólo puedes agregar estos codificadores mediante
- compilándolos con FFmpeg, o
- instalar un ejecutable que ya los incluya.
Para usted, la opción más sencilla sería descargar una versión estática desdela página de descarga de FFmpeg. Todos vienen con libtheora
y libvorbis
, independientemente del sistema operativo para el que fueron creados.
Lo que luego debes hacer es extraer el archivo de descarga y simplemente ejecutar el ffmpeg
binario que se incluye. La sintaxis correcta sería:
ffmpeg -i in.mp4 -c:v libtheora -c:a libvorbis out.ogv
Si desea cambiar la calidad del audio o del vídeo, puede cambiar la velocidad de bits, por ejemplo con -b:v 1M
o -b:a 192k
. Juegue con esos valores y use una tasa de bits mayor o menor dependiendo de las limitaciones de calidad o tamaño de archivo que tenga.
También puede utilizar VBR (calidad constante) con -q:v
, donde los valores oscilan entre 0 y 10 (cuanto más alto, mejor), recomendándose 7. La calidad del audio se puede configurar con -q:a
, nuevamente con valores de 0 a 10, donde se recomienda 4 y corresponde aproximadamente a 128 kBit/s.
Tenga en cuenta que --enable-libtheora
es una opción de configuración y no funciona al llamar ffmpeg
.
Respuesta2
Usarcerveza caseragerente de empaquetación
Instalar Homebrew en la línea de comando
$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Instale ffmpeg con soporte libtheora
$ brew install ffmpeg --with-theora --with-libvorbis
Otras opciones se enumeran aquí
$ brew options ffmpeg
Espero que ayude a otros o a mí en el futuro;)
Respuesta3
--enable-libtheora debe usarse al compilar ffmpeg desde el código fuente, no al intentar ejecutar el programa. Deberías intentar reconstruir ffmpeg (usandola última fuente por supuesto) y agregar soporte para libtheora durante la configuración (./configure --enable-libtheora, etc....)
Si necesita ayuda para compilar desde el código fuente, hay muchas cosas en Google, pero todo se reduce (para usted) a habilitar las bibliotecas que necesita, puede veraquíy _http://jungels.net/articles/ffmpeg-howto.html para empezar.