100% encontró este documento útil (1 voto)
4K vistas17 páginas

Manual Básico Del Comando Ffmpeg

Este documento proporciona un manual básico del comando ffmpeg. Explica cómo instalar ffmpeg y ofrece 28 ejemplos de manipulación de video y audio, como cambiar formatos, extraer audio, crear videos a partir de imágenes, y más. El autor es Joaquín V. Álvarez Martín y la obra está bajo una licencia Creative Commons que permite su uso no comercial compartiendo bajo la misma licencia. El documento contiene también un índice de contenido.

Cargado por

tecnologialibre
Derechos de autor
© Attribution Non-Commercial ShareAlike (BY-NC-SA)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
4K vistas17 páginas

Manual Básico Del Comando Ffmpeg

Este documento proporciona un manual básico del comando ffmpeg. Explica cómo instalar ffmpeg y ofrece 28 ejemplos de manipulación de video y audio, como cambiar formatos, extraer audio, crear videos a partir de imágenes, y más. El autor es Joaquín V. Álvarez Martín y la obra está bajo una licencia Creative Commons que permite su uso no comercial compartiendo bajo la misma licencia. El documento contiene también un índice de contenido.

Cargado por

tecnologialibre
Derechos de autor
© Attribution Non-Commercial ShareAlike (BY-NC-SA)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd

MANUAL BÁSICO

DEL COMANDO

FFMPEG

(v 1.1)
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

Autor:
Joaquín V. Álvarez Martín

Licencia:

Esta obra está bajo una licencia Attribution-NonCommercial-ShareAlike 3.0 Unported de Creative
Commons. Para ver una copia de esta licencia, visite [Link]
sa/3.0/ o envie una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco,
California 94105, US

2
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

Índice de contenido
[Link]ón.......................................................................................................................................4
[Link]ón del comando ffmpeg........................................................................................................4
[Link] de manipulación de vídeo y audio.....................................................................................4
[Link] completo: riperar un DVD casero.....................................................................................15
[Link]ía......................................................................................................................................17

3
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

1. Introducción
FFmpeg es un maravilloso ejemplo de software libre para la manipulación de vídeo y audio
(también permite realizar alguna opción sobre imágenes). Aunque nació para GNU/Linux, puede
compilarse en la mayoría de sistemas operativos. Entre otras cosas permite:
a) Cambiar de formato.
b) Comprimir, extraer imágenes y vídeo.
c) Hacer un vídeo a partir de imágenes.
d) Insertar marcas de agua (texto o fotografías) en un vídeo.
e) Etc.

2. Instalación del comando ffmpeg


a) En Ubuntu: sudo apt-get install ffmpeg
b) En Debian: apt-get install ffmpeg

3. Ejemplos de manipulación de vídeo y audio


1. De wmv → flv:

ffmpeg -i [Link] [Link]

2. De wmv → mpeg:

ffmpeg -i [Link] [Link]

3. De avi → gif:

ffmpeg -i [Link] [Link]

4. De wmv → flv especificando parámetros:

ffmpeg -i [Link] -ab 56 -ar 22050 -r 15 -s 320×240 [Link]

Notas:
a) -ab es el bitrate del audio, es decir, es el número de bits por segundo para el audio (a
mayor número mayor calidad).
b) -ar es la frecuencia del sonido en Hz.

4
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

c) -s indica la resolución (ancho x alto) del vídeo que queremos obtener. Como es una
resolución no panorámica, dará problemas si el vídeo original no está en formato
panorámico.
d) -r es el número de imágenes por segundo (1 Hz = 1 / seg). Es opcional.

5. Cuando el nombre del vídeo está formado por varias palabras (por ejemplo de wmw →
DVD tipo PAL).

ffmpeg -i "video de entrada".wmv -target pal-dvd [Link]

Nota:
a) El uso de las “” es necesario para poder usar nombres de archivos formados por más de
una palabra.

6. De flv → mp4 especificando varios parámetros:

ffmpeg -i [Link] -vcodec mpeg4 -s 640×360 -ac 2 salida.mp4

Notas:
a) -vcodec es la codificación que queremos emplear en el vídeo. 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=estéreo, 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.

7. De avi → videocd (PAL):

ffmpeg -i [Link] -target pal-vcd [Link]

Nota:
a) -target especifica el tipo de formato. Algunas opciones a "vcd" son: "svcd", "dvd", "dv",
"dv50", "pal-vcd", "ntsc-svcd"...

5
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

8. De avi → divx:

ffmpeg -i [Link] -s 320×240 -vcodec msmpeg4v2 [Link]

9. De dv → DVD:

ffmpeg -i [Link] -target pal-dvd [Link]

10. De mpeg → xvid:

ffmpeg -i [Link] -acodec libmp3lame -vcodec xvid -b 1200kb [Link]

