uvch264src

A camera bin src element that wraps v4l2src and implements UVC H264 Extension Units (XU) to control the H264 encoder in the camera

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstBin
                    ╰──GstBaseCameraSrc
                        ╰──uvch264src

Implemented interfaces

Factory details

Authors: – Youness Alaoui

Classification:Source/Video

Rank – none

Plugin – uvch264

Package – GStreamer Bad Plug-ins

Pad Templates

imgsrc

EMPTY

Presencealways

Directionsrc

Object typeGstPad


vfsrc

The video src pad template

video/x-raw:
         format: { A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, RBGA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]
image/jpeg:
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]

Presencealways

Directionsrc

Object typeGstPad


vidsrc

video/x-raw:
         format: { A444_16LE, A444_16BE, AYUV64, RGBA64_LE, ARGB64, ARGB64_LE, BGRA64_LE, ABGR64_LE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, A422_16LE, A422_16BE, A420_16LE, A420_16BE, A444_12LE, GBRA_12LE, A444_12BE, GBRA_12BE, Y412_LE, Y412_BE, A422_12LE, A422_12BE, A420_12LE, A420_12BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, BGR10A2_LE, RGB10A2_LE, Y410, A444, GBRA, AYUV, VUYA, RGBA, RBGA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16LE, GBR_16LE, Y444_16BE, GBR_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, UYVP, v210, I420_10LE, I420_10BE, P010_10LE, NV12_10LE40, NV12_10LE32, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]
image/jpeg:
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]
video/x-h264:
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]
  stream-format: { (string)byte-stream, (string)avc }
      alignment: au
        profile: { (string)high, (string)main, (string)baseline, (string)constrained-baseline }

Presencealways

Directionsrc

Object typeGstPad


Action Signals

get-boolean-setting

g_signal_emit_by_name (param_0, "get-boolean-setting", arg0, arg1, arg2, &ret);
ret = param_0.emit ("get-boolean-setting", arg0, arg1, arg2)
let ret = param_0.emit ("get-boolean-setting", arg0, arg1, arg2);

Parameters:

param_0 (GstElement *)
No description available
arg0 (gchararray)
No description available
arg1 (gpointer)
No description available
arg2 (gpointer)
No description available
Returns (gboolean)
No description available

Flags: Run Last / Action


get-enum-setting

g_signal_emit_by_name (param_0, "get-enum-setting", arg0, arg1, arg2, &ret);
ret = param_0.emit ("get-enum-setting", arg0, arg1, arg2)
let ret = param_0.emit ("get-enum-setting", arg0, arg1, arg2);

Parameters:

param_0 (GstElement *)
No description available
arg0 (gchararray)
No description available
arg1 (gpointer)
No description available
arg2 (gpointer)
No description available
Returns (gboolean)
No description available

Flags: Run Last / Action


get-int-setting

g_signal_emit_by_name (param_0, "get-int-setting", arg0, arg1, arg2, arg3, &ret);
ret = param_0.emit ("get-int-setting", arg0, arg1, arg2, arg3)
let ret = param_0.emit ("get-int-setting", arg0, arg1, arg2, arg3);

Parameters:

param_0 (GstElement *)
No description available
arg0 (gchararray)
No description available
arg1 (gpointer)
No description available
arg2 (gpointer)
No description available
arg3 (gpointer)
No description available
Returns (gboolean)
No description available

Flags: Run Last / Action


Properties

average-bitrate

“average-bitrate” guint

The average bitrate in bits/second (dynamic control)

Flags : Read / Write

Default value : 3000000


colorspace-name

“colorspace-name” gchararray

The name of the colorspace element

Flags : Read / Write / Construct

Default value : videoconvert


device

“device” gchararray

Device location

Flags : Read / Write

Default value : /dev/video0


device-name

“device-name” gchararray

Name of the device

Flags : Read


enable-sei

“enable-sei” gboolean

Enable SEI picture timing (static control)

Flags : Read / Write

Default value : false


entropy

“entropy” Uvc-h264entropy *

Entropy (static control)

Flags : Read / Write

Default value : cavlc (0)


fixed-framerate

“fixed-framerate” gboolean

Fixed framerate (static & dynamic control)

Flags : Read / Write

Default value : false


iframe-period

