# 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.