:orphan:

.. _AVBIN:

AVBIN Many video formats (via AvBin, i.e. libav library)
========================================================

Extensions: ``.mov``, ``.avi``, ``.mp4``, ``.mpg``, ``.mpeg``, ``.mkv``

The AvBinFormat uses the AvBin library (based on libav) to read
video files.

This plugin is more efficient than the ffmpeg plugin, because it
uses ctypes (rather than a pipe like the ffmpeg plugin does).
Further, it supports reading images into a given numpy array.

The limitations of this plugin are that seeking, writing and camera
feeds are not supported. See the ffmpeg format for these features.

Parameters for reading
----------------------
loop : bool
    If True, the video will rewind as soon as a frame is requested
    beyond the last frame. Otherwise, IndexError is raised. Default False.
stream : int
    Specifies which video stream to read. Default 0.
videoformat : str | None
    Specifies the video format (e.g. 'avi', or 'mp4'). If this is None
    (default) the format is auto-detected.

Parameters for get_data
-----------------------
out : np.ndarray
    destination for the data retrieved. This can be used to save
    time-consuming memory allocations when reading multiple image
    sequntially. The shape of out must be (width, height, 3), the
    dtype must be np.uint8 and it must be C-contiguous.

    Use the create_empty_image() method of the reader object
    to create an array that is suitable for get_data.


