Overview of Features
Content-Aware Scene DetectionDetects breaks in-between content, not only when the video fades to black (although a threshold mode is available as well for those cases).
Compatible With Many External ToolsThe detected scene boundaries/cuts can be exported in a variety of formats, with the default type (comma-separated HH:MM:SS.nnn values) being ready to copy-and-paste directly into other tools (such as ffmpeg, mkvmerge, etc...) for splitting and/or re-encoding the video.
Statistical Video AnalysisCan output a spreadsheet-compatible file for analyzing trends in a particular video file, to determine the optimal threshold values to use with specific scene detection methods/algorithms.
Extendible and EmbeddableWritten in Python, and designed with an easy-to-use and extendable API, PySceneDetect is ideal for embedding into other programs, or to implement custom methods/algorithms of scene detection for specific applications (e.g. analyzing security camera footage).
Features in Current Release
- exports list of scenes to .CSV file and terminal (both timecodes and frame numbers) with
- exports timecodes in standard format (HH:MM:SS.nnn), comma-separated for easy copy-and-paste into external tools and analysis with spreadsheet software
- statistics/analysis mode to export frame-by-frame video metrics (
- output-suppression (quiet) mode for better automation with external scripts/programs (
- user-selectable subsampling for improved performance (
- user-selectable frame skipping for improved performance (
-fs, not recommended)
- save an image of the first and last frame of each detected scene via the
- ability to specify starting/ending times via
--end/-e), and/or set duration for processing (
- user-definable fade bias to shift scenes between fade in/out points (threshold mode only)
Scene Detection Methods
- threshold scene detection (
detect-threshold): analyzes video for changes in average frame intensity/brightness
- content-aware scene detection (
detect-content): based on changes between frames in the HSV color space
- adaptive content scene detection (
detect-adaptive): based on
detect-contentbut handles fast camera movement better in some cases
For a detailed explanation of how a particular scene detection method/algorithm works, see the Scene Detection Method Details Section in the Documentation & Reference.
Future version roadmaps are now tracked as milestones (link). Specific issues/features that are queued up for the very next release will have the
backlog tag, and issues/features being worked on will have the
status: in progress tag. Also note that bug reports as well as additional feature requests can be submitted via the issue tracker; read the Bug Reports and Contributing page for details.
Planned Features for Future Releases
The following are features being planned or developed for future releases of PySceneDetect:
- automatic threshold detection for the current scene detection methods (can simply be an ouptut message indicating "Predicted Best Threshold: X")
- optional suppression of short-length flashes/bursts of light [#35]
- support for using multiple
--inputvideos and the
split-videocommand without the
- colour histogram-based scene detection algorithm in the HSV/HSL colourspace [#53]
- perceptual hash based scene detection
- improve robustness of content-aware detection by combining with edge detection (similar to MATLAB-based scene change detector)
- adaptive bias for fade in/out interpolation
- multithreaded implementation of detection algorithms for improved performance
- GUI for easier previewing and threshold setting (will be GTK+ 3 based via PyGObject)
- export scenes in chapter/XML format
- additional timecode formats