Video --> Picture

BlueMihai

Honorable
Feb 11, 2015
194
0
10,690
Okay so is there any way to download every PICTURE in a video, which is kind of like a slideshow. Not interested in going trough all of em or saving every "frame" of the video.
 
Solution
ffmpeg can do what you want: https://www.ffmpeg.org/

If all the pictures in the video are shown for the same amount of time:

Code:
ffmpeg -i input -filter:v select='eq(n\,0)+gte(t-prev_selected_t\,5)',format=pix_fmts=rgb24 -vsync 0 output%03d.tif
This will grab the first frame plus one frame every 5 seconds from the input, explicitly convert to rgb24 (most videos are encoded using one of the yuv colorspaces, which many image-processing and viewing software do not like), and then save them as output001.tif, output002.tif, etc.

If the pictures in the video have varying durations:

Code:
ffmpeg -i input -filter:v select='eq(n\,0)+gt(scene\,0.01)',format=pix_fmts=rgb24 -vsync 0 output%03d.tif
This will go through the video, then grab the...

Could you please tell some more details? I am not great with software like that .
 
Can't help you with that, sorry. I've used it when it was in its earlier stages and that's that.

If I recall correctly, it should let you import any standard video format and export it as a slideshow via an option from its menu.
 
ffmpeg can do what you want: https://www.ffmpeg.org/

If all the pictures in the video are shown for the same amount of time:

Code:
ffmpeg -i input -filter:v select='eq(n\,0)+gte(t-prev_selected_t\,5)',format=pix_fmts=rgb24 -vsync 0 output%03d.tif
This will grab the first frame plus one frame every 5 seconds from the input, explicitly convert to rgb24 (most videos are encoded using one of the yuv colorspaces, which many image-processing and viewing software do not like), and then save them as output001.tif, output002.tif, etc.

If the pictures in the video have varying durations:

Code:
ffmpeg -i input -filter:v select='eq(n\,0)+gt(scene\,0.01)',format=pix_fmts=rgb24 -vsync 0 output%03d.tif
This will go through the video, then grab the first frame plus any frames that are even the tiniest bit different from the previous frame (so this will only work if each picture in the video is static and unmoving - this means no zooms, pans, etc - and with hard cuts between pictures - i.e. no animated transitions), and output the frames in the same manner as method number one above.

If you want to use method number two but the pictures aren't completely static, then you can try using higher values than 0.01 for the scenecut threshold. However you still must not have any animated transitions, or else this method won't be reliable at all.
 
Solution