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)
List of 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
For a detailed explanation of how a particular scene detection method/algorithm works, see the Scene Detection Method Details Section in the Documentation & Reference.
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.
Features in Development for Next Version
The following are features being planned or developed for the release following v0.5 (which will be, depending on community feedback, v0.5.1, v0.6, or v1.0):
- support for using multiple
--inputvideos and the
split-videocommand without the
- optional suppression of short-length flashes/bursts of light [#35]
- export scenes in HTML format [#17]
- automatic threshold detection for the current scene detection methods (can simply be an ouptut message indicating "Predicted Best Threshold: X")
Planned Features for Future Releases
The following are features being planned or developed for future releases of PySceneDetect:
- colour histogram-based scene detection algorithm in the HSV/HSL colourspace [#53]
- 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