--- id: scikit-video version: "1.1.11" license: BSD license_treatment: permissive maintenance: active --- # scikit-video — Video Processing in Python License: permissive · Maintenance: active · Downloads: 1.2M/mo ## 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 above — 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 pip install scikit-video uv add scikit-video 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: unspecified - Install friction: low - Maintenance: active - Downloads: 1.2M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags video processing python, video quality metrics, ffmpeg python wrapper, video analysis library, video frame extraction, optical flow computation, video quality assessment, video-processing, quality-metrics, computer-vision [View on SkillFed](https://skillfed.io/packages/scikit-video) · [View on PyPI](https://pypi.org/project/scikit-video/)