Ffmpeg: conversión de formatos multimedia

He aquí una breve guía para convertir archivos de audio utilizando ffmpeg.

Formatos de audio

MP3 -> MP3

Esto es para bajar la calidad de un MP3:

$ lame -b 64 archivo_origen.mp3 archivo_destino.mp3

64 será el nuevo bitrate del archivo. Se puede usar cualquiera de los siguientes valores: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320. A mayor bitrate, mayor será la calidad de audio (y mayor el tamaño del archivo).

MP3 -> OGG

Se requiere el programa mp32ogg

$ sudo aptitude install mp32ogg

Para convertir

$ mp32ogg music.mp3 music.ogg

Para convertir toda la carpeta

$ mp32ogg *.mp3 *.ogg

A continuación se enumeran algunas conversiones comunes en ficheros de sonido empleando Ffmpeg.

WMA -> MP3

Tras el parametro ab especificaremos el bitrate del MP3 (192 en el ejemplo).

$ ffmpeg -i ficheroEntrada.wma -f mp3 -ab 192 ficheroSalida.mp3

MP3 -> AMR

$ ffmpeg -i music.mp3 -acodec amr_nb -ar 8000 -ac 1 -ab 32 music.amr

WAV -> AMR

$ ffmpeg -i music.wav -acodec amr_nb -ar 8000 -ac 1 -ab 32 music.amr

MPEG -> MP3

Extrae el audio de un fichero MPEG y lo pasa a MP3

$ ffmpeg -i video.mpg -f mp3 audio_track.mp3

MIDI -> WAV

$ timidity -Ow -s 44100 -o output.wav input.mid

MIDI -> OGG

$ timidity -Og -s 44100 -o output.ogg input.mid

Formatos de vídeo

A continuación se enumeran algunas conversiones comunes en ficheros de video empleando Ffmpeg.

AVI -> FLV

$ ffmpeg -i movie.avi -acodec mp3 -ar 11025 movie.flv

Desde la versión 9.04 hay que instalar el paquete libavcodec-unstripped-52 y reemplazar ‘-acodec mp3’ por ‘-acodec libmp3lame’ en las opciones del comando.

AVI -> VCD

Añadiendo la opción -hq usa alta calidad.

$ ffmpeg -i myfile.avi -target pal-vcd myfile_vcd.mpg

AVI -> DV

Este es el formato Digital Video, el mismo que produce una cámara de vídeo digital y es el que se puede usar para editar con Kino.

$ ffmpeg -i pelicula.avi -target pal-dv pelicula.dv

Esto me da unos errores de sincronismo del audio que no veo que se noten. Si quieres evitarlos tendrás que hacerlo de esta forma:

$ mencoder pelicula.avi -ovc lavc -oac pcm -o pelicula-new.avi
$ ffmpeg -i pelicula-new.avi -s pal -r pal -ac 2 -ar 48000 pelicula.dv && rm pelicula-new.avi

Otra forma de hacerlo:

$ ffmpeg -i pelicula.avi -vcodec dvvideo -acodec copy -f dv pelicula.dv -hq

Kino también lee el formato AVI generado de esta forma (por ejemplo a partir de un FLV):

$ mencoder -oac mp3lame -ovc xvid -of avi -xvidencopts bitrate=1350 -o output.avi input.flv

AVI -> PNG

$ ffmpeg -i swing.avi -vcodec png -vframes 1 -an -f rawvideo -s 320x240 swing1.png

3GP -> MPEG4

$ ffmpeg -i movie.3gp -vcodec mpeg4 -acodec mp3 movie.avi

RMVB -> AVI

$ mencoder -oac mp3lame -lameopts cbr=128 -ovc xvid -xvidencopts bitrate=1200 video_entrada.rmvb -o video_salida.avi

MPEG -> 3GP

$ ffmpeg -i archivo.mpeg -s qcif -r 12 -ac 1 -ar 8000 -b 30 -ab 12 salida.3gp

O también con más calidad:

$ ffmpeg -i archivo.mpeg -s qcif -r 15 -ac 1 -ar 8000 -b 256000 -ab 15 salida.3gp

MPEG -> XviD

$ ffmpeg -i pelicula.mpg -acodec mp3 -vcodec xvid -b 687 pelicula.avi

MPEG -> FLV

$ ffmpeg -i pelicula.mpg -vcodec flv -y pelicula.flv

El fichero resultante no contiene correctamente la información de meta datos. Esto implica que cuando utilices el fichero en un visualizador de videos Flash como Flash Video Player el fichero se verá correctamente pero la barra de progreso no se actualizará. Para arreglar esto usa la utilidad flvtool2 que la encontrarás en http://inlet-media.de/flvtool2. Está hecha en Ruby de modo que tendrás que instalar el paquete correspondiente. Se usa así:

$ flvtool2 -U pelicula.flv

También tenemos otra utilidad llamada FLV MetaData Injector que aunque sea para Windows, funciona perfectamente con Wine (por lo menos la versión de línea de comandos). Se usa así:

$ wine flvmdi.exe pelicula.flv

Otra forma de convertir a formato FLV es usando Memcoder:

$ mencoder pelicula.avi -o pelicula.flv -of lavf -oac mp3lame -lameopts br=32 -af lavcresample=22050 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=340:autoaspect:mbd=2:trell:v4mv -vf scale=320:240 -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames

FLV -> MPEG

$ ffmpeg -i video.flv  video.mpeg

FLV -> AVI

