Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Basico Del Comando Ffmpeg
Manual Basico Del Comando Ffmpeg
Licencia:
Esta obra est bajo una licencia Attribution-NonCommercial-ShareAlike 3.0 Unported de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-ncsa/3.0/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, US
ndice de contenido
1.Introduccin.......................................................................................................................................4 2.Instalacin del comando ffmpeg........................................................................................................4 3.Ejemplos de manipulacin de vdeo y audio.....................................................................................4 4.Bibliografa......................................................................................................................................14
1. Introduccin
FFmpeg es un maravilloso ejemplo de software libre para la manipulacin de vdeo, audio y fotografa. Aunque naci para GNU/Linux, puede compilarse en la mayora de sistemas operativos. Entre otras cosas permite: a) Cambiar de formato. b) Comprimir, extraer imgenes y vdeo. c) Hacer un vdeo a partir de imgenes. d) Insertar marcas de agua (texto o fotografas) en un vdeo. e) Etc.
2. De wmv mpeg:
ffmpeg -i entrada.wmv salida.mpeg
3. De avi gif:
ffmpeg -i entrada.avi salida.gif
Notas: a) -ab es lel bitrate del audio, es decir, es el nmero de bits por segundo para el audio (a mayor nmero mayor calidad). b) -ar es la frecuencia del sonido en Hz. 4
c) -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. d) -r es el nmero de imgenes por segundo (1 Hz = 1 / seg). Es opcional. 5. Cuando el nombre del vdeo est formado por varias palabras (por ej emplo de wmw DVD tipo PAL):
ffmpeg -i "video de entrada".wmv -target pal-dvd salida.mpeg
Nota: a) El uso de las es necesario para poder usar nombres de archivos formados por ms de una palabra. 6. De flv mp4 especificando varios parmetros:
ffmpeg -i entrada.flv -vcodec mpeg4 -s 640360 -ac 2 salida.mp4
Notas: a) -vcodec es la codificacin que queremos emplear en el vdeo. Es opcional. Si no sabemos cual usar hay dos opciones: no poner nada o poner -vcodec copy. b) -ac son los canales de audio establecidos (1=mono, 2=estreo, 6=envolvente). Si no los establecemos, por defecto se determina un canal. c) -acodec especifica el codec de audio que queremos emplear. Si no sabemos cual usar hay dos opciones: no poner nada o poner -acodec copy.
Nota: a) -target especifica el tipo de formato dvd compatible. Algunas opciones a "vcd" son: "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd"...
8. De avi divx:
ffmpeg -i entrada.avi -s 320240 -vcodec msmpeg4v2 salida.avi
9. De dv DVD:
ffmpeg -i entrada.dv -target pal-dvd salida.mpeg
Nota:
a)
12. De dv flv:
ffmpeg -i entrada.dv -ar 22050 -qscale 4 -s 380x284 -f flv saluda.flv
Notas: a) -qscale = quantum scale esto afecta a como se comprime el vdeo. A menor numero mejor calidad, aunque afecta al tamao del vdeo final. El valor 4 resulta aceptable. b) -f = formato al que se quiere forzar. 13. Extraer 120 segundos de un vdeo a partir del segundo 60:
ffmpeg -i entrada.mpeg -t 120 -ss 60 -sameq vdeo_salida.mpeg
Notas: a) -t es la duracin en segundos del vdeo que se desea extraer (en este caso 120 segundos). b) -ss es el tiempo en segundos desde donde se desea cortar el vdeo (en este caso desde e1 minuto). 6
c) -sameq para que el vdeo de salida mantenga la misma calidad que el vdeo de entrada. d) El tiempo tambin se puede indicar mediante el formato "hh:mm:ss[.xxx]". 14. De mpeg (por ejemplo) 3gp (tpico de telfonos mviles):
ffmpeg -i entrada.mpeg -s qcif -r 15 -ac 1 -ar 8000 -b 256000 -ab 15 salida.3gp
Nota: a) -pix_fmt rgb48le ayuda a minimizar la prdida de calidad, pues permite cambiar el formato del pixel de 16 bits de informacin a 48. 20. 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
Nota: a) La idea es utilizar el contenedor webm con vdeo codificado en VP8 y audio codificado con theora ogg vorbis. Esto es otro ejemplo de lo que se puede hacer gracias al cdigo abierto. 21. Convertir un vdeo en imgenes jpg (hay que poner el %):
ffmpeg -i video.mpeg imagen%d.jpg
22. Extraer una imagen concreta de un vdeo (por ejemplo del segundo 10):
ffmpeg -itsoffset 0 -i video.mpeg -ss 10 -vcodec png -vframes 1 imagen.png
Nota: a) -itsoffset 0 establece el retraso en segundos sobre la captura. El formato "[-]hh:mm:ss[.xxx]" tambin est soportado. b) -vframes 1 indica que slo se desea un frame. 23. Hacer un vdeo (de 5 segundos por ejemplo) con una imagen:
ffmpeg -loop_input -i aun.png -t 5 mas_tiempo.mpeg
Nota: a) -loop input permite establecer un bucle temporal sobre la imagen. 24. Hacer que un vdeo pase a cmara lenta (slow motion). Son tres pasos: Primero:
sudo aptitude install ffmpeg mjpegtools
Segundo:
ffmpeg -vcodec copy -acodec copy -i entrada.flv -ss 00:00:05 -t 0:0:10 salida.flv
Tercero: 8
ffmpeg -i salida.flv -f yuv4mpegpipe - | yuvfps -s 12:1 -r 12:1 | ffmpeg -f yuv4mpegpipe -i - -b 28800k camara_lenta.flv
Notas: a) Con el paso segundo se recorta el vdeo empezando en el segundo 5 y con una duracin de 10 segundos.
b)
Con el tercer paso se reduce el framerate de 30 a 12 fps, dando lugar al efecto de cmara lenta.
c) Si en lugar de poner el framerate a 12 fps se le da un valor superior a 30 fps , se obtiene un vdeo a cmara rpida. 25. Extraer los 11 segundos (por ejemplo) primeros de un vdeo:
ffmpeg -i entrada.mpeg -t 11 salida.mpeg
26. Convertir un vdeo desde el segundo 10 hasta el segundo 12 en imgenes (hay que poner el %):
ffmpeg -i entrada.avi -ss 00:00:10 -t 2 captura%d.jpg
Nota: a) Las imgenes pueden llamarse como se desee siempre que al final del nombre se inclya la terminacin %d. 27. convertir una secuencia de imgenes en un vdeo (hay que poner el %):
ffmpeg -i imagen%d.jpg video.mpeg
Notas: a) El vdeo obtenido no tiene audio. b) Para que el cdigo anterior tenga xito es necesario que las imgenes estn nombradas como imagen1.jpg, imagen2.jpg,... Si las imgenes se llamaran 1.jpg, 2.jpg,... la lnea de cdigo sera: ffmpeg -i %d.jpg video.mpeg
28. Hacer un vdeo avi (la calidad aceptable depende de cada uno) de un vdeo dv (u otro de mayor calidad):
ffmpeg -i entrada.dv -vcodec mpeg4 -vtag xvid -acodec libmp3lame -ar 22050 -ab 128k -qscale 4 -s 460x360 -f avi salida.avi
Nota: a) -vtag es el video tag o etiqueta. No afecta a la calidad del vdeo, slo lo etiqueta como xvid sin ms. 29. Grabar el escritorio (por ejemplo a 800x600):
ffmpeg -f x11grab -s 800x600 -r 25 -i :0.0 -sameq grabacion.avi
30. Crear un vdeo avi a partir de varios VOB de un dvd (son dos pasos): Primer paso:
cat VTS_01_1.VOB salida.mpeg VTS_01_2.VOB VTS_01_3.VOB VTS_01_4.VOB VTS_01_5.VOB >
Segundo paso:
ffmpeg -i salida.mpeg -vcodec libx264 -s 560x420 ar 24000 -ab 128k -f avi la-peli.avi
Notas: a) -padtop 100 encoge de arriba 100px. b) -padbottom 100 encoge de abajo 100px. c) Otras opciones son: -padleft para encoger a la izquierda y -padright para encoger a la derecha. 32. Recortar un vdeo cambiandolo de tamao:
ffmpeg -i entrada.flv -sameq -croptop 100 -cropbottom 100 salida.flv
10
Notas a) -croptop 100 borra de arriba 100px. b) -cropbottom 100 borra de abajo 100px. c) Otras opciones son: -cropleft para borrar a la izquierda y -cropright para borrar a la derecha. 33. Unir varios vdeos en un nico vdeo (son dos pasos): Primero se pasan a mpeg para que estn en un formato comn:
ffmpeg -i video1.avi -sameq video1.mpeg
36. Poner vdeo en alta calidad con dos pases: Primer comando a ejecutar (crea una serie de archivos necesarios para el segundo paso):
ffmpeg -y -i entrada.flv -r 30000/1001 -b 2M -bt 4M -vcodec libx264 -pass 1 -vpre fastfirstpass -an salida.mp4
Segundo comando a ejecutar (a su terminacin pueden borrarse los archivos temporales usados):
11
ffmpeg -y -i entrada.flv -r 30000/1001 -b 2M -bt 4M -vcodec libx264 -pass 2 -vpre hq -acodec aac -ac 2 -ar 48000 -ab 192k salida.mp4
Notas: a) Si aac no lo admite por estar en estado experimental, puede reemplazarse por otro, por ejemplo libmp3lame. b) hq indica calidad alta. c) -y indica que los archivos de salida se van a sobreescribir. 37. Quitar el sonido a un vdeo:
ffmpeg -i entrada.avi -sameq -an salida.avi
12
44. Extraer un fragmento de un audio (es igual que para extraer un fragmento de un vdeo):
ffmpeg -i entrada.mp3 -t 120 -ss 60 -sameq salida.mp3
45. Extraer los 11 segundos primeros de un audio (igual que para un vdeo):
ffmpeg -i entrada.mp3 -t 11 salida.mp3
Notas:
a)
-acodec libmp3lame (codec de audio mp3) se indica dos veces, una para cada pista.
b) -newaudio indica que se aade una pista nueva de audio al archivo de salida salida.avi. 47. Extraer dos canales de audio (60 segundos por ejemplo) de un vdeo (por ejemplo si est en varios idiomas):
ffmpeg -i entrada.avi -t 60 -map 0:1 -f mp3 -ab 128 -ac 2 cancion1.mp3
49. Conocer los codecs y formatos que maneja la versin instalada del comando ffmpeg:
fffmpeg -formats
13
4. Bibliografa
http://www.ffmpeg.org/ man ffmpeg http://foro.noticias3d.com/vbulletin/showthread.php?t=345633 http://www.guardarcomofilms.net http://mundogeek.net http://gnometips.com http://casidiablo.net http://www.usuadio.com http://www.rodrigopolo.com/ffmpeg/guia.html http://www.vagos.es/showthread.php?p=1055859910 http://es.wikipedia.org/wiki/FFmpeg
14