{"library":"scikit-video","title":"scikit-video: Video Processing in Python","description":"scikit-video is a Python module for video processing, built on top of scipy, numpy, and relying on external `ffmpeg` or `libav` binaries. It aims to provide an all-in-one solution for research-level video processing, offering both high-level and low-level abstractions for reading, writing, and manipulating video files. The current version is 1.1.11, with development seemingly in maintenance mode since its last major release in 2018.","language":"python","status":"maintenance","last_verified":"Sun May 17","install":{"commands":["pip install scikit-video"],"cli":null},"imports":["import skvideo.io","import skvideo.datasets","import skvideo.utils"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import skvideo.io\nimport skvideo.datasets\nimport numpy as np\n\n# Get a sample video filename\nfilename = skvideo.datasets.bigbuckbunny()\n\n# Read the video into a NumPy array\n# For larger videos, consider skvideo.io.vreader for frame-by-frame processing\nvideodata = skvideo.io.vread(filename, num_frames=10) # Read first 10 frames for quick test\n\nprint(f\"Video data shape: {videodata.shape}\")\nprint(f\"Data type: {videodata.dtype}\")\n\n# Example: Convert to grayscale (if not already)\nif videodata.shape[-1] == 3:\n    # Simple average for grayscale, or use more advanced conversion\n    grayscale_video = np.mean(videodata, axis=-1, keepdims=True).astype(videodata.dtype)\n    print(f\"Grayscale video shape: {grayscale_video.shape}\")\n\n# To prevent 'module numpy has no attribute float' errors with recent NumPy, \n# you might need this workaround before importing anything that uses it if it breaks:\n# import numpy\n# numpy.float = numpy.float64\n# numpy.int = numpy.int_","lang":"python","description":"This quickstart demonstrates how to load a sample video from `skvideo.datasets` into a NumPy array using `skvideo.io.vread`. It also shows how to inspect the video's shape and data type. For large videos, `skvideo.io.vreader` is recommended for memory efficiency.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"1.1.11","pypi_latest":"1.1.11","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":7.8,"avg_import_s":2.91,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"scikit-video","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":2.29,"mem_mb":41.3,"disk_size":"253.0M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"scikit-video","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":7.7,"import_time_s":1.6,"mem_mb":41.3,"disk_size":"244M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"scikit-video","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":4.05,"mem_mb":52.9,"disk_size":"268.9M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"scikit-video","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":7.5,"import_time_s":3.62,"mem_mb":52.9,"disk_size":"258M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"scikit-video","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":3.65,"mem_mb":51.8,"disk_size":"254.8M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"scikit-video","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":7.5,"import_time_s":3.73,"mem_mb":51.8,"disk_size":"244M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"scikit-video","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":3.13,"mem_mb":52.5,"disk_size":"253.6M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"scikit-video","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":7.6,"import_time_s":3.27,"mem_mb":52.5,"disk_size":"243M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"scikit-video","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.92,"mem_mb":39.5,"disk_size":"253.1M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"scikit-video","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8.9,"import_time_s":1.82,"mem_mb":39.6,"disk_size":"250M"}]}}