Está en la página 1de 19

TRABAJO SOBRE ffmpeg

MARA FERNNDEZ QUERO MIRIAM GARCA PREZ

ffmpeg
INTRODUCCIN ffmpeg es una completa herramienta para el procesamiento de audio y video. ffmpeg es desarrollado bajo Linux, pero puede ser usado en la mayora de los sistemas operativos, incluyendo Windows. El proyecto est compuesto por varias herramientas: ffmpeg es una lnea de comandos para convertir un tipo de video a otro. Soporta tambin grabacin y codificacin en tiempo real desde una tarjeta de televisin. ffserver es un servidor HTTP de streaming multimedia para transmisiones en vivo. ffplay es un simple reproductor basado en SDL. libavcodec es una librera que contiene todos los de/codificadores de audio y video de FFmpeg. La mayora de los codecs son desarrollados desde cero para asegurar el mejor rendimiento y para que su cdigo sea fcil de reusar. libavformat es una librera que contiene los parsers y generadores para todos los formatos de audio y video comunes. SISTEMAS USADOS

Vdeos usados ttulo: asdfmovie3 extensin: .wmv duracin: 1min 25seg tamao: 113,3MB ttulo: Los Pitufos extensin: .avi duracin: 1hora 38min 41seg tamao: 1,4GB Estos datos pueden ser obtenidos con un comando que nos da la informacin de un vdeo. Lo veremos ms adelante. INSTALAR La instalacin de ffmpeg es muy sencilla bajo Linux puesto que se encuentra en los repositorios de todas las distribuciones ms usadas. sudo apt-get install ffmpeg Nosotras lo instalamos con el siguiente comando, ya que fue el que nos indic la consola cuando pusimos ffmpeg sudo apt-get install libav-tools

CODECS Y FORMATOS QUE MANEJA LA VERSIN QUE TENEMOS DE FFMPEG ffmpeg -formats Tambin podemos hacer que nos escriba toda la informacin en un archivo: ffmpeg -formats > formatos-ffmpeg.txt Dice cosas como:

Parece complicado por la cantidad de informacin, pero significa: Primera columna: D = decodifica E = codifica A = audio V = video S = subttulos D = render directo T = maneja la entrada de lugares aleatorios La segunda columna (avi o mp3) es elnombre del codec como debe pasarse para que lo reconozca. Aqu vemos que avi decodifica y codifica.

CONVERTIR El comando principal para convertir un vdeo es: ffmpeg -i entrada.ext salida.ext2 -i indica el video fuente original .ext extensin del video a convertir .ext2 extensin del video final Hay diferentes tipos de formatos a los que podemos convertir un vdeo. Los ms usados son: wmv mpeg si queremos convertir el vdeo asdfmovie3 a un vdeo de extensin .mpeg con nombre asdfmovie3nuevo ffmpeg -i asdfmovie3.wmv asdfmovie3nuevo.mpeg

Si adems queremos saber el tiempo que tarda en hacer la conversin, pondremos time al principio del comando: time ffmpeg -i asdfmovie3.wmv Como vemos, el tiempo que ha tardado ha sido: intel asdfmovie3nuevo.mpeg

amd:

Como vemos, ya tenemos los dos vdeos en la carpeta.

wmv flv ffmpeg -i entrada.wmv salida.flv avi gif ffmpeg -i entrada.avi salida.gif Tambin se puede convertir especificando parmetros. wmv flv ffmpeg -i asdfmovie3.wmv -ab 56 -ar 22050 -r 15 -s 320x240 asdfmovie.flv -ab es el bitrate del audio, es decir, el nmero de bits por segundo para el audio (a mayor nmero mayor calidad) -ar es la frecuencia del sonido en Hz -s indica la resolucin (ancho x alto) del vdeo que queremos obtener. Como es una resolucin no panormica, dar problemas si el vdeo original no est en formato panormico. -r es el nmero de imgenes por segundo (1Hz = 1/seg). Es opcional. intel

amd

Y ahora tenemos los 3 archivos (.wmv, .mpeg y .flv)

