loglevels framerate commands abort_on linux video ubuntu ffmpeg

linux - framerate - Convierte un video a MP4(H.264/AAC) con ffmpeg



ffmpeg framerate (8)

Si no me equivoco, Safari necesita actualmente un video MP4 (H.264 / AAC) codificado para el elemento HTML5 <video> .

Así que traté de convertir un video a este formato con ffmpeg . Sin embargo, cuando ingreso el comando de shell ffmpeg -i video.flv video.mp4 , el error devuelto es:

Parece que la velocidad de fotogramas del códec del flujo 0 difiere de la velocidad de fotogramas del contenedor: 2000.00 (2000/1) -> 29.92 (359/12) Entrada # 0, flv, de ''video.flv'':
Duración: 00: 05: 01.20, inicio: 0.000000, tasa de bits: 66 kb / s Transmisión # 0.0: Video: h264, yuv420p, 320x240 [PAR 1: 1 DAR 4: 3], 66 kb / s, 29.92 tbr, 1k tbn , 2k tbc Stream # 0.1: Audio: aac, 22050 Hz, estéreo, s16 Output # 0, mp4, a ''video.mp4'': Stream # 0.0: Video: mpeg4, yuv420p, 320x240 [PAR 1: 1 DAR 4: 3 ], q = 2-31, 200 kb / s, 90k tbn, 29.92 tbc Stream # 0.1: Audio: 0x0000, 22050 Hz, estéreo, s16, 64 kb / s Mapeo de stream: Stream # 0.0 -> # 0.0
Secuencia # 0.1 -> # 0.1 Códec no compatible para la secuencia de salida # 0.1

Se requiere un códec AAC, pero soy bastante novato con ubuntu y realmente no sé cómo solucionar este problema. Estoy usando Ubuntu 9.10 Karmik Koala (para amd64).

Muchas gracias. :)


Prueba este: Libav en Linux

Installation: run command sudo apt-get install libav-tools Video conversion command::Go to folder contains the video and run in terminal avconv -i oldvideo.flv -ar 22050 convertedvideo.mp4


Está intentando convertir un archivo .flv (bastante raro) que (ya) contiene video H.264 y audio AAC.

El formateo de la salida de su consola como FFmpeg saca estos detalles.

Input #0, flv, from ''video.flv'': Duration: 00:05:01.20, start: 0.000000, bitrate: 66 kb/s Stream #0.0: Video: h264, yuv420p, 320x240 [PAR 1:1 DAR 4:3], 66 kb/s, 29.92 tbr, 1k tbn, 2k tbc Stream #0.1: Audio: aac, 22050 Hz, stereo, s16

El flv original se convierte en un archivo .mp4 con video H.264 y audio AAC (como el .flv original):

Output #0, mp4, to ''video.mp4'': Stream #0.0: Video: mpeg4, yuv420p, 320x240 [PAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 29.92 tbc Stream #0.1: Audio: 0x0000, 22050 Hz, stereo, s16, 64 kb/s

Debido a que los datos de audio y video en el .flv ya están en el formato / códecs que necesita para el .mp4, puede copiar todo al nuevo contenedor .mp4. Este proceso será mucho más rápido que descodificar y recodificar todo:

ffmpeg -i video.flv -vcodec copy -acodec copy video.mp4

o más simplemente:

ffmpeg -i video.flv -codec copy video.mp4

El verdadero error que está recibiendo es:

Códec no admitido para el flujo de salida # 0.1

Lo que significa que FFmpeg no puede convertir audio (flujo # 0.1) a AAC.

Puede omitir el error por:

  • copiando los datos de audio ya que ya está codificado en AAC (use el comando de copia arriba)

o puede resolver el error por:

Para obtener más detalles, también debe leer Convertir FLV a MP4 con FFmpeg La guía definitiva


Es necesario compilar ffmpeg con un codificador AAC. Puedes encontrar uno en AudioCoding .


Las patentes de software llevaron a Debian / Ubuntu a deshabilitar los codificadores H.264 y AAC en ffmpeg. Consulte /usr/share/doc/ffmpeg/README.Debian.gz.

Entonces instale x264, mplayer / mencoder y el codificador AAC de Nero. (O, si desea utilizar todo el software gratuito, y no le importa mucho la calidad del audio, entonces sudo aptitude instale faac).

No recuerdo si el paquete medibuntu de mencoder incluye codificación de vid x264, ya que construyo mi propio a partir de fuentes git x264 y svn mplayer. (x264 está muy desarrollado, con mejoras significativas en la calidad y la velocidad que se agregan con frecuencia). http://git.videolan.org/?p=x264.git;a=summary

x264 también está empaquetado, pero debes verificar que esté lo suficientemente actualizado como para incluir weightp con correcciones de errores recientes e incluso mejoras de velocidad más recientes ...

O si ya estás dispuesto a convertir desde .flv, en lugar de ir desde la fuente de alta calidad de la que se creó flv, entonces probablemente cualquier versión reciente de x264 que puedas encontrar estará bien.



También puede intentar agregar el PPA de Motumedia a sus fuentes de apt y actualizar sus paquetes ffmpeg.


Tuvo este problema recientemente al convertir el desagradable WMV en Final Cut Pro X para editar. El jugador de Flow puede hacerlo pero deja una marca de agua, así que jugué un poco con ffmpeg hasta que tengo algo en marcha.

Primero instale ffmpeg: utilicé brew install ffmpeg Obviamente, primero necesita instalar brew, busque en Google ese bit.

A continuación, escribí un sencillo script de línea de comandos con el siguiente contenido: puede sustituir el archivo de entrada / salida por $ 1 o simplemente crear un archivo de script de shell ... vi convert.sh Pegar.

echo "Pass one" ffmpeg -y -i "$1" -c:v libx264 -preset medium -b:v 1555k -pass 1 -c:a libfaac -b:a 256k -f mp4 /dev/null && echo "Pass two" ffmpeg -i "$1" -c:v libx264 -preset medium -b:v 1555k -pass 2 -c:a libfaac -b:a 256k "$1.mp4"

Luego, para convertir su video ... sh convert.sh myvideofile.wmv Si todo salió bien, debería ver un nuevo archivo llamado myvideofile.wmv.mp4.

Espero que eso te funcione.


http://handbrake.fr es una buena herramienta de alto nivel con muchos ajustes preestablecidos útiles para mp4 para iPod, PS3, ... con interfaces GUI y CLI para Linux, Windows y Mac OS X.

Viene con sus propias dependencias como un único binario gordo estáticamente vinculado para que tenga todos los códecs x264 / aac incluidos.

$ HandBrakeCLI -Z Universal -i myinputfile.mov -o myoutputfile.mp4

Para listar todos los presets disponibles:

$ HandBrakeCLI -z