Feeds:
Entradas
Comentarios

Archive for abril 2011

FFmpeg es un software libre de excelente desempeño para todo lo relacionado a la multimedia; audio y vídeo. Su uso no se limita al sistema linux sino que también es portable a otros sistemas. Con el podemos manipular, pero sobre todo hacer conversiones entre distintos formatos de nuestros archivos de audio: música, podcats, etc. y vídeo. En Ubuntu y cualquier deribada de Debia se instala desde consola tipeando:

apt-get install ffmpeg

Su uso en consola no es complicado, algunos ejemplos:

Supongamos tenemos un vídeo tipo xvid (o divx) de nombre video.avi, con ffmpeg podemos sacar información de este vídeo, tipeamos desde la consola:

ffmpeg -i video.avi

Esto nos podrá dar distintos datos como en el ejemplo siguiente:

Nos presenta en Duration, el tiempo del vídeo; en este ejmplo 43:33:04, el bitrate del vídeo que es de 934 kbps, el tipo mpeg4, la resolución de 512×288 en formato 16:9 a 29.97 frames por segundo. Del Audio nos dice es un mp3 a 44100 hz en stereo (2 canales) a 96 kbps.

Si quremos extrar el audio a ese vídeo, tipeamos en consola:

ffmpeg -i video.avi audio.mp3

Recuerden que video.avi es el nombre de nuestro video, ustedes pongan el nombre del que estén trabajando. En este ejemplo extraemos el audio que anteriormente habíamos visto era un mp3 y le ponemos de nombre audio. Si el audio fuese un AC3 solo cambiaría la extensión.

Si quisiéramos extraer el audio del vídeo en formato WAV, tipeamos:

ffmpeg -i video audio.wav

Ahora de no tiene que ser un video avi, puede ser un mp4, m4v, mpeg, wmv, realplayer, … supongamos que de un video x queremos extraer el audio con ciertos parametros, podríamos tipear:

ffmpeg -i video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3

Examinemos:

  • -i Le indicamos el archivo con el que vamos a trabajar, en este caso video.avi
  • -vn Nos indica que desactivemos la grabación de vídeo, o sea que lo dejemos tal cual que no lo hagamos ningún proceso.
  • -ar Establece la frecuencia de muestreo del audio, por default es de 44100 hz.
  • -ac Indicamos los canales de audio, por defecto es uno (monoural), en nuestro caso al ser estereo indicamos 2, si fuese 5.1 (surround) serian 6.
  • -ab Es para el bitrate (calidad), por default es de 64 k, nosotros en el ejemplo lo pusimos a 192.
  • -f Qué nos de salida en el formato que se describa a continuación en el ejemplo es mp3, aunque podria ser wav, ac3 u otros.
Una de mis tareas faboritas al usarl ffmpeg consiste en pasar audio de DTS a AC3. Como la mayoría sabe el audio en formato DTS es de mayor calidad que el AC3. Aunque el AC3 no esta mal para la mayoría de equipos que habitualmente tiene uno disponible en el mercado, el manejo de DTS actualmente es más complicado ($). En fin por la razón que sea les muestro un ejemplo:
ffmpeg -i audio.dts -acodec ac3 -ac 6 -ab 448k audio.ac3
Veamos que tenemos:
  • -i Le indicamos el archivo con el que vamos a trabajar, en este caso audio.dts
  • -acodec Le indicamos cual seria el codec de salida, en este caso sera ac3.
  • -ac Indicamos los canales de audio, en nuestro caso al ser surround, es decir 5.1 le indicaremos que son 6 canales.
  • -ab Es para el bitrate (calidad), en nuestro ejemplo lo indicamos en 448k.
Les dejo algunos ejemplos de los usos más comunes de ffmpeg:
Convertir avi a mpg:
ffmpeg -i video.avi video.mpg
A la inverse mpg a avi:
ffmpeg -i video.mpg video.avi
Convertir un archivo flv (como los de YouTube) a avi:
ffmpeg -i video.flv video.avi
Convertir un avi a flv:
ffmpeg -i video.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320×240 -f flv video.flv
Analicemos:
  • -i Le indicamos el archivo con el que vamos a trabajar, en este caso: video.avi
  • -ab Es para el bitrate (calidad), en nuestro ejemplo lo indicamos en 56 k.
  • -ar Establece la frecuencia de muestreo del audio, lo dejamos en 44100.
  • -b Aquí indicamos el bitrate del video, en nuestro ejemplo de 200 kbps
  • -r El frame rate, el que viene por default es de 25 (Europeo), en el ejemplo lo bajamos a 15.
  • -s Señalamos la resolución de salida del video, en el ejemplo es de 320×240.
  • -f Qué nos de salida en el formato que se describa a continuación en el ejemplo es flv.