wmv DVD tipo PAL ffmpeg -i video de entrada.wmv -target pal-dvd salida.mpeg -target especifica el tipo de formato dvd compatible. Algunas opciones a vcd son svcd, dvd, dv, dv50, pal-vcd, ntsc-svcd NOTA: El uso de las es necesario para poder usar nombres de archivos formados por ms de una palabra. flv mp4 ffmpeg -i entrada.flv -vcodec mpeg4 -s 640x360 -ac 2 salida.mp4 -vcodec es la codificacin que queremos emplear en el vdeo. Es opcional. Si no sabemos cul usar hay dos opciones: no poner nada o poner -vcodec copy -ac son los canales de audio establecidos (1 = mono, 2 = estreo, 6 = envolvente). Si no los establecemos, por defecto se determina un canal. -acodec especifica el codec de audio que queremos emplear. Si no sabemos cual usar hay dos opciones: no poner nada o poner -acodec copy avi videocd (PAL) ffmpeg -i entrada.avi -target pal-vcd salida.mpeg dv DVD ffmpeg -i entrada.dv -target pal-dvd salida.mpeg mpeg xvid ffmpeg -i entrada.mpeg -acodec libmp3lame -vcodec xvid -b 1200kb salida.avi -b es el bitrate del vdeo

avi dv (digital video) ffmpeg -i entrada.avi -target pal-dv salida.dv dv flv ffmpeg -i entrada.dv -ar 22050 -qscale 4 -s 380x284 -f flv salida.flv -qscale = quantum scale esto afecta a como se comprime el vdeo. A menor nmero mejor calida, aunque afecta al tamao del vdeo final. El valor 4 resulta aceptable. -f = formato al que se quiere forzar. mpeg (por ejemplo) 3gp (tpico de telfonos mviles) ffmpeg -i entrada.mpeg -s qcif -r 15 -ac l -ar 8000 -b 256000 -ab 15 salida.3gp qcif (Quarter Common Intermediate Format). Formato para videoconferencias que permite 30 cuadros por segundo con un tamao de 144 lneas y 176 pixeles por lnea, o sea un cuarto de la resolucin del Full CIF. 3gp mp4 ffmpeg -i entrada.3gp -vcodec mpeg4 -acodec libmp3lame salida.mp4 Para poder ver un vdeo en el iPod/iPhone: ffmpeg -i entrada.avi input -acoded aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title elquequeramos salida.mp4 Para poder ver un vdeo en la PSP: ffmpeg -i entrada.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac salida.mp4 Para pasar un vdeo a FULL HD (formato 16:9): ffmpeg -i entrada.flv -sameq -pix_fmt rgb48le -s 1920x1080 -aspect 16:9 salida.mp4 -pix_fmt rgb48le ayuda a minimizar la prdida de calidad, pues permite cambiar el formato de pixel de 16 bits de informacin a 48

dv avi ffmpeg -threads 2 -f dv -i entrada.dv -vcodec h264 -g 30 -deinterlace -b 900k -s 640x360 -padtop 60 -padbottom 60 -padcolor 000000 -aspect 4:3 -acodec mp3 -ab 64k salida.avi COMPRIMIR avi divx ffmpeg -i entrada.avi -s 320x240 -vcodec msmpeg4v2 salida.avi convertir un vdeo para que ocupe menos y podamos subirlo a internet sin tener que esperar demasiado tiempo y sin que se note de forma significativa la prdida de calidad: ffmpeg -i entrada.mpeg -sameq salida.webm OBTENER INFORMACIN DE UN VDEO ffmpeg -i asdfmovie.flv intel

amd

CAMBIAR RESOLUCIN ffmpeg -i Los Pitufos.avi -s 320x240 pitufos_resoluc.flv -s 320x240 indica que queremos redimensionar la resolucin del video, y que ahora ser de 320240. Importante poner la extensin de salida, de lo contrario tendramos que aadir algo como -vcodec flv para indicar que el formato de salida es Video Flash.

intel

amd

Como podemos observar, en el primer vdeo se ve muy bien el vdeo (sobre todo si nos fijamos en el fondo de la imagen), mientras que en la otra imagen, la calidad es mucho peor, y adems, hay unas franjas negras a los lados, por haber puesto menos resolucin.

LIMITAR DURACIN O TAMAO Para poner un lmite de tiempo: ffmpeg -i Los Pitufos.avi -t 20 pitufos20.flv El resultado es un vdeo cuya duracin es de 20 segundos (los primeros veinte segundos del vdeo original).

intel

amd

