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
Con el siguiente comando podremos extraer un fotograma cada minuto de video.
ffmpeg -i video.avi -vf fps=1/60 fotograma-%03d.jpg