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 is compatible with both Python 2 and 3. Note that Python 3 usually provides better performance.

Download and Installation

Install via pip      

Including all dependencies:

pip install scenedetect[opencv,progress_bar]

Without extras (OpenCV installation required):

pip install scenedetect

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.

Python Installer (All Platforms)      

Latest Release: v0.5.1.1

  Release Date:  August 3, 2019

  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 version, or scenedetect --version in v0.4 and prior, to verify that everything was installed correctly).

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 2 or 3 and the following packages:

  • OpenCV (compatible with 2/3), can install via pip install opencv. 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 (optional), can install via pip install tqdm. Used to show progress bar and estimated time remaining.

Video Splitting Tools

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

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

Note that Linux users should use a package manager if possible (e.g. sudo apt-get install ffmpeg). Windows users may require additional steps in order for PySceneDetect to detect ffmpeg - see the section Manually Enabling split-video Support below for details.

Additionally, 64-bit Windows users installing PySceneDetect from source can download ffmpeg.exe and mkvmerge.exe from here. After extracting the files, the executables can be placed same folder as the scenedetect.exe file created after running python setup.py install, or somewhere else in your PATH variable. The scenedetect.exe file is usually installed in the folder C:\PythonXY\Scripts, where XY is your Python version (e.g. 27, 36).

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.

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.

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.

Note that some Linux package managers still provide older, dated builds of OpenCV (pre-3.0). PySceneDetect is compatible with both versions, but if you want to ensure you have the latest version, it's recommended that you build and install OpenCV from source on Linux.

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.