Tambin podemos usarlo con la opcin -ss, de tal manera que podamos escoger entre un tiempo especfico dentro del vdeo. Por ejemplo, si deseamos extraer desde el segundo 6 hasta el segundo 15 de un vdeo, ejecutaramos el siguiente comando: ffmpeg -i video_original.flv -ss 6 -t 9 video_salida.avi Ahora bien, si lo que deseamos es limitar el espacio que ocupa en disco, podramos hacer algo como esto: ffmpeg -i video_original.flv -fs 400000 video_salida.avi El resultado es un vdeo cuyo tamao es de 400KB. -t duracion, limita la duracin del vdeo. Se expresa en segundos (y es posible colocar decimales), y adems admite el siguiente formato hh:mm:ss[.xxx] (horas:minutos:segundos. [milisegundos]) -fs limit_size, limita el tamao del archivo -ss position, se posiciona en un momento exacto dentro del vdeo de entrada, antes de procesarlo. Tambin soporta el formato hh:mm:ss[.xxx]

EXTRAER AUDIO ffmpeg -i entrada.avi audio.mp3 Recuerda que el video puede estar en cualquiera de los formatos soportados por ffmpeg, y que el audio queda en mp3. De igual manera si deseas que el formato del audio sea WAV, simplemente pones: ffmpeg -i entrada.avi audio.wav ffmpeg deducir por medio de la extensin, el tipo de audio de salida que deseas. RECORTAR REAS ESPECFICAS Si queremos recortar el rea especfica de un vdeo, por ejemplo, crear un nuevo vdeo que contenga nicamente la parte izquierda del vdeo, si dicho tiene resolucin de 320 pxeles de ancho, podramos cortarle 160 pxeles de la parte derecha: ffmpeg -i entrada.flv -cropright 160 salida.flv Por supuesto, es posible recortar reas desde todos los lados del vdeo. Por ejemplo, si se deseara cortar 10 pxeles a los lados y 20 arriba y abajo, el comando sera: ffmpeg -i entrada.flv -cropleft 10 -cropright 10 -croptop 20 -cropbottom 20 salida.flv -cropleft recortar los primeros pxeles de izquierda a derecha -cropright recortar los primeros pxeles de derecha a izquierda -croptop recortar los primeros pxeles de arriba a abajo -cropbottom recortar los primeros pxeles de abajo a arriba OBTENER SECUENCIAS DE IMGENES Esto es bastante til, y nos permite obtener una secuencia de imgenes numeradas a partir de un vdeo. ffmpeg -i asdfmovie3.wmv imagenes%d.jpg ffmpeg reemplazar %d por una secuencia de nmeros segn vaya generando las imgenes. ffmpeg codifica las imgenes haciendo un auto-reconocimiento de la extensin, an as puedes especificar el formato de las imgenes de salida usando la opcin vcodec intel amd

Aqu vemos todas las imgenes que se van generando a partir del vdeo.

Tambin podemos obtener una imagen concreta (por ejemplo del segundo 10): ffmpeg -itsoffset 0 -i entrada.mpeg -ss 10 -vcodec png -vframes 1 imagen.png -itsoffset establece el retraso en segundos sobre la captura de pantalla. El formato [-]hh:mm:ss[.xxx] tambin est soportado. -vframes 1 indica que slo se desea un frame. GENERAR VDEO A PARTIR DE SECUENCIAS DE IMGENES Una vez tengamos un conjunto de imgenes enumeradas (imagen1.jpg, imagen2.jpg, imagen3.jpg, por ejemplo), ejecutamos lo siguiente: ffmpeg -f image2 -i imagen%d.jpg video.mpeg El comando -f image2 le indica a ffmpeg que el formato de entrada sern imgenes. Mientras que el %d de -i imagen%d.jpg ser reemplazado por una secuencia de nmeros. Tambin podemos hacer un vdeo con una sola imagen (por ejemplo, de 5 segundos): ffmpeg -loop_input -i imagen.png -t 5 mas_tiempo.mpeg -loop input permite establecer un bucle temporal sobre la imagen

