Top |
Properties
gchar * | device | Read / Write |
gchar * | device-name | Read |
GstV4l2DeviceTypeFlags | flags | Read |
gint | device-fd | Read |
gint | brightness | Read / Write |
gint | contrast | Read / Write |
gint | hue | Read / Write |
gint | saturation | Read / Write |
V4L2_TV_norms | norm | Read / Write |
GstV4l2IOMode | io-mode | Read / Write |
GstStructure * | extra-controls | Read / Write |
gboolean | force-aspect-ratio | Read / Write |
gchar * | pixel-aspect-ratio | Read / Write |
Object Hierarchy
GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰── GstBaseSrc ╰── GstPushSrc ╰── GstV4l2Src
Implemented Interfaces
GstV4l2Src implements GstURIHandler, GstTuner, GstColorBalance and GstVideoOrientation.
Description
v4l2src can be used to capture video from v4l2 devices, like webcams and tv cards.
Example launch lines
1 |
gst-launch-1.0 v4l2src ! xvimagesink |
1 |
gst-launch-1.0 v4l2src ! jpegdec ! xvimagesink |
Since 1.14, the use of libv4l2 has been disabled due to major bugs in the emulation layer. To enable usage of this library, set the environment variable GST_V4L2_USE_LIBV4L2=1.
Synopsis
Element Information
plugin |
video4linux2 |
author |
Edgard Lima <edgard.lima@gmail.com>, Stefan Kost <ensonic@users.sf.net> |
class |
Source/Video |
Element Pads
name |
src |
direction |
source |
presence |
always |
details |
image/jpeg |
video/mpeg, mpegversion=(int)4, systemstream=(boolean)false | |
video/mpeg, mpegversion=(int)2 | |
video/mpegts, systemstream=(boolean)true | |
video/x-bayer, format=(string){ bggr, gbrg, grbg, rggb }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ] | |
video/x-dv, systemstream=(boolean)true | |
video/x-h263, variant=(string)itu | |
video/x-h264, stream-format=(string){ byte-stream, avc }, alignment=(string)au | |
video/x-pwc1, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ] | |
video/x-pwc2, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ] | |
video/x-raw, format=(string){ RGB16, BGR, RGB, GRAY8, GRAY16_LE, GRAY16_BE, YVU9, YV12, YUY2, YVYU, UYVY, Y42B, Y41B, YUV9, NV12_64Z32, NV24, NV61, NV16, NV21, NV12, I420, BGRA, BGRx, ARGB, xRGB, BGR15, RGB15 }, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ] | |
video/x-sonix, width=(int)[ 1, 32768 ], height=(int)[ 1, 32768 ], framerate=(fraction)[ 0/1, 2147483647/1 ] | |
video/x-vp8 | |
video/x-vp9 | |
video/x-wmv, wmvversion=(int)3, format=(string)WVC1 |
Property Details
The “device”
property
“device” gchar *
Device location.
Flags: Read / Write
Default value: "/dev/video0"
The “device-name”
property
“device-name” gchar *
Name of the device.
Flags: Read
Default value: NULL
The “device-fd”
property
“device-fd” gint
File descriptor of the device.
Flags: Read
Allowed values: >= G_MAXULONG
Default value: -1
The “brightness”
property
“brightness” gint
Picture brightness, or more precisely, the black level
Flags: Read / Write
Default value: 0
The “contrast”
property
“contrast” gint
Picture contrast or luma gain
Flags: Read / Write
Default value: 0
The “saturation”
property
“saturation” gint
Picture color saturation or chroma gain
Flags: Read / Write
Default value: 0
The “io-mode”
property
“io-mode” GstV4l2IOMode
IO Mode
Flags: Read / Write
Default value: GST_V4L2_IO_AUTO
The “extra-controls”
property
“extra-controls” GstStructure *
Additional v4l2 controls for the device. The controls are identified by the control name (lowercase with '_' for any non-alphanumeric characters).
Flags: Read / Write
Since: 1.2
The “force-aspect-ratio”
property
“force-aspect-ratio” gboolean
When enabled, the pixel aspect ratio queried from the device or set with the pixel-aspect-ratio property will be enforced.
Flags: Read / Write
Default value: TRUE
Since: 1.2
The “pixel-aspect-ratio”
property
“pixel-aspect-ratio” gchar *
The pixel aspect ratio of the device. This overwrites the pixel aspect ratio queried from the device.
Flags: Read / Write
Default value: "1/1"
Since: 1.2
Signal Details
The “prepare-format”
signal
void user_function (GstV4l2Src *v4l2src, gint fd, GstCaps *caps, gpointer user_data)
This signal gets emitted before calling the v4l2 VIDIOC_S_FMT ioctl (set format). This allows for any custom configuration of the device to happen prior to the format being set. This is mostly useful for UVC H264 encoding cameras which need the H264 Probe & Commit to happen prior to the normal Probe & Commit.
Parameters
v4l2src |
the v4l2src instance |
|
fd |
the file descriptor of the current device |
|
caps |
the caps of the format being set |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last