Split Up a Video Using FFMPEG through Scene Detection
You can directly use ffmpeg
to detect and extract scenes on the fly without the need of printing and parsing frames information:
ffmpeg -i foo.mp4 -vf select='gt(scene\,0.4)' -vsync vfr frame%d.png
The -vsync vfr
is required because images extraction does not work with variable framerate by default, see #1644.
Process your text to get your timestamps and print them in a .txt file, use the .txt in ffmpeg segmenter.
Accuracy won't be perfect and there are loads of issues you may run in to unless you have total control over the incoming content.
It's worth noting that this type of work is a current topic of research so again, it may produce imperfect results.