the MVP that would satisfy my needs would be something scanning a video and (semi)intelligently extract the whole screen every time it changes (new slide appears)
The ideal tool would be configurable to only take a picture of a selected are.
I found many ways to pick stills from a video, but nothing looking for slides...or just looking for something.
Any ideas?
ffmpeg
tool can do this by differencing frames in the video. However, for this to work, you need to have a video consisting only of slides, or you need to crop a part of whole video frame if the video has a moving object, like a person's camera, so only the slide is visible. Otherwise, ffmpeg
can capture the whole video frames.
Install ffmpeg:
sudo apt install ffmpeg
Then, capture differentiated frames into extracted_imgs
folder, as an example:
ffmpeg -i my_video.mp4 -filter_complex "select=gt(scene\,0.01)" "extracted_imgs/%04d.jpg" -vsync drop -vb 20M
Here, you can change 0.01
to adjust how to difference the frames, more sensitively or more coarsely.