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

2.4k views Asked by At

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?

3

There are 3 answers

0
Celuk On

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.

0
Libo On

You can give https://reccap.it a shot. It doesn't directly output a slide deck file. But it's pretty good at detecting every slide and snapshotting it.

Here is an example: https://reccap.it/recaps/open-pretrained-transformers-susan-zhang-stanford-mlsys-77-fd41161abaed477787bff4393c4d98b5

0
Steven Hong On

You might want to take a look at u2Docs. https://www.u2docs.com It was implemented by comparing frames from video and capturing them.