h1

ffmpeg: convertir formatos de audio / video en linux

30 mayo 2008

Una vez visto en el último post, como crear un reproductor flash de audio y video para nuestra web, podemos complementar esto viendo un editor de formatos libre (GPL) que nos permitirá convertir nuestros videos (avi, mpeg, ogg…) a formato. flv (y a la inversa), es decir, que permita convertir cualquier formato a cualquier otro.

El conversor en cuestión se llama ffmpeg, y su instalación, configuración y uso tiene una dificultad nula en comparación con su enorme potencial.

Lo primero de todo es instalarlo. Yo lo hice desde una debian lenny, y la manera de hacerlo es la siguiente: apt-get install ffmpeg. como veréis, seguramente pida alguna que otra dependencia, no hay problemas siempre que no nos desinstale nada crítico o haga algún “apaño” no deseado. En mi caso fue:

debian:/home/alberto# apt-get install ffmpeg
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Se instalarán los siguientes paquetes extras:
libavcodec51 libavdevice52 libavformat52 libavutil49 libfaad0 libgif4 libimlib2 libswscale0 libungif4g
Se instalarán los siguientes paquetes NUEVOS:
ffmpeg libavcodec51 libavdevice52 libavformat52 libavutil49 libfaad0 libgif4 libimlib2 libswscale0 libungif4g
0 actualizados, 10 se instalarán, 0 para eliminar y 420 no actualizados.
Necesito descargar 2780kB de archivos.
After this operation, 6947kB of additional disk space will be used.
¿Desea continuar [S/n]?

Una vez instalado ffmpeg, su uso es bastante sencillo. Lo primero de todo, y como buena costumbre, veamos su manual de ayuda: man ffmpeg

debian:/home/alberto$man ffmpeg

Como vemos en la ayuda, la sintáxis básica es:

ffmpeg -i archiv_original.extensión archivo_final.extensión

Aunque existen multitud de opciones para controlar, los ratios de compresión, resolución …, en definitiva, el peso y calidad del resultado, por ejemplo:

ffmpeg -i video.wmv -ab 56 -ar 22050 -r 15 -s 320×240 video.flv

De este modo, pasamos de .wmv a .flv con algunas opciones:

-ab: ratio de audio en (bit/s).
-ar: frecuencia del audio.
-r: framerate (Hz).
-s: tamaño y de la resolución.

A modo de resumen, os dejo algunas ordenes básicas de algunos ejemplos con ffmpeg:

FORMATOS DE AUDIO:

.wma a mp3:
ffmpeg -i audio.wma -f mp3 -ab 192 audio.mp3
El bitrate del MP3 en este ejemplo es 192dit/s.

De .mp3 a .amr:
ffmpeg -i audio.mp3 -acodec amr_nb -ar 8000 -ac 1 -ab 32 audio.amr

De .mpeg a .mp3:
ffmpeg -i video.mpg -f mp3 audio.mp3
Extrae el audio de un fichero MPEG y lo pasa a MP3.

FORMATOS DE VIDEO:

De .avi a .flv:
ffmpeg -i video.avi -acodec mp3 -ar 11025 video.flv

De .avi a .vcd:
ffmpeg -i video.avi -target pal-vcd video.mpg
Añadiendo la opción -hq usa alta calidad.

De .mpeg a .flv:
ffmpeg -i video.mpg -vcodec flv -y video.flv

De .flv a .mpeg:
ffmpeg -i video.flv video.mpeg

De -flv a -avi:
ffmpeg -i video.flv video.avi

En ocasiones, para manipular archivos .ogg, .ogv quizás necesitaremos usar Memcoder.

Con esto ya podemos convertir cualquier formato de audio/video para nuestro reproductor flash 😉

Seguramente me quedan multitud de posibles convinaciones, pero estas son las más comunes, si alguien desea aportar alguna conversión más o alguna opción…

Anuncios

10 comentarios

  1. Y de CD AUDIO a mp3??


  2. Cierto, me faltaba ese Manuel77. De Wav a MP3 sería:
    ffmpeg -i audio.wav -acodec mp3 -ab 32 -ar 44100 audio.mp3

    Si quieres más opciones: man ffmpeg 😉


  3. me guardo esto, gracias.


  4. […] .ogg (formato de video libre). Si lo queremos pasar a .avi o cualquier otro formato, ya sabéis cómo utilizar ffmpeg o mencoder, sino echad un vistazo a este otro post que explica cómo […]


  5. Llamadme perezoso pero prefiero hacerlo gráficamente… si queréis una alternativa podéis echad un vistazo a http://andalinux.wordpress.com/2008/06/13/conversor-multimedia/
    Un saludo a tod@s


  6. estas líneas de código me vendrán muy bien… lo malo es que como siempre los cambios de formato de video tardarán un montón..lo probaré


  7. ¡Atención al copy&paste!
    Si os da un error “incorrect frame rate” es porque la equis que va entre la resolución de ancho y alto no es una equis de verdad “x”.


  8. Y para unir jpgs a flv u otro formato de video?
    como seria?
    busque en el Man y no lo encontre.
    Saludos


  9. Mmmmm si se puede de Jpg a otros formatos con FFMpeg pero…. pero me arroja un error.
    La sentencia seria (usé copy and paste…)
    ffmpeg -f image2 -i imagen%d.jpg video.mpg

    Con este comando convertiríamos todas las imágenes del directorio actual (con nombres imagen1.jpg, imagen2.jpg, etc…) en un video llamado video.mpg.

    Bien… en mi caso necesito mas fotos, toda una carpeta, entonces modificando un poco el comando tendria que ser algo parecido a:

    ffmpeg -f image2 -i *.jpg video.avi y deberia tomar gracias al comodin * todas las imegenes jpg de la carpeta descrita y realizar el archivo de video… pero me arroja lo sgte con el sgte error:

    FFmpeg version r11872+debian_0.svn20080206-17+lenny1, Copyright (c) 2000-2008 Fabrice Bellard, et al.
    configuration: –enable-gpl –enable-libfaad –enable-pp –enable-swscaler –enable-x11grab –prefix=/usr –enable-libgsm –enable-libtheora –enable-libvorbis –enable-pthreads –disable-strip –enable-libdc1394 –disable-armv5te –disable-armv6 –disable-altivec –disable-vis –enable-shared –disable-static
    libavutil version: 49.6.0
    libavcodec version: 51.50.0
    libavformat version: 52.7.0
    libavdevice version: 52.0.0
    built on Apr 28 2009 02:12:01, gcc: 4.3.2
    Input #0, image2, from ’17_49_54GMT.jpg’:
    Duration: 00:00:00.0, start: 0.000000, bitrate: N/A
    Stream #0.0: Video: mjpeg, yuvj420p, 640×480 [PAR 0:1 DAR 0:1], 25.00 tb(r)
    Unable to find a suitable output format for ’17_49_55GMT.jpg’

    Que estoy haciendo mal?, mejor dicho, que no estoy viendo que otro pueda verlo porfis??

    Thankss


  10. muy bueno



Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: