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
¿Convertir un vídeo para verlo en el Meizu miniplayer? (tenía un script por ahí, pero lo he perdido ^_^U)
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
Esa es útil, gracias Xoán 🙂
Convertir mpeg a XviD…
ffmpeg -i archivo.mpg -acodec mp3 -vcodec xvid -b 687 nuevoarchivo.avi
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?
Hola DoodoM, el gtkpod va muy bien y puedes pasar del apestoso itunes que te amarra a una sola máquina. También puedes probar de instalar el RockBox, desafortunadamente no funciona con todas las razas de ipod’s, pero en caso que lo puedas instalar vale la pena probarlo pues además de los formatos «normales» tiene codecs para ogg, flac y otros.
Hola DooDoM , quizá floola o gtkpod-aac
Este es el tipo de artículos que van directos a Delicious. ¡Gracias! 🙂
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
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.
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!!
opcion -sameq
Convertir un .mkv a .avi añadiendole subtitulos, eso sería interesante…
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
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:
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.
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/
Ya veo que estás puesto en el tema, eduo. 😉
Muchas gracias por los aportes 🙂
Yo para el mkv utilizo las utilidades de matroska, aunque tenga que hacerlo de dos veces… el resultado es bueno jeje
muy bueno el artículo, yo uso este que está faltando
flv–>avi
como cuando lo bajas desde youtube 😀
ffmpeg -i entrada.flv salida.avi
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
convertir .mpeg a .mov
si alguien sabe como….
Yo tengo Itunes en mi Ubuntu,
pero no tengo Ipod jejeje, exelente informe.
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?
genial, gracias por el articulo.
La verdad que este ejecutable es la repera 😀 hace de tó!
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 parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 MAQ${NUM}.MP4
ffmpeg -y -i «$1» -f image2 -ss 15 -vframes 1 -r 1 -s 160×120 -an MAQ${NUM}.THM
__________________________________________________
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.
es muy interesante, no solo el articulo, sino los comentarios.
Te vengo leyendo hace rato y te lo tengo que decir… sos groso, sabelo
Muy buena guía. Excelentísima…
A mis Marcadores para explotarla en su momento!
Gracias
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
@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 😉
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!
Gracias soymicmic, me ha ido de fabula, funciona perfectamente. Intentare profundizar.
Saludos cordiales
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
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
Pingback: duckman notes » Comandos utiles con ffmpeg (o “la gloria de la edicion de video” en linux)
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…
He instalado ffmpeg desde los repositorios de Ubuntú, pero al tratar de convertir a mp4 me figura el siguiente problema:
Unknown decoder ‘aac’
He googleado mucho, pero nada… Soy un usuario nuevo de Ubuntú y agradecería quien me ayude explicándome de la forma más básica que pueda.
Entonces, ¿cómo instalo ffmpeg para que sea compatible con aac?
A Eduardo:
……………..
scan@bar:~/video/mpeg$ ffmpeg -i as.mpeg as.swf
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-shared –prefix=/usr
libavutil version: 1d.49.3.0
libavcodec version: 1d.51.38.0
libavformat version: 1d.51.10.0
built on Jul 23 2008 22:38:24, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Seems stream 0 codec frame rate differs from container frame rate: 2997.00 (2997/1) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ‘as.mpeg’:
Duration: 00:09:35.0, start: 0.000000, bitrate: 448 kb/s
Stream #0.0(und): Video: mpeg4, yuv420p, 320×240, 29.97 fps(r)
Stream #0.1(und): Audio: mp2, 22050 Hz, mono, 128 kb/s
Output #0, swf, to ‘as.swf’:
Stream #0.0: Video: flv, yuv420p, 320×240, q=2-31, 200 kb/s, 29.97 fps(c)
Stream #0.1: Audio: 0x0000, 22050 Hz, mono, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Unsupported codec for output stream #0.1
……………….
A mí lo que me falta es averiguar el codec: Unsupported codec for output stream #0.1
Hola, he estado probando a pasar imágenes a mpg y avi, pero en el vídeo resultante, las imágenes pasaban demasiado rápido.Al final he podido solucionarlo. Si a alguien le ha pasado lo mismo el comando que he utilizado es el siguiente:
ffmpeg -f image2 -r 1 -i imagen%d.jpg -r 25 video.avi
Esto deja un segundo por imagen aprox. Y si quereis que vayan más despacio:
ffmpeg -f image2 -r 0.2 -i imagen%d.jpg -r 25 video.avi
Este último deja unos 5 segundos por imagen
Por otra parte, sólo puedo convertir las 9 primeras fotos del directorio, desde la «imagen1.jpg» hasta «imagen9.jpg». Desde la «imagen10.jpg» en adelante no me las reconoce.
¿Alguien sabe la expresión que tengo que poner en vez de «imagen%d.jpg» para poder convertir las 27 fotos que tengo?
por lo q no te funciona de la 9 en adelante es por tu cogigo establece 1 digito para q te jale de la 10 al 99 tenes q hacer otro codigo imagen%2d
Pasar imágenes a mpg y avi solucionado:
Al final lo he podido solucionar visitando la página web del proyecto ffmpeg (http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html#SEC7)
, la expresión que hay que utilizar es : «imagen%02d.jpg» (esto vale para las fotos con nombre: imagen00.jpg, imagen01.jpg, imagen02.jpg etc… hasta la imagen99.jpg
Si utilizamos la expresión: «imagen%03d.jpg» valdrá para las fotos con nombre: imagen000.jpg, imagen001.jpg, imagen002.jpg etc… hasta la imagen999.jpg
¡Felicidades!
Tu página me ha sacado de unos buenos líos … muchas gracias y un cordial saludo.
… realmente tan bueno ésto … en inglés no encontré algo tan bonito.
Pingback: Capturar fotogramas de un vídeo desde la consola
Hola gracias por tu página me ha ayudado muchísimo pues no encontraba como codificar archivos para mi MP5
en este link hay mas detalles de FFMPEG hasta como pegar subtitulos y realizar efectos
http://casidiablo.net/category/ffmpeg/
Como siempre un artículo de mucho contenido y mucha utilidad. Gracias!!
Muy buenos los consejos!!! Me encantan los comandos!! lo malo es que no me s ninguno…
Una pregunta:
¿Como puedo seleccionar una pista de audio de un archivo mkv al pasarlo a mpeg para DVD?
Por defecto me coge la 1 que esta en ingles.
Gracias
Me tira el siguiente error cuando quiero pasar d avi a flv… haber si puedes ayudarme
leslie@cheer:~/Escritorio/Super.2009.Cam.Latino.part/Super.2009.Cam.Latino.part1$ ffmpeg -i Super.Cam.Latino.\[Www.TheBarsally.coM\].avi -ab 56 -ar 44100 -b 200 -r 15 -s 320×240 -f flv super.flv
FFmpeg version git-91be88c, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: –enable-gpl –enable-nonfree –enable-shared –enable-pthreads –enable-libx264 –enable-libfaac –enable-libtheora
libavutil 50. 3. 0 / 50. 3. 0
libavcodec 52.32. 0 / 52.20. 0
libavformat 52.36. 0 / 52.31. 0
libavdevice 52. 2. 0 / 52. 1. 0
libswscale 0. 7. 1 / 0. 7. 1
built on Jul 24 2009 21:22:03, gcc: 4.3.3
Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 29.97 (30000/1001)
Input #0, avi, from ‘Super.Cam.Latino.[Www.TheBarsally.coM].avi’:
Duration: 01:18:05.58, start: 0.000000, bitrate: 1340 kb/s
Stream #0.0, 1001/30000: Video: mpeg4, yuv420p, 352×264 [PAR 1:1 DAR 4:3], 1/30000, 29.97 tbr, 29.97 tbn, 30k tbc
Stream #0.1, 1/16000: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
WARNING: The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s
WARNING: The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s
Incorrect frame size
se podra convertir a fws de flash???
¿Alguien sabe como cambiar la calidad de un archivo mp3 sin que borre la ID3 tag del archivo en cuestión? He estado buscando en el manual y no encuentro nada. Gracias
Estoy intentando cambiar un .flv a .swf y me da el siguiente error:
Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.92 (359/12)
Input #0, flv, from ‘atento_01.flv’:
Duration: 00:01:21.71, start: 0.000000, bitrate: 128 kb/s
Stream #0.0: Video: flv, yuv420p, 320×176, 29.92 tbr, 1k tbn, 1k tbc
Stream #0.1: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
File ‘atento_01.swf’ already exists. Overwrite ? [y/N] y
Output #0, swf, to ‘atento_01.swf’:
Stream #0.0: Video: flv, yuv420p, 320×176, q=2-31, 200 kb/s, 90k tbn, 29.92 tbc
Stream #0.1: Audio: 0x0000, 44100 Hz, stereo, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Unsupported codec for output stream #0.1
Alguien podría ayudarme ?
Gracias !
En windows se puede crear con SUPER un 3gp que lo podemos ver mientras lo estamos descargando. Pero no he podido hacer eso con ffmpeg para 3gp en linux. Alguien sabe como hacerlo?
Explícate mejor, no entiendo lo que quieres hacer :/. ffmpeg sirve para encodar/transformar multiples formatos de vídeo, no para descargar, si quieres descargar un vídeo esta wget o de forma gráfica tienes el clásico JDonwloader.
Para muxear o transformar vídeos esta ffmpeg y mencoder ambos son la mar de buenos, en Windows yo utilizaba un programa algo feo y que tenía muchos errores llamado TotalvideoConverter también probé con otro que se llamaba FormatFactory que decían que era el mejor, y si que lo era pero aun así no podía con muchos formatos y era un martirio, realmente era un fastidio que no encontrará eb aquella epoca ffmpeg, sin duda el mejor de todos y con mencoder ya son dos caballos de batalla que no tienen rival, rápidos eficaces nunca me han fallado.
Molt bona pàgina.
Quan passe fitxers avi a mpg baixa la resolució. Com puc controlar la resolució del fitxer d’eixida?