UNIR VDEOS/ DESENTRELAZAR A la hora de unir un video desde la consola, lo mejor es usar el comando cat para concatenar los vdeos. El problema es que hay muy pocos formatos de vdeo que puedes unir con este comando (MPEG-1, MPEG-2 PS, DV). Por lo tanto debes primero convertir los vdeos a mpeg, unirlos, y luego convertirlos al formato en el que ests trabajando. convertir los videos a mpeg ffmpeg -i Los Pitufos.avi -sameq pituf.mpeg ffmpeg -i asdfmovie3.wmv -sameq asdf.mpeg unir los vdeos usando cat cat pitu.mpeg asdf.mpeg > union_videos.mpeg convertir el vdeo resultante al formato deseado ffmpeg -i union_videos.mpeg -sameq video_final.avi Si sumamos todos los tiempos, obtenemos: intel REAL: 22,5052m USER: 17,64938m SYS: 34,554s amd REAL: 28,264483m USER: 24,13963m SYS: 0,934067m AIDIR O QUITAR PISTA DE SONIDO supongamos que queremos dejar un vdeo en silencio para montarle nuestro propio audio, entonces ejecutamos el siguiente comando: ffmpeg -i Los Pitufos.avi -an mudo.avi La opcin -an indica a ffmpeg que el video resultante no tendr audio. intel amd

Ahora le aadimos una pista de sonido al vdeo: ffmpeg -i audio.mp3 -i mudo.avi mudo_audio.avi El vdeo resultante tendr la longitud del archivo ms largo.

CONVERTIR VDEO EN GIF ffmeg -i video.mpeg imagen.gif Sin embargo, suele salir un error [gif 0xb7f2b208] ERROR: gif only handles the rgb24 pixel format. Entonces, el comando debe ser: ffmpeg -i video.mpeg -pix_fmt rgb24 imagen.gif Con esto, le indicamos a ffmpeg que el formato de los pxeles ser rgb24. GRABAR NUESTRO ESCRITORIO Con el siguiente comando, conseguiremos grabar nuestro escritorio mientras que trabajamos con l, adems, de grabar tambin nuestra voz por el micrfono para ir dando instrucciones. ffmpeg -async 1 -f alsa -i plughw:0,0 -f x11grab -pix_fmt rgb48le -r 25 -s [ancho]x[alto] -i :0.0 -b 25000k VideoSalida -async 1, hace que el audio y el vdeo vayan sncronos -f alsa, le decimos que queremos grabar desde un dispositivo alsa -i plughw:0,0, es una opcin para identificar un micrfono. Puede variar segn el micrfono usado. -f x11grab, esto le indica al programa que quiere grabar la X (entorno grfico) -pix_fmt rgb48le, simplemente utiliza un pixel que puede almacenar mas informacin -r 25, indica que se tomarn 25 imgenes por segundo -s [ancho]x[alto], le dice el tamao de la imagen, no puede ser mayor que la resolucin de tu monitor. -i :0.0, esta es la pantalla de la que se va a grabar, si solo tienes una, ser identificada -b 25000k indica que quiero un bitrate de 25000k CMARA LENTA Debemos instalar un complemento: sudo aptitude install ffmpeg mjpegtools El comando para poner cmara lenta es: ffmpeg -i entrada.flv -f yuv4mpegpipe - | yuvfps -s 12:1 -r 12:1 | ffmpeg -f yuv4mpegpipe -i - -b 28800k camara_lenta.flv Con este paso, se reduce el framerate de 30 a 12 fps, dando lugar al efecto de cmara lenta. Si el framerate lo hubisemos puesto mayor a 3 fps, hubisemos obtenido un vdeo a cmara rpida.

GRFICAS COMPARATIVAS CONVERSIN asdfmovie de .wmv a .mpeg

CONVERSIN asdfmovie de .wmv a .flv

OBTENER INFORMACIN DE asdfmovie

CAMBIAR RESOLUCIN Los Pitufos.avi

LIMITAR DURACIN Los Pitufos.avi

OBTENER SECUENCIAS DE IMGENES DE asdfmovie.wmv

UNIR VDEOS

QUITAR PISTA DE SONIDO DE Los Pitufos.avi

bibliografa http://casidiablo.net/ffmpeg/ http://foro.noticias3d.com/vbulletin/showthread.php?t=345633 http://es.scribd.com/doc/46514468/Manual-basico-del-comando-ffmpeg www.ubuntu-guia.com/2009/07/ffmpeg.html http://www.guardarcomofilms.net/index.php/2009/12/27/mas_tutorial_de_ffmpeg?blog=4 http://mundogeek.net/archivos/2008/10/10/19-cosas-utiles-que-puedes-hacer-con-ffmpeg/ http://blog.sandipb.net/2008/09/21/using-ffmpeg-on-ubuntu-to-convert-dv-videos-for-videosharing-websites/ http://www.makeuseof.com/tag/5-easy-to-use-freeware-video-converters/ http://lifehacker.com/316478/top-10-free-video-rippers-encoders-and-converters

También podría gustarte