skillfed

scikit-video

Video Processing in Python

scikit-video v1.1.11 1.2M downloads/30d#4,164 on PyPI710
Permissive license BSD Active released

What it is and what it does

scikit-video is a Python video processing library that reads, writes, and analyzes video files by delegating I/O to FFmpeg and providing a NumPy-based interface for frame manipulation and quality metrics. It borrows conventions from scikit-image and scikit-learn, exposing functions for motion estimation and video quality assessment (SSIM, PSNR, NIQE, BRISQUE, VIIDEO, Video-BLIINDS). The library is built on numpy, scipy, and Pillow, and is actively maintained with recent releases fixing metric accuracy against reference MATLAB implementations and adding support for modern Python and NumPy versions.

Typical use cases include extracting frames from video files, computing frame-level quality scores, analyzing motion between frames, and batch-processing video datasets. The package handles both local files and file-like objects, supports pathlib.Path, and can pass audio through unchanged during video processing. Recent versions removed deprecated libav/avconv support and cleaned up Python-2-era code, making it more maintainable for current environments.

Use it for:

  • Extract and analyze individual frames from video files for computer vision tasks.
  • Compute video quality metrics (SSIM, PSNR, NIQE) to compare original and processed videos.
  • Calculate motion vectors between consecutive frames for motion analysis.
  • Batch-process video datasets to generate frame-level features for machine learning.
  • Validate video codec and container compatibility before processing in production pipelines.

Worth the install?

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

scikit-video reads, writes, and analyzes video files using FFmpeg, providing Python functions for frame extraction and video quality metrics including SSIM, PSNR, NIQE, and BRISQUE.

Yes, if you need video I/O and quality metrics in Python. The package is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive license. The main gotcha is the hard requirement for FFmpeg on the system PATH and Python >= 3.10; verify your environment supports both before committing. Recent metric accuracy fixes mean scores from 1.2.0+ are not comparable to 1.1.x, so check whether existing benchmarks or thresholds need recalibration.

Install

scikit-video on PyPI

pip

pip install scikit-video

uv

uv add scikit-video

poetry

poetry add scikit-video

Installing scikit-video

Before you install

Low install friction with a pure-wheel distribution. Actively maintained as of 2026; recent releases modernized the codebase for NumPy 2.x and Python 3.10+ compatibility. Requires FFmpeg >= 2.8 on system PATH as a runtime dependency.

License in practice

Distributed under BSD (permissive), allowing commercial and private use with minimal restrictions beyond attribution and liability disclaimers.

Quickstart

pip install scikit-video

import numpy
import scipy
import pillow

# Read video frames and process with numpy/scipy operations

FFmpeg >= 2.8 must be installed and available on system PATH; Python >= 3.10 required.

Verify before relying

  • Exact scope and performance of supported video codecs and containers beyond FFmpeg's defaults.
  • Whether the metric accuracy overhaul in 1.2.0 affects existing workflows that depend on 1.1.x scores.
  • Real-world latency and memory usage for large video files or batch processing.

Package facts

License BSD (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 3 — numpy, pillow, scipy
Maintenance actively maintained — 2,887 days since the last release
Last repo commit
First released
Downloads 1,246,075/month — #4,164 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: scikit_video-1.1.11-py2.py3-none-any.whl

Development Status :: 3 - AlphaIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3.6Topic :: Multimedia :: VideoTopic :: Scientific/Engineering

Tags

video processing pythonvideo quality metricsffmpeg python wrappervideo analysis libraryvideo frame extractionoptical flow computationvideo quality assessment
video-processingquality-metricscomputer-vision

More Scientific/Engineering packages