19 cosas útiles que puedes hacer con ffmpeg

« Oferta de Dreamhost por sus 11 años | Ventanas al estilo Windows Vista en XP »

Esta es una recopilación de ejemplos de cosas útiles que se pueden hacer con ffmpeg, como puede ser convertir vídeos para PSP, iPod o iPhone, extraer el audio de un vídeo o extraer imágenes de un vídeo.

Obtener información de un vídeo

ffmpeg -i video.avi

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

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.

Convertir un vídeo en imágenes

ffmpeg -i video.mpg imagen%d.jpg

Con este comando se crearan varias imágenes imagen1.jpg, imagen2.jpg, … Para las imágenes resultantes se pueden usar los formatos PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF o SGI.

Convertir un vídeo para verlo en el iPod/iPhone

ffmpeg -i entrada.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320×180 -title X salida.mp4

* Video original: entrada.avi
* Codec de audio: aac
* Bitrate del audio: 128kb/s
* Codec de vídeo: mpeg4
* Bitrate del vídeo: 1200kb/s
* Tamaño del vídeo: 320×180
* Vídeo generado: salida.mp4

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

* Video original: entrada.avi
* Codec de audio: aac
* Bitrate del audio: 32kb/s
* Codec de vídeo: xvid
* Bitrate del vídeo: 1200kb/s
* Tamaño del vídeo: 320×180
* Vídeo generado: salida.mp4

Extraer el sonido de un vídeo, y guardarlo como MP3

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

* Video original: video.avi
* Codec de audio: mp3
* Bitrate del audio: 192kb/s
* Archivo generado: audio.mp3

Convertir un wav en MP3

ffmpeg -i audio.wav -ar 44100 audio.mp3

Convertir un avi a mpg

ffmpeg -i entrada.avi salida.mpg

Convertir un mpg a avi

ffmpeg -i entrada.mpg salida.avi

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 flv

ffmpeg -i entrada.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320×240 -f flv salida.flv

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

* target pal-dvd: Formato de salida
* ps 2000000000: Tamaño máximo del archivo resultante en bits (en el ejemplo, 2Gb)
* aspect 16:9: Panorámico

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

¿Se os ocurre algún otro comando que merezca ser el 20?

Traducción de 19 comandos ffmpeg para todas las necesidades, adaptado a su vez de ffmpeg mediante ejemplos

Relacionadas

