sk-video
Video Processing in Python
What it is and what it does
This package provides video I/O and analysis capabilities, wrapping FFmpeg to read and write video frames, extract metadata, and compute video quality metrics. It follows the conventions of scikit-image and scikit-learn, sitting on top of numpy and scipy for workflows already using the scientific Python stack.
The library provides frame-by-frame video access, metadata inspection, and implementations of standard quality metrics (MSE, PSNR, SSIM, MS-SSIM, NIQE, BRISQUE, VIIDEO, Video-BLIINDS, ST-RRED). Recent versions validated metric implementations against reference code and fixed divergences; the 1.1.12+ line added pathlib.Path support, URL and file-like object I/O, and audio passthrough. The project is actively maintained with ongoing compatibility work for modern NumPy and Python versions.
Use it for:
- Extract frames from video files and process them with numpy and scipy for computer vision tasks.
- Compute video quality metrics (SSIM, PSNR, NIQE, BRISQUE) for compression or enhancement evaluation.
- Read video metadata and properties without decoding all frames.
- Batch process video files to generate frame sequences for machine learning pipelines.
- Validate video codec compatibility and inspect FFmpeg-supported container formats.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Reads, writes, and processes video files using FFmpeg as its backend, providing video I/O and quality metrics (NIQE, BRISQUE, SSIM, PSNR) built on numpy and scipy.
Yes, if you need video I/O and quality metrics in a Python environment already using numpy and scipy. Install friction is low and maintenance is active. Requires FFmpeg >= 2.8 on system PATH and Python >= 3.10. Metric implementations changed in 1.2.0 (more accurate but incomparable to 1.1.x scores); verify this does not break existing workflows. No known security vulnerabilities.
Install
sk-video on PyPI
pip
pip install sk-videouv
uv add sk-videopoetry
poetry add sk-videoInstalling sk-video
Before you install
Low install friction; pure Python wheel with only numpy and scipy as runtime dependencies. Actively maintained with recent metric accuracy fixes and NumPy 2.x compatibility. Requires FFmpeg >= 2.8 on system PATH and Python >= 3.10.
License in practice
BSD permissive license allows commercial and private use with minimal restrictions; attribution and license notice required in distributions.
Quickstart
pip install scikit-video
import skvideo.io
video_data = skvideo.io.vread('video.mp4')
metadata = skvideo.io.ffprobe('video.mp4')
FFmpeg >= 2.8 must be installed and on system PATH; Python >= 3.10 required.
Verify before relying
- Whether the metric accuracy changes in 1.2.0 (NIQE, BRISQUE, VIIDEO, Video-BLIINDS) affect existing workflows or benchmarks.
- Current state of the deprecated libav/avconv backend and mediainfo support (planned removal in 1.4.0).
- Whether Pillow >= 9.0 is a runtime or optional dependency.
Package facts
| License | BSD (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — numpy, scipy |
| Maintenance | actively maintained — 3,167 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 305,163/month — #7,796 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sk_video-1.1.10-py2.py3-none-any.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
scikit-videoscikit-video reads, writes, and analyzes video…
permissive · top 5,000 on PyPI
moviepyMoviePy is a Python library for video editing…
permissive · top 5,000 on PyPI
imageio-ffmpegProvides a simple Python wrapper around ffmpeg…
permissive · top 5,000 on PyPI
knowitExtracts detailed metadata from media files…
permissive · top 15,000 on PyPI
typed-ffmpegA Python wrapper around FFmpeg with full type…
permissive · top 15,000 on PyPI
ffmpeg-pythonffmpeg-python provides a Python interface to…
permissive · top 5,000 on PyPI
ffmpegWraps FFmpeg and FFprobe command-line tools to…
permissive · top 15,000 on PyPI
decord2Decord2 decodes video and audio files with…
permissive · top 15,000 on PyPI
decordDecord decodes video and audio files with…
permissive · top 5,000 on PyPI
mediapyMediapy reads, writes, and displays images and…
permissive · top 5,000 on PyPI