--- id: sk-video version: "1.1.10" license: BSD license_treatment: permissive maintenance: active --- # sk-video — Video Processing in Python License: permissive · Maintenance: active · Downloads: 305.2K/mo ## 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 above — 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 pip install sk-video uv add sk-video poetry add sk-video ## Installing 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: unspecified - Install friction: low - Maintenance: active - Downloads: 305.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags video processing python, read write video files, video quality metrics, ffmpeg python wrapper, video frame extraction, video analysis, video-processing, ffmpeg-wrapper, quality-metrics [View on SkillFed](https://skillfed.io/packages/sk-video) · [View on PyPI](https://pypi.org/project/sk-video/)