“iframe-period” guint

Time between IDR frames in milliseconds (static control)

Flags : Read / Write

Default value : 10000


initial-bitrate

“initial-bitrate” guint

Initial bitrate in bits/second (static control)

Flags : Read / Write

Default value : 3000000


jpeg-decoder-name

“jpeg-decoder-name” gchararray

The name of the jpeg decoder element

Flags : Read / Write / Construct

Default value : jpegdec


leaky-bucket-size

“leaky-bucket-size” guint

Size of the leaky bucket size in milliseconds (static control)

Flags : Read / Write

Default value : 1000


level-idc

“level-idc” guint

Level IDC (dynamic control)

Flags : Read / Write

Default value : 40


ltr-buffer-size

“ltr-buffer-size” gint

Total number of Long-Term Reference frames (dynamic control)

Flags : Read / Write

Default value : 0


ltr-encoder-control

“ltr-encoder-control” gint

Number of LTR frames the device can control (dynamic control)

Flags : Read / Write

Default value : 0


max-bframe-qp

“max-bframe-qp” gint

The minimum Quantization step size for B frames (dynamic control)

Flags : Read / Write

Default value : 46


max-iframe-qp

“max-iframe-qp” gint

The minimum Quantization step size for I frames (dynamic control)

Flags : Read / Write

Default value : 46


max-mbps

“max-mbps” guint

The number of macroblocks per second for the maximum processing rate

Flags : Read

Default value : 0


max-pframe-qp

“max-pframe-qp” gint

The minimum Quantization step size for P frames (dynamic control)

Flags : Read / Write

Default value : 46


min-bframe-qp

“min-bframe-qp” gint

The minimum Quantization step size for B frames (dynamic control)

Flags : Read / Write

Default value : 10


min-iframe-qp

“min-iframe-qp” gint

The minimum Quantization step size for I frames (dynamic control)

Flags : Read / Write

Default value : 10


min-pframe-qp

“min-pframe-qp” gint

The minimum Quantization step size for P frames (dynamic control)

Flags : Read / Write

Default value : 10


num-buffers

“num-buffers” gint

Number of buffers to output before sending EOS (-1 = unlimited)

Flags : Read / Write

Default value : -1


num-clock-samples

“num-clock-samples” gint

Number of clock samples to gather for the PTS synchronization (-1 = unlimited)

Flags : Read / Write / Construct

Default value : 0


num-reorder-frames

“num-reorder-frames” guint

Number of B frames between the references frames (static control)

Flags : Read / Write

Default value : 0


peak-bitrate

“peak-bitrate” guint

The peak bitrate in bits/second (dynamic control)

Flags : Read / Write

Default value : 3000000


preview-flipped

“preview-flipped” gboolean

Horizontal flipped image for non H.264 streams (static control)

Flags : Read / Write

Default value : false


rate-control

“rate-control” Uvc-h264rate-control *

Rate control mode (static & dynamic control)

Flags : Read / Write

Default value : cbr (1)


slice-mode

“slice-mode” Uvc-h264slice-mode *

Defines the unit of the slice-units property (static control)

Flags : Read / Write

Default value : slice/frame (3)


slice-units

“slice-units” guint

Slice units (static control)

Flags : Read / Write

Default value : 4


usage-type

“usage-type” Uvc-h264usage-type *

The usage type (static control)

Flags : Read / Write

Default value : realtime (1)


Named constants

Uvc-h264entropy

Members

cavlc (0) – CAVLC
cabac (1) – CABAC

Uvc-h264rate-control

Members

cbr (1) – Constant bit rate
vbr (2) – Variable bit rate
qp (3) – Constant QP

Uvc-h264slice-mode

Members

ignored (0) – Ignored
bits/slice (1) – Bits per slice
MBs/slice (2) – MBs per Slice
slice/frame (3) – Slice Per Frame

Uvc-h264usage-type

Members

realtime (1) – Realtime (video conferencing)
broadcast (2) – Broadcast
storage (3) – Storage
ucconfig0 (4) – UCConfig 0
ucconfig1 (5) – UCConfig 1
ucconfig2q (6) – UCConfig 2Q
ucconfig2s (7) – UCConfig 2S
ucconfig3 (8) – UCConfig 3

The results of the search are