$ ffmpeg -i video.flv  video.avi

JPG -> DivX

$ mencoder -mf on:w=800:h=600:fps=0.5 -ovc divx4 -o output.avi *.jpg

Así te muestra una foto cada dos segundos, si quieres cada cuatro segundos deberías poner 0.25 en fps.

Si este comando no te funciona prueba con

$ mencoder "mf://*.jpg" -mf fps=0.25 -vf scale=480:360 -o output.avi -ovc lavc -lavcopts vcodec=mpeg4

Con lo que obtendrás un video de todos los archivos jpg ubicados en el path desde el cual lanzas el comando y que te muestra 1 foto cada 4 segundos

Incluir subtítulos en un vídeo

$ mencoder -ovc lavc -oac mp3lame pelicula.avi -o pelicula_con_subtitulos.avi -sub subtitulos.srt

Convertir un video al formato OGV Theora

Ogg Theora es el codec de video pre instalado por defecto en ubuntu, por lo que no necesitaras instalar algún pack de codec para reproducirlos en ubuntu (esa es la ventaja de theora). A continuación se muestran algunos ejemplos de conversiones de vídeo empleando ffmpeg2theora, para instalarlo, abrimos un terminal(aplicaciones>accesorios>terminal) y escribimos:

$ sudo aptitude install ffmpeg2theora

Ffmpeg2theora es un programa de comandos (no grafico), por lo que todo se usa desde el terminal, el video que quieres convertir tiene que encontrarse en la carpeta home del usuario.

cualquier formato de video -> Ogg Theora

$ ffmpeg2theora videoclip.extensión

esto creará un archivo Ogv Theora llamado videoclip.ogv. Para codificarlo con otra calidad, digamos calidad de video: 7 y calidad de audio: 3:

$ ffmpeg2theora -v 7 -a 3 videoclip.extensión

también puedes usar el v2v Presets para codificar tu video

$ ffmpeg2theora -p preview videoclip.dv

o

$ ffmpeg2theora -p pro videoclip.dv

que la codificacion del video comienze desde el segundo 10 y termine en el segundo minuto del video

$ ffmpeg2theora -s 10 -e 120 videoclip.extensión

que el britrate de video sea 512 y el de audio 96

$ ffmpeg2theora -V 512 -A 96 videoclip.extensión

que el video se re dimensione a 640×480

$ ffmpeg2theora -x 640 -y 480 videoclip.extensión

optimizar el tamaño del video

$ ffmpeg2theora --optimize videoclip.extensión

especificar nombre de salidad (video ya codificado)

$ ffmpeg2theora -o nombre-alternativo videoclip.extensión

como es obvio se puede usar los comandos anteriores en una sola linea

$ ffmpeg2theora -s 10 -e 120 -V 512 -A 96 x 640 -y 480 --optimize -o nombre-alternativo videoclip.extensión

Comprobar el resultado

Si el formato de destino no lo soporta el reproductor multimedia Totem puedes usar la aplicación ffplay que viene en el paquete ffmpeg, reproducirá cualquier formato soportado por ffmpeg. Esto es útil, por ejemplo, para el formato de audio de móvil AMR.

Otros conversores

  • Convert for free video files direct to your Mobile phone, iPod, PSP, PC Se trata de un servicio de conversión online, de modo que no tienes que tener nada instalado en tu PC.
  • Zamzar Otro conversor de formatos online gratuito. Permite convertir tanto documentos como audio y video.
  • Filsh Y otro conversor de formatos online!
  • Mobile Media Converter Es un conversor multiplataforma con un interfaz gráfico bastante sencillo. Funciona con una versión Ffmpeg compilada para soportar formatos adicionales.
  • Arista Transcoder Es un nuevo proyecto que facilita mucho la conversión de formatos de vídeo, sobre todo. Graficamente es muy agradable, aunque aún no está empaquetado para Ubuntu y si quiere probarlo tendrás que hacerlo a la antigua usanza.
  • Convert Files Convert Files es un nuevo servicio de conversión de archivos online. Se trata de una opción más que tenemos los usuarios a la hora de elegir un servicio que nos permita introducir un archivo en un formato determinado para que nos lo convierta en otro archivo en el mismo o en otro formato dentro de la misma categoría.
  • Cometdocs Es un potente conversor online multipropósito que trabaja con más de 50 formatos diferentes, permitiéndote realizar toda clase de conversiones directamente desde el navegador, sin la necesidad de instalar absolutamente nada, y de forma totalmente gratuita.

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

      Ghermain dijo

    Gracias… No conocía todo lo que un programa tan sencillo pero tan potente podía hacer, cada día estoy más convencido de mi decisión de pasarme a Linux (tengo OpenSuse 12.2)

      Juan Escobar Arias dijo

    ¿Que editor de video es el que se ve en la fotografía?

         kikee dijo

      Se llama «Cinelerra»

      Usemos Linux dijo

    Gracias! Saludos!

      eM Di eM dijo

    Me quito el sombrero ante tan hermoso topic y valiosa informacion, me toca comentar que ayer 12-12-2011 estaba buscando como cambiar formatos de video y me tope con informacion de Ffmpeg, despues de leer veo su verdadero poder y hoy encuentro este topic con informacion detallada.
    Excelente topic

      Daniel dijo

    Otro dolor de cabeza sanado por este blog. El mejor de Internet, sin dudas.

         usemoslinux dijo

      Gracias, Dani.
      Abrazo! Pablo.