PySceneDetect
FreePython and OpenCV-based scene cut/transition detection program & library.
FreeFree tier
About PySceneDetect
PySceneDetect is a Python and OpenCV-based library and command-line tool for detecting scene cuts and transitions in video files. It offers multiple detection algorithms: ContentDetector (content-aware), AdaptiveDetector (handles fast camera movement), and ThresholdDetector (for fade-in/fade-out events). Users can split videos by scenes using ffmpeg or mkvmerge, save images from detected cuts, and select time ranges. The tool supports both a CLI for batch processing and a Python API for integration into custom pipelines. It is open source (BSD license), installable via pip or Docker, and actively maintained.
Key Features
Content-aware scene detection (ContentDetector)
Adaptive detection for fast camera movement
Threshold detection for fade-out/fade-in events
Command-line interface for batch video processing
Python API for integration into pipelines
Video splitting using ffmpeg or mkvmerge
Save images from each detected scene
Time range selection (skip portions of video)
Docker support with all dependencies included
Cross-platform (Windows installer, pip, Docker)
Pros & Cons
Pros
- Open source and completely free
- Multiple detection algorithms for different transition types
- Easy to use both via CLI and Python API
- Docker image simplifies setup and dependency management
- Actively maintained (latest release v0.7.1)
Cons
- Requires external ffmpeg or mkvmerge for video splitting
- No graphical user interface
- May not handle all transition types (e.g., dissolves) accurately
- Documentation hosted externally on scenedetect.com
Best For
Automated scene segmentation for video editingVideo analysis and summarizationContent moderation (detecting scene changes)Research and development in video processingBatch processing of large video libraries