Nota:
a) -b es el bitrate del vídeo.

11. De avi → dv (Digital video):

ffmpeg -i [Link] -target pal-dv [Link]

12. De dv → flv:

ffmpeg -i [Link] -ar 22050 -qscale 4 -s 380x284 -f flv [Link]

Notas:
a) -qscale = quantum scale esto afecta a como se comprime el vídeo. A menor numero
mejor calidad, aunque afecta al tamaño del vídeo final. El valor 4 resulta aceptable.
b) -f = formato al que se quiere forzar.

13. Extraer 120 segundos de un vídeo a partir del segundo 60:

ffmpeg -i [Link] -t 120 -ss 60 -sameq vídeo_salida.mpeg

Notas:
a) -t es la duración en segundos del vídeo que se desea extraer (en este caso 120 segundos).
b) -ss es el tiempo en segundos desde donde se desea cortar el vídeo (en este caso desde el
minuto).
c) -sameq para que el vídeo de salida mantenga la misma calidad que el vídeo de entrada.

6
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

d) El tiempo también se puede indicar mediante el formato "hh:mm:ss[.xxx]".

14. De mpeg (por ejemplo) → 3gp (típico de teléfonos móviles):

ffmpeg -i [Link] -s qcif -r 15 -ac 1 -ar 8000 -b 256000 -ab 15 salida.3gp

15. De 3gp → mp4:

ffmpeg -i entrada.3gp -vcodec mpeg4 -acodec libmp3lame salida.mp4

16. Para poder ver un vídeo en el iPod/iPhone:

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

17. Para poder ver un vídeo en la PSP:

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

18. Hacer una codificación con varias pasadas:

ffmpeg -i entrada -pass 2 -passlogfile ffmpeg2pass salida

19. Pasar un vídeo a Full HD (formato 16:9):

ffmpeg -i [Link] -sameq -pix_fmt rgb48le -s 1920x1080 -aspect 16:9 salida.mp4

Nota:
a) -pix_fmt rgb48le ayuda a minimizar la pérdida de calidad, pues permite cambiar el
formato del pixel de 16 bits de información a 48.

20. Convertir un vídeo para que ocupe menos y podamos subirlo a internet sin tener que
esperar demasiado tiempo y sin que se note de forma significativa la pérdida de
calidad:

ffmpeg -i [Link] -sameq [Link]

7
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

Nota:
a) La idea es utilizar el contenedor webm con vídeo codificado en VP8 y audio codificado
con theora ogg vorbis. Esto es otro ejemplo de lo que se puede hacer gracias al código
abierto.

21. Convertir un vídeo en imágenes jpg (hay que poner el %):

ffmpeg -i [Link] imagen%[Link]

22. Extraer una imagen concreta de un vídeo (por ejemplo del segundo 10):

ffmpeg -itsoffset 0 -i [Link] -ss 10 -vcodec png -vframes 1 [Link]

Nota:
a) -itsoffset 0 establece el retraso en segundos sobre la captura. El formato
"[-]hh:mm:ss[.xxx]" también está soportado.
b) -vframes 1 indica que sólo se desea un frame.

23. Hacer un vídeo (de 5 segundos por ejemplo) con una imagen:

ffmpeg -loop_input -i [Link] -t 5 mas_tiempo.mpeg

Nota:
a) -loop input permite establecer un bucle temporal sobre la imagen.

24. Hacer que un vídeo pase a cámara lenta (slow motion). Son tres pasos:
Primero:

sudo aptitude install ffmpeg mjpegtools

Segundo:

ffmpeg -vcodec copy -acodec copy -i [Link] -ss [Link] -t [Link] [Link]

Tercero:

8
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

ffmpeg -i [Link] -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 vídeo empezando en el segundo 5 y con una duración
de 10 segundos.
b) Con el tercer paso se reduce el framerate de 30 a 12 fps, dando lugar al efecto de cámara
lenta.
c) Si en lugar de poner el framerate a 12 fps se le da un valor superior a 30 fps , se obtiene
un vídeo a cámara rápida.

25. Extraer los 11 segundos (por ejemplo) primeros de un vídeo:

ffmpeg -i [Link] -t 11 [Link]

26. Convertir un vídeo desde el segundo 10 hasta el segundo 12 en imágenes (hay que
poner el %):

ffmpeg -i [Link] -ss [Link] -t 2 captura%[Link]

Nota:
a) Las imágenes pueden llamarse como se desee siempre que al final del nombre se inclya
la terminación %d.

27. Convertir una secuencia de imágenes en un vídeo (hay que poner el %):

ffmpeg -i imagen%[Link] [Link]