Comentarios
  1. Nekete

    ¿Convertir un vídeo para verlo en el Meizu miniplayer? (tenía un script por ahí, pero lo he perdido ^_^U)

  2. Xoán Seoane

    Convertir 3gp a mpeg4 …

    ffmpeg -i archivo.3gp -vcodec mpeg4 -acodec mp3 nuevoarchivo.avi

    Convertir mpeg a 3gp…
    ffmpeg -i archivo.mpeg -s qcif -r 15 -ac 1 -ar 8000 -b 256000 -ab 15 nuevoarchivo.3gp

  3. Esa es útil, gracias Xoán :)

  4. Xoán Seoane

    Convertir mpeg a XviD…

    ffmpeg -i archivo.mpg -acodec mp3 -vcodec xvid -b 687 nuevoarchivo.avi

  5. [DoodoM]

    Lo de cómo convertir vídeos para el iPod Touch me viene como anillo al dedo para no tener que arrancar el apestoso Windows XP. Bueno, qué digo, si necesito el iTunes para meter los vídeos. ¿O acaso hay alguna alternativa funcional?

  6. Xoán Seoane

    Hola DooDoM , quizá floola o gtkpod-aac

  7. Este es el tipo de artículos que van directos a Delicious. ¡Gracias! :)

  8. LaPeGa

    Sencillamente genial!
    Hace años que me agarro a trompadas con todas las interfaces gráficas que existen para poder convertir video.
    Con este post estoy hecho: abro la terminal, escribo una línea, y pronto!
    Por las dudas, alguien sabe cómo bajarle la calidad a un video?
    Gracias

  9. Estos los encontré hace unos días y son interesantes, pero no son del todo buenos. Especialmente los que apuntan a formatos. El del iPod es bastante malote.

    Si recuerdo llegando a casa comparto los que he sacado al final del iPod touch que funcionan de maravilla. El que está aquí funciona fatal.

    Uno de los problemas de manejar ffmpeg es que para ser realmente poderoso tienes que hacerte (o compilar) una versión con muchísimas librerías y eso no es trivial. Voy a ver si mi version actual la puedo compilar para windows y linux, ya que tengo el fuente listo para mac.

    NOTA: lo de "input" sobra en los ejemplos si ya hay un fichero. Es un marcador de donde iría el nombre del fichero a convertir. Lo estais poniendo asi que podeis quitar lo de input.

    NOTA2: Xoan: Si conviertes a MP4 se bueno y no le pongas extensión avi. MP4 es un contenedor, principalmente. No esta bien "convertir a mp4" y dejar un "avi" al final.

    NOTA3: Hay muchos programas que manejan ffmpeg "tras bambalinas". La mayoría innecesariamente complicados. Si quereis algunos simples siempre podeis usar WinFF para Windows y Linux o Handbrake para mac. Hasta hace unos dias la mejor opcion en Mac eran VisualHub y iSquint pero han decidido salirse del mercado y no han compartido su codigo fuente. El ultimo beta de Handbrake, sin embargo, permite convertir cualquier fichero y no solo DVDs. Y tiene unos valores predeterminados excelentes.

  10. luis

    Convertir un mpg a avi
    ffmpeg -i entrada.mpg salida.avi

    Lo he probado con una película, ya que mi reproductor de DVD no reproduce el formato mpg.
    Lo que pasa es que al pasar el videa a avi pierde muchísima calidad!
    ¿Hay alguna manera de que no sea así?

    Gracias!!

  11. Alvaro

    Convertir un .mkv a .avi añadiendole subtitulos, eso sería interesante…

  12. Pues no lo he probado pero diria que es interesante, poner una marca de agua en el video:

    ffmpeg -i /tmp/clip.mp4
    -vhook “/usr/lib/vhook/drawtext.so
    -f /usr/share/fonts/corefonts/comic.ttf -x 5 -y 5
    -t ThisIsATest.com”
    /tmp/out.avi

  13. Un problema de estos "trucos" es que están dando la impresión de que convertir cosas con ffmpeg de forma aceptable es algo simple.

    Para dejar claro cuan poco simple es, nada mejor que un ejemplo real:

    ffmpeg -i video1 -pass 1 -s 320×240 -vcodec mpeg4 -vtag XVID -b 500kb -mbd rd -flags +4mv+trell+aic -cmp 2 -subcmp 2 -g 300 -acodec copy video2.mp4

    ffmpeg -i video -pass 2 -s 320×240 -vcodec mpeg4 -vtag XVID -b 500kb -mbd rd -flags +4mv+trell+aic -cmp 2 -subcmp 2 -g 300 -acodec mp3 -ab 128 -ac 2 -async 1 D2-video1

    Eso son dos pasadas para convertir un video asegurandose que se sincronizan correctaente, se controla el tamaño y el bitrate y se especifican los formatos de destino.

    Recordad, siempre, que "avi", "mp4", "mov", "mkv" son contenedores, no codecs. Un "avi" sin mas no especifica qué codecs utiliza, un "mp4" puede contener 16 codecs diferentes de video.

    Eso sin incluir que los parametros de cada codec pueden dictar si se ve en un iPod touch, o en una PSP.

    Es por eso que surgen entradas como esta, enseñando atajos para cosas más simples.

  14. Alvaro: Lo permite, sin problema. Lo complicado viene con la fuente de esos subtitulos. Si hablas de SRT empieza a complicarse y empiezas a tener que usar mencoder o mp4box y tus opciones de formatos empiezan a limitarse.

    Si quieres que los subtitulos sean activables/desactivables entonces queda chulisimo pero bastante, bastante complicado de configurar en principio. Asi es como tengo yo subtitulos en mp4s en el ipod:
    http://www.flickr.com/photos/eduo/2798521797/in/set-72157602209052558/

  15. Ya veo que estás puesto en el tema, eduo. ;)

    Muchas gracias por los aportes :)

  16. DiCrEn

    Yo para el mkv utilizo las utilidades de matroska, aunque tenga que hacerlo de dos veces… el resultado es bueno jeje

  17. Matias

    muy bueno el artículo, yo uso este que está faltando
    flv-->avi
    como cuando lo bajas desde youtube :D
    ffmpeg -i entrada.flv salida.avi

  18. Miguel BR

    Falta de un formato dpg que es el formato que usa el moonshell. el reproductor para el Nintendo DS. Una vez vi como se convertia pero ya no recuerdo la pagina donde lo vi

  19. convertir .mpeg a .mov
    si alguien sabe como….

  20. juancarlospaco

    Yo tengo Itunes en mi Ubuntu,
    pero no tengo Ipod jejeje, exelente informe.

  21. david esquivel

    El 20.
    Que tal, crear un ringtone de un video ;).

    Si quieres el audio de un video puedes hacer esto:

    ffmpeg -i Video.flv -vn -acodec copy sonido.mp3

    o
    ffmpeg -i http://webpage.com/ruta/Video.flv -vn -acodec copy sonido.mp3

    El formato del video puede variar ;). La opcion de "-acodec copy" funciona solo si el audio del video viene en mp3, si no es asi, usa "-acodec mp3"

    Si quieres extraer solo una parte del audio, puedes hacer lo siguiente:

    ffmpeg -i Video.flv -vn -acodec copy -ss 43 -t 5 sonido.mp3

    o

    ffmpeg -i http://webpage.com/ruta/Video.flv -vn -acodec copy -ss 43 -t 5 sonido.mp3

    Este comando usa las opciones -ss (START TIME) y -t (DURATION) que permiten extraer solo una parte del audio de un video ;).

    Que tal, se queda?

  22. genial, gracias por el articulo.

    La verdad que este ejecutable es la repera :D hace de tó!

  23. Allanadja

    Bueno yo utilizo un script para convertir los videos a formato PSP. Aqui se los dejo:
    __________________________________________________

    #!/bin/bash
    [ $# -eq 1 ] || exit -1

    NUM=$RANDOM
    [ $NUM -lt 10000 ] && NUM=1$NUM

    ffmpeg -i "$1" -acodec aac -ab 128 -vcodec h264 -b 768kb -ar 48000 -mbd 2 -coder 1 -cmp 2 -subcmp 2 -s 480×272 -aspect 16:9 -r 30000/1001 -title "$1" -f psp -flags loop -trellis 2 -partitions parti4×4+parti8×8+partp4×4+partp8×8+partb8×8 MAQ${NUM}.MP4

    ffmpeg -y -i "$1" -f image2 -ss 15 -vframes 1 -r 1 -s 160×120 -an MAQ${NUM}.THM

    __________________________________________________

  24. Falta el comando para convertir películas de Pajares y Esteso en películas de Hale Berry. Aparte de eso, imprescindible entrada que me guardo en los favoritos para estudiarla con detenimiento. Gracias.

  25. pablo

    es muy interesante, no solo el articulo, sino los comentarios.
    Te vengo leyendo hace rato y te lo tengo que decir… sos groso, sabelo

  26. Muy buena guía. Excelentísima…

    A mis Marcadores para explotarla en su momento!

    Gracias

  27. manuel

    Hola,
    he intentado hacer un video a partir de imagenes y na de na!!
    La salida que me da es esta :
    manuel@manuel-laptop:~/Imágenes/perpi y psiqui y gatos$ ffmpeg -f image2 -i imagen%d.jpg video.mpg
    FFmpeg version r11872+debian_3:0.svn20080206-12ubuntu3, Copyright (c) 2000-2008 Fabrice Bellard, et al.
    configuration: --enable-gpl --enable-pp --enable-swscaler --enable-x11grab --prefix=/usr --enable-libgsm --enable-libtheora --enable-libvorbis --enable-pthreads --disable-strip --enable-libfaad --enable-libfaadbin --enable-liba52 --enable-liba52bin --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 Oct 3 2008 22:40:31, gcc: 4.3.2
    imagen%d.jpg: I/O error occured
    Usually that means that input file is truncated and/or corrupted.
    Podeis ayudarme? ya me ha ocurrido con otras versiones de ubuntu, ahora uso la beta de intrepid y en general me va bien.
    Saludos cordiales

  28. soymicmic

    @manuel: intentalo con mencoder:

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

    Espero que te sirva ;)

  29. Me encanta lo que escribes Raul, pero creo que no probaste antes de ponerlos XD.

    En fin, gran aporte, yo también estoy escribiendo tips sobre lo mismo, aunque un poco más completo.

    Un saludo!

  30. manuel

    Gracias soymicmic, me ha ido de fabula, funciona perfectamente. Intentare profundizar.
    Saludos cordiales

  31. Hola me echan una mano es que subo videos a VIMEO y estube lellendo como hacer los video en formato para Vimeo y la verdad no me entere bien pero mencionaron esto de la consola no se si alguien sabra algo para combertirlo desde un avi

  32. Eduardo

    Hola, muy buen tutorial pero para pasar de swf a mpg, vi una orden como esta: ffmpeg -i archivo.swf salida.mpg pero al ejecutar me sale esto:
    ———————————-
    FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
    configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-libmp3lame --enable-libfaadbin --enable-libfaad --enable-libfaac --enable-xvid --enable-x264 --enable-liba52 --enable-amr_nb --enable-amr_wb --enable-shared --prefix=/usr
    libavutil version: 1d.49.3.0
    libavcodec version: 1d.51.38.0
    libavformat version: 1d.51.10.0
    built on Jul 29 2008 18:21:25, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
    [swf @ 0xb7f99110]Compressed SWF format not supported
    about.swf: I/O error occured
    Usually that means that input file is truncated and/or corrupted.
    ————————————--

    Espero me puedan ayudar, gracias

  33. Enrique

    Hola muy bueno el recurso…

    Estoy investigando acerca de programas que permiten capturar la actividad del usuario en la pantalla. ffmpeg tiene alguna opción para realizar trabajos como camtasia, camstudio… sobretodo en la plataforma Windows ????

    De antemano gracias…

Deja un comentario