FFmpeg es una herramienta muy potente, de software libre, se puede usar para grabar, convertir y hacer streaming de audio y vídeo. Este software incluye una bibioteca de códecs, libavcodec. FFmpeg es desarrollado en GNU / Linux pero se puede compilar en la mayoría de Sistemas Operativos incluyendo windows. FFmpeg es un programa bastante sencillo y muy fácil de usar, orientado tanto a personas con conocimientos avanzados como nuevos usuarios.
Puedes descargar FFmpeg desde su sitio oficial fácilmente desde el enlace dado a continuación. Enlace: https://ffmpeg.org/download.html
Algunas pedidos útiles de FFmpeg.
1- Obtener información de un vídeo
[sourcecode language=”bash”] $ ffmpeg -i video.mp4[/sourcecode]
2- Convertir formatos de vídeos
– De AVI a MP4
[sourcecode language=”bash”] $ ffmpeg -i video_original.avi video_final.mp4[/sourcecode]
– De Matroshka a Avi
[sourcecode language=”bash”] $ ffmpeg -i video_source.mkv video_final.avi[/sourcecode]
– De m4V a mp4
[sourcecode language=”bash”] $ ffmpeg -i video_souce.m4v -codec copy video_final.mp4[/sourcecode]
3- Convertir imágenes a vídeo
Se cambia el 0.3 para dar más rapidez cuanto más alto más rápido, hace formatos mp4 y Avi
$ cat *.JPG | ffmpeg -f image2pipe -r 0.3 -vcodec mjpeg -i – -vcodec libx264 out4.avi
[/sourcecode]
4- Extraer audio de un vídeo
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 -vn audio.mp3[/sourcecode]
5- Silenciar el audio de un vídeo
[sourcecode language=”bash”]$ ffmpeg -i video.mp4 -an video_mute.mp4
[/sourcecode]6- Subir el volumen de un vídeo
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 -vol 512 video_final.mp4 $ ffmpeg -i video.mp4 -af volume=2[/sourcecode]
7- Rotar o girar un vídeo
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 -vf transpose=clock video_rotado_90.mp4$ ffmpeg -i video.mp4 -vf transpose=clock,transpose=clock video_rotado_180.mp4
$ ffmpeg -i video.mp4 -vf hflip video_invertido_horizontalmente.mp4
$ ffmpeg -i video.mp4 -vf vflip video_invertido_verticalmente.mp4
[/sourcecode]
8- Cambiar el tamaño de un vídeo
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 -vf scale=320:240 video_320x240.mp4$ ffmpeg -i video.mp4 -vf scale=320:-1 video_320x180.mp4
$ ffmpeg -i video.mp4 -vf scale=iw/2:ih/2 video_x.mp4
[/sourcecode]
9- Recortar fragmentos de un vídeo
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 -ss 35 -t 30 fragmento.mp4$ ffmpeg -i video.mp4 -ss 00:35 -to 01:05 fragmento.mp4
[/sourcecode]
10- Añadir o eliminar pistas de audio
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 -i audio_es.mp3 -map 0:v -map 0:a -map 1:a -vcodec copy video_final.mp4$ ffmpeg -i video.mp4 -map 0:0 -map 0:2 solo_canal1_audio.mp4
[/sourcecode]
11- Mezclar pistas de audio
[sourcecode language=”bash”] $ ffmpeg -i audio1.mp3 -i audio2.mp3 -filter_complex amerge audio_mezclado.mp3[/sourcecode]
12- Recortar zonas del vídeo
[sourcecode language=”bash”] $ ffmpeg -i screencast.mp4 -ss 00:30 -to 03:50 -vf crop=640:480:500:250 video_final.mp4[/sourcecode]
13- Aplicar viñeteado al vídeo
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 -vf vignette=PI/4 video_vignette.mp4$ ffmpeg -i video.mp4 -vf vignette=’PI/4+random(1)*PI/50′:eval=frame
[/sourcecode]
14- Crear fundidos fade-in, fade-out
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 -vf fade=t=in:st=0:d=5 video-fadein.mp4$ ffmpeg -i video.mp4 -vf fade=t=in:st=0:d=5,fade=t=out:st=25:d=5 video-fadeout.mp4
[/sourcecode]
15- Fundido de audio
[sourcecode language=”bash”] $ ffmpeg -i true.mp4 -vf fade=t=in:st=0:d=5,fade=t=out:st=25:d=5 -af afade=t=in:ss=0:d=5,afade=t=out:st=25:d=5 truefade.mp4[/sourcecode]
16- Extraer fotogramas de un vídeo
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 image%d.jpg[/sourcecode]
17- Extraer fotogramas de un vídeo, una imagen por segundo
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 -vf fps=1 image%d.png[/sourcecode]
18- Crear vídeo de una serie de imágenes
[sourcecode language=”bash”] $ ffmpeg -f image2 -i image%d.jpg video.mp4[/sourcecode]
19- Poner un logo o marca de agua el vídeo
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 -i logo.png -filter_complex overlay=10:10 final.mp4$ ffmpeg -i video.mp4 -i logo.png -filter_complex overlay=x=(main_w-overlay_w):y=(main_h-overlay_h) final.mp4
[/sourcecode]
20- Unir audio y vídeo
[sourcecode language=”bash”] $ ffmpeg -i audio.mp3 -i video.avi video_audio_mix.mpg[/sourcecode]
21- Hacer un gif desde un vídeo
[sourcecode language=”bash”] $ ffmpeg -i video.mp4 -vf scale=300:-1 -t 10 -r 10 image.gif[/sourcecode]
22- Convertir archivos de vídeo a audio
[sourcecode language=”bash”] $ ffmpeg -i video.flv -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3[/sourcecode]
23- Hacer un vídeo para ver en la PSP
[sourcecode language=”bash”] $ ffmpeg -i carpeta/video.mov -b300 -s 320X240 -vcodec xvid -ab 12 -ar 24000 -acodec aac video_final.mp4[/sourcecode]
24- Hacer un vídeo de 5 seco desde una imagen y un audio
[sourcecode language=”bash”] $ ffmpeg -loop 1 -y -i imagen.jpg -i audio.mp3 -shortest video.mp4[/sourcecode]
25- Unir vídeos
[sourcecode language=”bash”] $ ffmpeg -i "concat:video1.mp4|video2.mp4|video3.mp4" -c copy videounido.mp4[/sourcecode]
26- Grabar el monitor principal
[sourcecode language=”bash”] $ ffmpeg -framerate 25 -video_size 1920×1080 -f x11grab -draw_mouse 1 -show_region 1 -region_border 3 -i :0.0 -f alsa -ac 2 -i pulse -vcodec libx264 -crf 0 -preset medium -acodec libmp3lame output.mp4[/sourcecode]
27- Grabar monitor secundario
[sourcecode language=”bash”] $ ffmpeg -framerate 25 -video_size 1280×1024 -f x11grab -i :0.0+1920,0 -f alsa -ac 2 -i pulse -vcodec libx264 -crf 0 -preset medium -acodec libmp3lame output.mp4[/sourcecode]
28- Extraer audio de algún vídeo
[sourcecode language=”bash”] $ ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3[/sourcecode]
En este último script leemos:
-vn: deshabilita la comprensión / grabación del video
-ar: tasa de audio
-ac: canales d ‘audio
-ab: bitrate d ‘audio
-f: formato de salida