videoslidetakesscreenshot

Is there a way to automatically extract slides out of a video?


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?


Solution

  • 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.