Notas:
a) El vídeo obtenido no tiene audio.
b) Para que el código anterior tenga éxito es necesario que las imágenes estén nombradas
como [Link], [Link],... Si las imágenes se llamaran [Link], [Link],... la línea de
código sería: ffmpeg -i %[Link] [Link]

9
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

28. Hacer un vídeo avi (la calidad aceptable depende de cada uno) de un vídeo dv (u otro
de mayor calidad):

ffmpeg -i [Link] -vcodec mpeg4 -vtag xvid -acodec libmp3lame -ar 22050 -ab 128k -qscale 4 -s
460x360 -f avi [Link]

Nota:
a) -vtag es el video tag o etiqueta. No afecta a la calidad del vídeo, sólo lo etiqueta como
xvid sin más.

29. Grabar el escritorio (por ejemplo a 800x600):

ffmpeg -f x11grab -s 800x600 -r 25 -i :0.0 -sameq [Link]

30. Crear un vídeo avi a partir de varios VOB de un dvd (son dos pasos):
Primer paso:

cat VTS_01_1.VOB VTS_01_2.VOB VTS_01_3.VOB VTS_01_4.VOB VTS_01_5.VOB >


[Link]

Segundo paso:

ffmpeg -i [Link] -vcodec libx264 -s 560x420 ar 24000 -ab 128k -f avi [Link]

31. Recortar un vídeo sin cambiarlo de tamaño:

ffmpeg -i [Link] -sameq -padtop 100 -padbottom 100 [Link]

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 vídeo cambiándolo de tamaño:

ffmpeg -i [Link] -sameq -croptop 100 -cropbottom 100 [Link]

10
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

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 vídeos en un único vídeo en formato mpeg (son dos pasos):
Primero se pasan a mpeg para que estén en un formato común:

ffmpeg -i [Link] -sameq [Link]

ffmpeg -i [Link] -sameq [Link]

En segundo y último lugar se unen los vídeos resultantes usando cat:

cat [Link] [Link] > nuevo_video.mpeg

34. Desentrelazar un vídeo:

ffmpeg -i [Link] -deinterlace -acodec copy [Link]

35. Conocer los codecs asociados a un vídeo (muy útil):

ffmpeg -i [Link]

36. Poner vídeo en alta calidad con dos pases:


Primer comando a ejecutar (crea una serie de archivos necesarios para el segundo
paso):

ffmpeg -y -i [Link] -r 30000/1001 -b 2M -bt 4M -vcodec libx264 -pass 1 -vpre fastfirstpass -an
salida.mp4

Segundo comando a ejecutar (a su terminación pueden borrarse los archivos


temporales usados):

11
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

ffmpeg -y -i [Link] -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 vídeo:

ffmpeg -i [Link] -sameq -an [Link]

38. Conocer los codecs asociados a un audio (muy útil):

ffmpeg -i [Link]

39. De mp3 → wma:

ffmpeg -i entrada.mp3 [Link]

40. Extraer audio de un vídeo:

ffmpeg -i [Link] -vn audio.mp3

Nota:
a) -vn: video no.

41. Unir audio y un vídeo:

ffmpeg -i [Link] -i audio.mp3 [Link]

42. Unir audio y un vídeo especificando un codec de audio concreto:

ffmpeg -i [Link] -i audio.mp3 -acodec libmp3lame [Link]

12
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

43. Unir audio y vídeo especificando un codec de vídeo concreto:

ffmpeg -i [Link] -vcodec mpeg4 -vtag xvid [Link]

44. Extraer un fragmento de un audio (es igual que para extraer un fragmento de un
vídeo):

ffmpeg -i entrada.mp3 -t 120 -ss 60 -sameq salida.mp3

45. Extraer los 11 segundos primeros de un audio (igual que para un vídeo):

ffmpeg -i entrada.mp3 -t 11 salida.mp3

46. Añadir un nuevo canal de audio a un vídeo:

ffmpeg -i [Link] -i audio-español.mp3 -sameq -acodec libmp3lame -acodec libmp3lame [Link]


-newaudio

Notas:
a) -acodec libmp3lame (codec de audio mp3) se indica dos veces, una para cada pista.
b) -newaudio indica que se añade una pista nueva de audio al archivo de salida [Link].

47. Extraer dos canales de audio (60 segundos por ejemplo) de un vídeo (por ejemplo si
está en varios idiomas):

ffmpeg -i [Link] -t 60 -map 0:1 -f mp3 -ab 128 -ac 2 cancion1.mp3

ffmpeg -i [Link] -t 60 -map 0:2 -f mp3 -ab 128 -ac 2 cancion2.mp3

48. Unir varios audios:

cat musica1.mp3 musica2. mp3 > juntos.mp3

49. Conocer los codecs y formatos que maneja la versión instalada del comando ffmpeg:

ffmpeg -formats

13
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