Si tenemos algún dispositivo móvil que reprodusca mp4, como un Ipod/iphone o algún smartphone podemos convertir nuestros vídeos favoritos a mp4 para visualizarlos en nuestro dispositivo móvil:
ffmpeg -i video.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 700kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320×180 -title X video.mp4
Veamos lo que tenemos:
  • -i Le indicamos el archivo con el que vamos a trabajar, en este caso: video.avi
  • input Vamos a indicar con que vamos a trabajar:
  • -acodec indica el codec de audio a utilizar, en este ejemplo es aac.
  • -ab Es para el bitrate (calidad), en nuestro ejemplo lo indicamos en 128 k. Recuerden que acc es de mayor calidad y mejor compresión que el mp3.
  • -vcodec señala el code de vídeo a utilizar, en nuestro ejemplo es: mpeg4.
  • -b Aquí indicamos el bitrate del video, en nuestro ejemplo de 700 kbps.
  • -mbd Aquí indicamos que vamos a trabajar sobre una serie de bloques del estandar h264.
  • 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2: Ordenes relacionadas a la comprseión h264.
  • -s Señalamos la resolución de salida del video, en el ejemplo es de 320×180.
  • video.mp4 sera nuestro vídeo resultante.
Algo tribial para algunos, pero de necesidad para muchos, un archivo de audio cualquiera, verbigracia wav,  a mp3.
Convertir wav a mp3:
ffmpeg -i audio.wav -acodec mp3 -ab 192 -ar 44100 audio.mp3
  • -i Le indicamos el archivo con el que vamos a trabajar, en este caso: audio.wav.
  • -acodec indica el codec de audio a utilizar, en este ejemplo es mp3.
  • -ab Es para el bitrate (calidad), en nuestro ejemplo lo indicamos en 192 kbps.
  • -ar Establece la frecuencia de muestreo del audio, lo dejamos en 44100.
Espero estos ejemplos les sean de utilidad como lo han sido para mi, la lista de opciones de ffmpeg es en verdad espectacular, no por nada una gran cantidad de programas se basan en las librerías de ffmpeg. Bien les comparto la lista del top de cosas utiles en el ffmpeg extraído de mundogeek:

Combinar una serie de imágenes en un vídeo

ffmpeg -f image2 -i imagen%d.jpg video.mpg

Convertir un vídeo en imágenes

ffmpeg -i video.mpg imagen%d.jpg

Convertir un vídeo para verlo en la PSP

ffmpeg -i entrada.avi -b 300 -s 320×240 -vcodec xvid -ab 32 -ar 24000 -acodec aac salida.mp4

Convertir un avi a gif

ffmpeg -i entrada.avi salida.gif

Añadir el sonido de un archivo de audio a un vídeo

ffmpeg -i audio.wav -i video_entrada.avi video_salida.mpg

Convertir avi a dv

ffmpeg -i entrada.avi -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 salida.dv

o bien

ffmpeg -i entrada.avi -target pal-dv salida.dv

Convertir avi a mpeg para reproductores de dvd

ffmpeg -i entrada.avi -target pal-dvd -ps 2000000000 -aspect 16:9 salida.mpeg

Comprimir avi a divx

ffmpeg -i entrada.avi -s 320×240 -vcodec msmpeg4v2 salida.avi

Comprimir Ogg Theora a Mpeg dvd

ffmpeg -i entrada.ogm -s 720×576 -vcodec mpeg2video -acodec mp3 salida.mpg

Comprimir avi a SVCD mpeg2

Para PAL:

ffmpeg -i entrada.avi -target pal-svcd salida.mpg

Para NTSC:

ffmpeg -i entrada.avi -target ntsc-svcd salida.mpg

Comprimir avi a VCD mpeg2

Para PAL:

ffmpeg -i entrada.avi -target pal-vcd salida.mpg

Para NTSC:

ffmpeg -i entrada.avi -target ntsc-vcd salida.mpg

Codificación con varias pasadas

ffmpeg -i entrada -pass 2 -passlogfile ffmpeg2pass salida

Read Full Post »