vidsrc

Video Frameserver for Numpy


Keywords
format-reader, python, video, windows
License
BSD-3-Clause
Install
pip install vidsrc==2024.1.6

Documentation

Video Frameserver for Numpy

Vidsrc is a Python library to read frames from video files as numpy arrays via the DirectShow IMediaDet interface.

Author: Christoph Gohlke
License: BSD 3-Clause
Version: 2022.9.28

Requirements

This release has been tested with the following requirements and dependencies (other versions may work):

Revisions

2022.9.28

  • Update metadata.

2021.6.6

  • Remove support for Python 3.6 (NEP 29).
  • Fix compile error on PyPy3.

2020.1.1

  • Remove support for Python 2.7 and 3.5.

Notes

The DirectShow IMediaDet interface is deprecated and may be removed from future releases of Windows (https://docs.microsoft.com/en-us/windows/desktop/directshow/imediadet).

To fix compile error C2146: syntax error: missing ';' before identifier 'PVOID64', change typedef void * POINTER_64 PVOID64; to typedef void * __ptr64 PVOID64; in winnt.h.

Example

>>> from vidsrc import VideoSource
>>> video = VideoSource('test.avi', grayscale=False)
>>> len(video)  # number of frames in video
48
>>> video.duration  # length in s
1.6016
>>> video.framerate  # frames per second
29.970089850329373
>>> video.shape  # frames, height, width, color channels
(48, 64, 64, 3)
>>> frame = video[0]  # access first frame
>>> frame = video[-1]  # access last frame
>>> for frame in video:
...     pass  # do_something_with(frame)