50. Extraer una pista de audio concreta (en este caso la número 4) de un vídeo (por
ejemplo, la correspondiente al idioma castellano de un película que está en varios
idiomas):

ffmpeg -i VTS_01_1.VOB -map 0:4 -vn -acodec libmp3lame -ar 22050 -ab 96k -ac 2 sonido.mp3

51. Usar varios hilos del procesador en la codificación (por ejemplo 2):

ffmpeg -threads 2 -i [Link] [Link]

52. Codificar vídeo con en dos pasadas en vez de una (así se consigue mayor calidad,
aunque también requiere más tiempo). Son dos pasos:
Primer paso:

ffmpeg -y -i "How fast".ogg -pass 1 -target pal-dvd "How fast".mpeg

Segundo paso:

ffmpeg -y -i "How fast".ogg -pass 2 -target pal-dvd "How fast".mpeg

También es posible indicar estos dos pasos en una única línea de código (con &&):

ffmpeg -y -i "How fast".ogg -pass 1 -target pal-dvd "How fast".mpeg && ffmpeg -y -i "How fast".ogg
-pass 2 -target pal-dvd "How fast".mpeg

14
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

4. Ejemplo completo: riperar un DVD casero


Ripear un DVD es comprimirlo para que quepa en un CD o DVD. Como es lógico, esto supone
pérdida de calidad, por lo que no siempre es recomendable, sobre todo teniendo en cuenta el precio
de un DVD grabable a día de hoy.
Este proceso se puede hacer de varias maneras. Una de ellas es la siguiente:

a) En primer lugar se extraen y unen los archivos que interesan correspondientes del DVD,
dejando todos los demás archivos (anuncios, avisos legales, menús interactivos para el
DVD, etc.). Para ello, los archivos VOB cuyo contenido se desea grabar se copian en una
carpeta del disco duro. Esto que permitirá luego trabajar más rápidamente con ellos.
Después, se abre una terminal en esa carpeta y se ejecuta el comando que los une en uno
solo (en este ejemplo son 6 archivos a unir, siendo [Link] el archivo unión de todos ellos):
cat VTS_01_1.VOB VTS_01_2.VOB VTS_01_3.VOB VTS_01_4.VOB VTS_01_5.VOB
VTS_01_6.VOB > [Link]

b) Después se calcula el tamaño del archivo de audio al comprimirlo a mp3:


• Si la compresión se hace a un bitrate de 64kb:
64 kb/s = 64x1000 b/s = 64000b/s = 64000/(8x1024x1024) MB/s = 0,007629395 MB/s

• Entonces, si la duración de la película es de 2 horas 18 minutos 26 segundos, que son


8306 s, el tamaño del archivo del audio será:
0,007629395 MB/s x 8306 s = 63,4 MB

c) En tercer lugar se calcula el bitrate del vídeo , teniendo en cuenta la capacidad de un CD


(700MB), el tamaño del archivo de audio y el posible margen de error (0,71% de 700MB =
5 MB):
700 - 63,4 - 5 = 631,6 ≈ 631MB para el vídeo disponibles.

Entonces, el bitrate del vídeo será:


b = (631x1024x1024x8/1000) kb / 8306 s = 637,2 kb/s ≈ 637 kb/s

d) En cuarto y último lugar se ejecuta el “comando” ffmpeg (para 2 hilos en este ejemplo, ya
que esto depende de cada procesador) y con dos pasadas (para ganar en calidad):

15
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

ffmpeg -threads 2 -y -i [Link] -pass 1 -map 0.0 -map 0.4 -acodec libmp3lame -ar 22050 -ab 64k -ac 2
-vcodec libxvid -b 637k -r 25 -s 460x360 [Link] && ffmpeg -threads 2 -y -i [Link] -pass
2 -map 0.0 -map 0.4 -acodec libmp3lame -ar 22050 -ab 64k -ac 2 -vcodec libxvid -b 637k -r 25 -s
460x360 [Link]

Notas:
a) Al terminar el proceso de ripeado suele aparecer un error en respecto a la duración
calculada del orden del 0,5-0,7%. Esta es la razón por la cual al principio del ejemplo se
consideró el mismo.
b) Existen otros programas similares a ffmpeg para manipular audio y vídeo: mencoder,
transcode,...
c) Existen GUI's especializadas en el ripeo de DVDs, como por ejemplo “DVD rip” o
“DVD Encoder OGMRip”. Otras están más pensadas para la conversión general de
vídeos y audios.
d) Cuanto mayor sea la resolución (460x360 en este ejemplo) más se notará la pérdida de
calidad.
e) El tiempo necesario para ripear un DVD puede ser de varias horas.

16
Joaquín V. Álvarez Martín. Manual básico del comando ffmpeg

5. Bibliografía
• [Link]
• man ffmpeg
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]
• [Link]

17

También podría gustarte