v4l2ctl package¶
Module contents¶
-
class
v4l2ctl.
V4l2Device
(device='/dev/video0')¶ Initialize the V4l2Device object and read its basic information.
Keyword Arguments: device (str, path-like, int) – the video device (default r”/dev/video0”) if an int is given, it is assumed to be number after “video” in “/dev”. Raises: IoctlError
– if a non-video device file is given.-
buffer_type
¶ The buffer type (see
V4l2BufferType
) required for several operations. This attribute does not change anything in the device itself. It is used by other operations.
-
bus
¶ The bus through which this device is connected (read-only).
-
capabilities
¶ The device specific capabilities (read-only). These are the capabilities associated with this dev-file only. The physical device can have more than one dev-file, and hence more capabilities. See physical_capabilities.
-
close
()¶ Flush and close the IO object.
This method has no effect if the file is already closed.
-
cropping_capabilities
¶ The cropping capabilities (read-only). These are the cropping capabilities of this video device.
- Only valid for these buffer types:
- V4l2BufferType.VIDEO_CAPTURE
- V4l2BufferType.VIDEO_CAPTURE_MPLANE
- V4l2BufferType.VIDEO_OUTPUT
- V4l2BufferType.VIDEO_OUTPUT_MPLANE
- V4l2BufferType.VIDEO_OVERLAY
-
cropping_rectangle
¶ The cropping rectangle (see
V4l2Rectangle
).Note
The cropping rectange is specfic to the set buffer type. (See
buffer_type
)
-
device
¶ The device file (read-only).
-
driver
¶ The linux driver (read-only).
-
fileno
()¶ Returns underlying file descriptor if one exists.
OSError is raised if the IO object does not use a file descriptor.
-
flush
()¶ Flush write buffers, if applicable.
This is not implemented for read-only and non-blocking streams.
-
formats
¶ A generator for the suported formats by this video device.
Note
The formats are specfic to the set buffer type. (See
buffer_type
)
-
isatty
()¶ Return whether this is an ‘interactive’ stream.
Return False if it can’t be determined.
-
iter_buffer_formats
(buffer_type)¶ Iterate over the formats supported by a certain buffer.
Keyword Arguments: buffer_type – see V4l2BufferType
.Returns: a generator
-
static
iter_devices
(skip_links=True)¶ Return an iterator over the available v4l2 devices.
Keyword Arguments: skip_links (bool) – skip links and return every device only once (default True) Returns: an iterator
-
name
¶ The card name (read-only).
-
physical_capabilities
¶ The general physical capabilities (read-only). These are the capabilities associated with the physical device as a while, and not limited to this dev-file only.
-
readable
()¶ Return whether object was opened for reading.
If False, read() will raise OSError.
-
readline
(size=-1)¶ Read and return a line from the stream.
If size is specified, at most size bytes will be read.
The line terminator is always b’n’ for binary files; for text files, the newlines argument to open can be used to select the line terminator(s) recognized.
-
readlines
(hint=-1)¶ Return a list of lines from the stream.
hint can be specified to control the number of lines read: no more lines will be read if the total size (in bytes/characters) of all lines so far exceeds hint.
-
seekable
()¶ Return whether object supports random access.
If False, seek(), tell() and truncate() will raise OSError. This method may need to do a test seek().
-
supported_buffer_types
¶ The supported buffer types by this video device (read-only).
-
version
¶ The kernel version as a string (read-only).
-
version_tuple
¶ The kernel version as a tuple (read-only).
-
writable
()¶ Return whether object was opened for writing.
If False, write() will raise OSError.
-
writelines
(lines)¶ Write a list of lines to stream.
Line separators are not added, so it is usual for each of the lines provided to have a line separator at the end.
-
-
class
v4l2ctl.
V4l2Capabilities
¶ The v4l2 capability flags.
These are the flags defining the supported capabilities of a V4l2 devince.
Example
Check if device /dev/video0 supports video capturing:
vid_dev = VideoDevice(r"/dev/video0") if CapabilityFlags.VIDEO_CAPTURE in vid_dev.capabilities: start_recording()
-
ASYNCIO
= 33554432¶ Async I/O.
-
AUDIO
= 131072¶ Has audio support.
-
DEVICE_CAPS
= 2147483648¶ Sets device capabilities field.
-
EXT_PIX_FORMAT
= 2097152¶ Supports the extended pixel format.
-
HW_FREQ_SEEK
= 1024¶ Can do hardware frequency seek.
-
META_CAPTURE
= 8388608¶ Is a metadata capture device.
-
META_OUTPUT
= 134217728¶ Is a metadata output device.
-
MODULATOR
= 524288¶ Has a modulator.
-
RADIO
= 262144¶ Is a radio device.
-
RDS_CAPTURE
= 256¶ RDS data capture.
-
RDS_OUTPUT
= 2048¶ Is an RDS encoder.
-
READWRITE
= 16777216¶ Read/write systemcalls.
-
SDR_CAPTURE
= 1048576¶ Is a SDR capture device.
-
SDR_OUTPUT
= 4194304¶ Is a SDR output device.
-
SLICED_VBI_CAPTURE
= 64¶ Is a sliced VBI capture device.
-
SLICED_VBI_OUTPUT
= 128¶ Is a sliced VBI output device.
-
STREAMING
= 67108864¶ Streaming I/O ioctls.
-
TOUCH
= 268435456¶ Is a touch device.
-
TUNER
= 65536¶ Has a tuner.
-
VBI_CAPTURE
= 16¶ Is a raw VBI capture device.
-
VBI_OUTPUT
= 32¶ Is a raw VBI output device.
-
VIDEO_CAPTURE
= 1¶ Is a video capture device.
-
VIDEO_CAPTURE_MPLANE
= 4096¶ Is a video capture device that supports multiplanar formats.
-
VIDEO_M2M
= 32768¶ Is a video mem-to-mem device.
-
VIDEO_M2M_MPLANE
= 16384¶ Is a video mem-to-mem device that supports multiplanar formats.
-
VIDEO_OUTPUT
= 2¶ Is a video output device.
-
VIDEO_OUTPUT_MPLANE
= 8192¶ Is a video output device that supports multiplanar formats.
-
VIDEO_OUTPUT_OVERLAY
= 512¶ Can do video output overlay.
-
VIDEO_OVERLAY
= 4¶ Can do video overlay.
-
-
class
v4l2ctl.
V4l2BufferType
¶ The v4l2 buffer types.
Used with :attribute:`enum_fmt`.
-
META_CAPTURE
= 13¶ Buffer for metadata capture, see Metadata Interface.
-
META_OUTPUT
= 14¶ Buffer for metadata output, see Metadata Interface.
-
SDR_CAPTURE
= 11¶ Buffer for Software Defined Radio (SDR) capture stream, see Software Defined Radio Interface (SDR).
-
SDR_OUTPUT
= 12¶ Buffer for Software Defined Radio (SDR) output stream, see Software Defined Radio Interface (SDR).
-
SLICED_VBI_CAPTURE
= 6¶ Buffer of a sliced VBI capture stream, see Sliced VBI Data Interface.
-
SLICED_VBI_OUTPUT
= 7¶ Buffer of a sliced VBI output stream, see Sliced VBI Data Interface.
-
VBI_CAPTURE
= 4¶ Buffer of a raw VBI capture stream, see Raw VBI Data Interface.
-
VBI_OUTPUT
= 5¶ Buffer of a raw VBI output stream, see Raw VBI Data Interface.
-
VIDEO_CAPTURE
= 1¶ Buffer of a single-planar video capture stream, see Video Capture Interface.
-
VIDEO_CAPTURE_MPLANE
= 9¶ Buffer of a multi-planar video capture stream, see Video Capture Interface.
-
VIDEO_OUTPUT
= 2¶ Buffer of a single-planar video output stream, see Video Output Interface.
-
VIDEO_OUTPUT_MPLANE
= 10¶ Buffer of a multi-planar video output stream, see Video Output Interface.
-
VIDEO_OUTPUT_OVERLAY
= 8¶ Buffer for video output overlay (OSD), see Video Output Overlay Interface.
-
VIDEO_OVERLAY
= 3¶ Buffer for video overlay, see Video Overlay Interface.
-
-
class
v4l2ctl.
V4l2Formats
¶ An Enum-Container for all V4l2Formats. This class delegates its operations to the contained enums. For more information, see:
py:class:V4l2PixFormats py:class:V4l2SdrFormats py:class:V4l2TouchFormats py:class:V4l2MetaFormats
-
class
v4l2ctl.
V4l2FormatDescFlags
¶ The v4l2 format flags.
-
COMPRESSED
= 1¶ This is a compressed format.
-
EMULATED
= 2¶ This format is not native to the device but emulated through software (usually libv4l2), where possible try to use a native format instead for better performance.
-
NONE
= 0¶ No flags are set.
-
-
exception
v4l2ctl.
IoctlError
(device, name, request, return_code, extra_msg=None)¶ Raised when ioctl() returns a non-zero value.
-
exception
v4l2ctl.
FeatureNotSupported
¶