Obtaining PySceneDetect

PySceneDetect is completely free software, and can be downloaded from the links below. See the license and copyright information page for details. If you have trouble running PySceneDetect, ensure that you have all the required dependencies listed in the Dependencies section below.

PySceneDetect requires at least Python 3.6 or higher.

Download and Installation

Install via pip      

Including OpenCV (recommended):

pip install --upgrade scenedetect[opencv]

Including Headless OpenCV (servers):

pip install --upgrade scenedetect[opencv-headless]

PySceneDetect is available via pip as the scenedetect package. See below for instructions on installing a non-pip version of OpenCV. To ensure you have all the requirements installed, open a python interpreter, and ensure you can run import cv2 without any errors.

Windows Build (64-bit Only)  

Latest Release: v0.6

  Release Date:  May 29, 2022

  Installer  (recommended)        Portable .zip        Getting Started

Python Installer (All Platforms)      

Latest Release: v0.6

  Release Date:  May 29, 2022

  Source  .zip        Source  .tar.gz        Getting Started

To install from source, download and extract the latest release to a location of your choice, and make sure you have the appropriate system requirements installed before continuing. PySceneDetect can be installed by running the following command in the location of the extracted files (don't forget sudo if you're installing system-wide):

python setup.py install

Post Installation

After installation, you can call PySceneDetect from any terminal/command prompt by typing scenedetect (try running scenedetect help, or scenedetect version).

To get familiar with PySceneDetect, try running scenedetect help, or continue onwards to the Getting Started: Basic Usage section. If you encounter any runtime errors while running PySceneDetect, ensure that you have all the required dependencies listed in the System Requirements section above (you should be able to import numpy and import cv2). If you encounter any issues or want to make a feature request, feel free to report any bugs or share some feature requests/ideas on the issue tracker and help make PySceneDetect even better.

Dependencies

Python Packages

PySceneDetect requires Python 3 and the following packages:

  • OpenCV (compatible with 3/4), can install via pip install opencv-python. Used for video I/O.
  • Numpy, can install via pip install numpy. Used for frame processing.
  • Click, can install via pip install Click. Used for command line interface.
  • tqdm, can install via pip install tqdm. Used to show progress bar and estimated time remaining.
  • appdirs, can install via pip install appdirs. Used to obtain path correct configuration file path for each platform.

Video Splitting Tools

For video splitting support, you need to have one of the following tools available:

  • ffmpeg, required to split video files (split-video or split-video -c/--copy)
  • mkvmerge, part of mkvtoolnix, command-line tool, required to split video files in stream copy mode (split-video -c/--copy only)

Windows/OSX users can obtain them from the above links. Note that the Windows installer/portable version includes these tools (you can replace the included versions them with newer copies). Linux users can typically obtain these tools from the system package manager (e.g. sudo apt-get install ffmpeg).

The ffmpeg and/or mkvmerge command must be available system wide (e.g. in a directory in PATH, so it can be used from any terminal/console by typing the command), or alternatively, placed in the same directory where PySceneDetect is installed. On Windows this is usually C:\PythonXY\Scripts, where XY is your Python version.

If you have trouble getting PySceneDetect to find ffmpeg or mkvmerge, see the section on Manually Enabling split-video Support on Getting Started: Video Splitting Support Requirements.

If both tools are installed, ffmpeg will be used when specifying split-video -c/--copy. You can ensure mkvmerge is used by also specifying --use-mkvmerge.

Building OpenCV from Source or Using a Different Version

If you have installed OpenCV using pip, you will need to uninstall it before installing a different version of OpenCV, or building and installing it from source.

You can click here for a quick guide (OpenCV + Numpy on Windows & Linux) on installing OpenCV/Numpy on Windows (using pre-built binaries) and Linux (compiling from source). If the Python module that comes with OpenCV on Windows is incompatible with your system architecture or Python version, see this page to obtain a pre-compiled (unofficial) module.

To ensure you have all the requirements installed, open a python interpreter, and ensure you can run import numpy and import cv2 without any errors.

Code Signing Policy

Windows EXE/MSI Builds: Free code signing provided by SignPath.io, certificate by SignPath Foundation.