Cómo extraer imágenes de un video con Linux

Un video es una sucesión de imágenes, fotos.. o fotogramas a lo largo de determinado lapso de tiempo. Con el poder de ffmpeg es posible extraer todos, uno o unos cuantos fotogramas de un video. Rápida y eficientemente. Vamos a ver algunas opciones:

-t duration         record or transcode "duration" seconds of audio/video
-r rate             set frame rate (Hz value, fraction or abbreviation)
-ss time_off        set the start time offset

Con -r es posible indicar el número de frames o fotogramas a extraer por cada segundo de video. Con -t se establece la cantidad de segundos de video a extraer. Con -ss podemos decirle a ffmpeg a partir de donde extraer los fotogramas.

Al final del comando debemos indicar un nombre de archivo para las imágenes. A este nombre debemos indicar un comodín que se encargará de numerar las imágenes. Por ejemplo: fotograma-%3d.jpg agregará 001, 002... al final del nombre del archivo.

ffmpeg -i nombre_del_video.mp4  -r 25 -t 20 -ss 00:00:10 fotograma-%3d.png

Fotograma #390

Crear miniaturas de una película

Con el siguiente comando podremos extraer un fotograma cada minuto de video.

ffmpeg -i video.avi -vf fps=1/60 fotograma-%03d.jpg