PySceneDetect is a command-line application and a Python library for detecting shot changes in videos (example), and automatically splitting the video into separate clips. Not only is it free and open-source software (FOSS), but there are several detection methods available (see Features), from
... [More]
simple threshold-based fade in/out detection, to advanced content aware fast-cut detection of each shot.
PySceneDetect can be used on its own as a stand-alone executable, with other applications as part of a video processing pipeline, or integrated directly into other programs/scripts via the Python API. PySceneDetect is written in Python, and requires the OpenCV and Numpy software libraries. [Less]