skillfed

scenedetect

Video scene cut/shot detection program and Python library (bundles the opencv-python OpenCV variant and the scenedetect CLI).

scenedetect v0.7.1 1.1M downloads/30d#4,346 on PyPI5,100
Permissive license BSD-3-Clause Active released

What it is and what it does

PySceneDetect is a video analysis tool that identifies shot boundaries and scene cuts in video files. It provides both a command-line interface and a Python library for detecting fast-cuts and threshold-based fades, then automatically splitting videos into separate clips. The tool bundles opencv-python for computer vision and relies on standard dependencies like numpy, click, and tqdm.

You can use it as a standalone CLI tool (e.g., `scenedetect -i video.mp4 split-video`) or import its Python API to integrate scene detection into larger workflows. The package is actively maintained, supports modern Python versions (3.10–3.13), and offers variant distributions: the standard package bundles opencv-python, a headless variant uses opencv-python-headless for servers, and a core-only variant lets you bring your own OpenCV build.

Use it for:

  • Automatically split long videos into individual scenes or shots for archival or editing workflows.
  • Analyze video content to find shot boundaries for automated video summarization or highlight extraction.
  • Integrate scene detection into video processing pipelines to trigger downstream tasks at scene cuts.
  • Detect and extract fade transitions in videos for quality control or content analysis.
  • Build video editing tools that need to identify natural cut points for re-composition.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Detects scene cuts and shot changes in videos, then splits them into separate clips using command-line or Python API.

Yes. Active maintenance, low install friction, no known vulnerabilities, permissive license, and a clear use case for video analysis. The CLI is immediately usable and the Python API is straightforward. Choose the standard package for desktop use, scenedetect-headless for servers, or scenedetect-core if you need to manage your own OpenCV variant.

Install

scenedetect on PyPI

pip

pip install scenedetect

uv

uv add scenedetect

poetry

poetry add scenedetect

Installing scenedetect

Before you install

Low friction install with a pure-Python wheel. Active maintenance: last commit 2026-08-10, release 23 days old. Supports Python 3.10–3.13. Runtime dependencies are common and stable (click, numpy, opencv-python, platformdirs, tqdm).

License in practice

BSD-3-Clause is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.

Quickstart

pip install scenedetect

from scenedetect import detect, AdaptiveDetector, split_video_ffmpeg
scene_list = detect('video.mp4', AdaptiveDetector())
split_video_ffmpeg('video.mp4', scene_list)

Requires ffmpeg on the system PATH for split_video_ffmpeg; opencv-python needs a display server on headless systems (use scenedetect-headless variant instead).

Verify before relying

  • Whether AdaptiveDetector is the only detection method available or if others exist.
  • Exact performance characteristics (speed, accuracy) on different video codecs and resolutions.
  • Whether the Python API supports real-time streaming or only file-based input.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 5 — click, numpy, opencv-python, platformdirs, tqdm
Maintenance actively maintained — 23 days since the last release
Last repo commit
First released
Downloads 1,117,991/month — #4,346 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: scenedetect-0.7.1-py3-none-any.whl

Keywords: video, computer-vision, analysis

Development Status :: 5 - Production/StableEnvironment :: ConsoleEnvironment :: Console :: CursesIntended Audience :: DevelopersIntended Audience :: End Users/DesktopIntended Audience :: System AdministratorsOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Multimedia :: VideoTopic :: Multimedia :: Video :: ConversionTopic :: Multimedia :: Video :: Non-Linear EditorTopic :: Utilities

Tags

video scene detectionshot cut detectionsplit video by scenesvideo shot boundary detectionautomatic video splittingscene change detectionvideo analysis tool
video-processingcomputer-visioncli-tool

More Utilities packages