Skip to content

AidStream PLUGINS

插件简介

qtivcomposer 插件

qtivcomposer 插件借助 GPU 硬件,将多路输入视频流合并 / 混合为一路输出流。 Pad 属性决定了(每路流的)输入缓冲区在输出缓冲区中的合成方式。

属性名用途说明
Position(位置)设置每路输入帧在输出画面中的 X 轴与 Y 轴摆放位置
Crops(裁剪)对源画面进行可选的裁剪处理
Dimensions(尺寸)对帧画面进行放大 / 缩小(分辨率调整)
Rotate(旋转)设置每路输入画面的透明度
• Flip-horizontal(水平翻转)
• Flip-vertical(垂直翻转)
设置每路输入画面在输出画面中的合成方式
Alpha(透明度)为帧画面添加 Alpha 混合(透明度叠加)数值
Z order(层级顺序)调整各帧画面的叠加层级。默认情况下,帧的层级顺序与接收端 Pad(sink pad)的创建顺序一致,例如 sink_0、sink_1 的顺序
属性名描述说明
name(名称)对象的名称。
• 标识:可读、可写
• 类型:字符串。默认值:"video_composer0"
parent(父对象)对象的父对象。
• 标识:可读、可写
• 类型:"GstObject" 类型的对象
engine(引擎)用于转换操作的后端引擎。
• 标识:可读、可写
• 枚举类型:"GstVideoConverterBackend"。默认值:1,"gles"
◦ (1): gles - 使用基于 OpenGLES 的视频转换器
◦ (2): fcv - 使用基于 FastCV 的视频转换器
💡 说明:高通计算机视觉 SDK(fcv)引擎目前暂不支持
latency(延迟)直播模式下的额外延迟,允许上游为当前位置生成缓冲区的时间更长(单位:纳秒)。
• 标识:可读、可写
• 类型:无符号 64 位整数
• 范围:0 - 18446744073709551615
• 默认值:0
start-time-selection(启动时间选择)决定输出的启动时间。
• 标识:可读、可写
• 枚举类型:"GstAggregatorStartTimeSelection"。默认值:0,"zero"
◦ (0): zero - 从运行时间 0 开始(默认)
◦ (1): first - 从首次观测到的输入运行时间开始
◦ (2): set - 使用 start-time 属性设置启动时间
start-time(启动时间)当 start-time-selection 设为 set 时使用的启动时间。
• 标识:可读、可写
• 类型:无符号 64 位整数。范围:0 - 18446744073709551615
• 默认值:18446744073709551615
background(背景)背景颜色。
• 标识:可读、可写,且在 NULL、READY、PAUSED、PLAYING 状态下可修改
• 类型:无符号整数。范围:0 - 4294967295
• 默认值:4286611584

Waylandsink 插件

waylandsink 插件基于 GStreamer 的 GstVideoSink 类实现,它依托 Wayland Weston 合成器工作 —— 会自行创建窗口,并将输入的视频帧渲染到该窗口中。 该插件会将 Weston 客户端的 API 与状态,映射为对应的 GStreamer API 与状态。高通对 waylandsink 的实现进行了扩展,新增了窗口定位功能的支持,同时添加了基于 GBM 的专属缓冲区后端(用于实现零拷贝),以及 XDG shell 后端。

tips
💡 说明
在当前版本中,不支持x、y、width和height属性。
属性名描述说明
name(名称)对象的名称。
• 标识:可读、可写
• 类型:字符串。默认值:"waylandsink0"
parent(父对象)对象的父对象。
• 标识:可读、可写
• 类型:"GstObject" 类型的对象
sync(时钟同步)基于时钟进行同步。
• 标识:可读、可写
• 类型:布尔值。默认值:true
max-lateness(最大延迟)缓冲区被丢弃前允许的最大延迟时间(单位:纳秒,-1 表示无限制)。
• 标识:可读、可写
• 类型:64位整数。范围:-1 至 9223372036854775807,默认值:20000000
qos(服务质量)向上游生成服务质量事件。
• 标识:可读、可写
• 类型:布尔值。默认值:true
async(异步)异步切换至PAUSED状态。
• 标识:可读、可写
• 类型:布尔值。默认值:true
ts-offset(时间戳偏移)时间戳偏移量(单位:纳秒)。
• 标识:可读、可写
• 类型:64位整数。范围:-9223372036854775808 至 9223372036854775807,默认值:0
enable-last-sample(启用最后一帧)启用last-sample属性。
• 标识:可读、可写
• 类型:布尔值。默认值:true
last-sample(最后一帧)接收端接收到的最后一帧数据。
• 标识:可读
• 类型:"GstSample" 类型的装箱指针
blocksize(块大小)每次拉取缓冲区的字节大小(0 表示默认)。
• 标识:可读、可写
• 类型:无符号整数。范围:0 - 4294967295,默认值:4096
render-delay(渲染延迟)接收端的额外渲染延迟(单位:纳秒)。
• 标识:可读、可写
• 类型:无符号64位整数。范围:0 - 18446744073709551615,默认值:0
throttle-time(节流时间)渲染缓冲区之间的间隔时间(0 表示禁用)。
• 标识:可读、可写
• 类型:无符号64位整数。范围:0 - 18446744073709551615,默认值:0
max-bitrate(最大比特率)渲染的最大每秒比特数(0 表示禁用)。
• 标识:可读、可写
• 类型:无符号64位整数。范围:0 - 18446744073709551615,默认值:0
show-preroll-frame(显示预滚帧)预滚阶段是否渲染视频帧。
• 标识:可读、可写
• 类型:布尔值。默认值:true
display(显示名称)用于建立连接的Wayland显示名称(若未通过GstContext提供)。
• 标识:可读、可写
• 类型:字符串。默认值:null
xdg-shell(XDG外壳)为显示使用XDG外壳协议。
• 标识:可读、可写
• 类型:布尔值。默认值:true
fullscreen(全屏)决定界面是否全屏显示。
• 标识:可读、可写,且在NULL、READY、PAUSED、PLAYING状态下可修改
• 类型:布尔值。默认值:false

qtivsplit 插件

qtivsplit插件借助GPU硬件,将一路输入视频流拆分为多路输出流。流的数量是用户自定义的变量,且与源Pad的数量相等。 每个源Pad的“mode”属性,决定了对输入流的拆分方式。

运行模式描述说明
none• 接收端Pad上的输入视频帧,会被复制到每个源Pad上。
• 会基于该Pad协商后的GstCaps,执行更多颜色转换与放大/缩小操作。
single-roi-meta• 会检查输入视频缓冲区中是否存在GstVideoRegionOfInterestMeta(感兴趣区域元数据)。
• 需确保源Pad创建时的数量,与单个GstBuffer中预期的GstVideoRegionOfInterestMeta最大数量相等。
• 若源Pad数量不足,没有对应Pad的ROI元数据会被忽略。
batch-roi-meta对附加在缓冲区上的GstVideoRegionOfInterestMeta条目进行操作;与single-roi-meta不同的是,该模式下会将所有元数据条目以独立缓冲区的形式发送到Pad上。
属性名描述说明
name(名称)对象的名称。
• 标识:可读、可写
• 类型:字符串。默认值:"videosplit0"
parent(父对象)对象的父对象。
• 标识:可读、可写
• 类型:"GstObject" 类型的对象
engine(引擎)用于转换操作的后端引擎。
• 标识:可读、可写
• 枚举类型:"GstVideoConverterBackend"。默认值:1,"gles"
◦ (1): gles - 使用基于 OpenGLES 的视频转换器
◦ (2): fcv - 使用基于高通计算机视觉 SDK 的视频转换器
💡 说明:高通计算机视觉 SDK(fcv)引擎目前暂不支持

qtivtransform 插件

qtivtransform插件借助GPU硬件,根据元素属性对输入的YUV或RGB视频帧执行放大/缩小、翻转、旋转、裁剪及颜色转换操作。

属性名用途说明
Destination(目标位置)设置每路输入帧在输出画面中的X轴、Y轴摆放位置,同时指定放大/缩小的尺寸。
Crop(裁剪)对源画面进行可选的裁剪处理。
Rotate(旋转)将帧画面按直角角度旋转。
• Flip-horizontal(水平翻转)
• Flip-vertical(垂直翻转)
分别对帧画面进行水平翻转和垂直翻转处理。

若未指定GstCaps源Pad的变换属性,插件会协商出与输入一致的能力。这种情况下,插件会以直通模式运行,直到参数发生变更。

该插件使用高通Adreno™ GPU提供的Qualcomm IB2C库来执行所有变换操作。该库被封装在自定义的GstC2dVideoConverter抽象层中,通过API来创建、配置并处理输入和输出缓冲区。

自定义缓冲区池类GstImageBufferPool可分配GBM或ION输出缓冲区,具体取决于GstImageBufferPool与下游插件之间协商的能力:

  • GBM分配通过高通libgbm库完成。
  • ION分配通过向内核发送IOCTL命令完成。
属性名描述说明
name(名称)对象的名称。
• 标识:可读、可写
• 类型:字符串。默认值:"videotransform0"
parent(父对象)对象的父对象。
• 标识:可读、可写
• 类型:"GstObject" 类型的对象
engine(引擎)用于转换操作的后端引擎。
• 标识:可读、可写
• 枚举类型:"GstVideoConverterBackend"。默认值:1,"gles"
◦ (1): gles - 使用基于 OpenGLES 的视频转换器
◦ (2): fcv - 使用基于高通计算机视觉 SDK 的视频转换器
💡 说明:高通计算机视觉 SDK(fcv)引擎目前暂不支持
flip-horizontal(水平翻转)水平翻转视频画面。
• 标识:可读、可写,且在NULL、READY、PAUSED、PLAYING状态下可修改
• 类型:布尔值。默认值:false
flip-vertical(垂直翻转)垂直翻转视频画面。
• 标识:可读、可写,且在NULL、READY、PAUSED、PLAYING状态下可修改
• 类型:布尔值。默认值:false
rotate(旋转)旋转视频画面。
• 标识:可读、可写,且在NULL、READY、PAUSED、PLAYING状态下可修改
• 枚举类型:"GstVideoTransformRotate"。默认值:0,"none"
◦ (0): none - 不旋转
◦ (1): 90CW - 顺时针旋转90度
◦ (2): 90CCW - 逆时针旋转90度
◦ (3): 180 - 旋转180度
crop(裁剪)输入画面内的裁剪矩形(格式:<X, Y, WIDTH, HEIGHT>)。
💡 说明:该属性不支持时间同步。
• 标识:可读、可写,且在NULL、READY、PAUSED、PLAYING状态下可修改
• 类型:gint类型的GstValue数组
destination(目标区域)输出画面内的目标矩形(格式:<X, Y, WIDTH, HEIGHT>)。
• 标识:可读、可写,且在NULL、READY、PAUSED、PLAYING状态下可修改
• 类型:gint类型的GstValue数组
background(背景)背景颜色。
• 标识:可读、可写,且在NULL、READY、PAUSED、PLAYING状态下可修改
• 类型:无符号整数。范围:0 - 4294967295
• 默认值:4286611584

qtisocketsink 插件

qtisocketsink插件通过UNIX套接字,将基于文件描述符(FD)的GstBuffer传输到其他进程,而qtisocketsrc是对应的接收入口。 qtisocketsink插件需要一个UNIX域套接字文件(需以.sock为后缀),并将其作为socket属性传入,以此实现FD的传输。 从其他进程传递到该插件的缓冲区会通过引用计数器进行跟踪:当缓冲区通过套接字发送或返回时,引用计数器会相应地递增或递减。 以下是可通过qtisocketsink进行的部分配置:

属性名配置说明
async设为false时,套接字会异步切换至PAUSED状态。
max-lateness调整缓冲区被丢弃前允许的最大延迟时间(单位:纳秒)。
max-bitrate设置渲染的最大每秒比特数。
属性名描述说明
name(名称)对象的名称。
• 标识:可读、可写
• 类型:字符串。默认值:"fdsocketsink0"
parent(父对象)对象的父对象。
• 标识:可读、可写
• 类型:"GstObject" 类型的对象
sync(时钟同步)基于时钟进行同步。
• 标识:可读、可写
• 类型:布尔值。默认值:true
max-lateness(最大延迟)缓冲区被丢弃前允许的最大延迟时间(单位:纳秒,-1 表示无限制)。
• 标识:可读、可写
• 类型:64位整数。范围:-1 至 9223372036854775807,默认值:-1
qos(服务质量)向上游生成服务质量事件。
• 标识:可读、可写
• 类型:布尔值。默认值:false
async(异步)异步切换至PAUSED状态。
• 标识:可读、可写
• 类型:布尔值。默认值:true
ts-offset(时间戳偏移)时间戳偏移量(单位:纳秒)。
• 标识:可读、可写
enable-last-sample(启用最后一帧)启用last-sample属性。
• 标识:可读、可写
• 类型:布尔值。默认值:true
last-sample(最后一帧)接收端接收到的最后一帧数据。
• 标识:可读
• 类型:"GstSample" 类型的装箱指针
blocksize(块大小)每次拉取缓冲区的字节大小(0 表示默认)。
• 标识:可读、可写
• 类型:无符号整数。范围:0 - 4294967295,默认值:4096
render-delay(渲染延迟)接收端的额外渲染延迟(单位:纳秒)。
• 标识:可读、可写
• 类型:无符号64位整数。范围:0 - 18446744073709551615,默认值:0
throttle-time(节流时间)渲染缓冲区之间的间隔时间(0 表示禁用)。
• 标识:可读、可写
• 类型:无符号64位整数。范围:0 - 18446744073709551615,默认值:0
max-bitrate(最大比特率)渲染的最大每秒比特数(0 表示禁用)。
• 标识:可读、可写
• 类型:无符号64位整数。范围:0 - 18446744073709551615,默认值:0
socket(套接字)UNIX域套接字的路径。
• 标识:可读、可写,仅在NULL或READY状态下可修改
• 类型:字符串。默认值:null

qtisocketsrc 插件

qtisocketsrc插件通过UNIX套接字,接收来自以qtisocketsink为出口的其他进程所传输的、基于文件描述符(FD)的GstBuffer。 qtisocketsrc插件需要一个套接字文件(需以.sock为后缀),并将其作为socket属性传入,以此接收文件描述符。 在连接到套接字后,插件会轮询或等待接收GstBuffer,并用该缓冲区创建数据块,以容纳接收到的帧数据。 可对缓冲区进行如下自定义配置:

  • 块大小(Block size):读取缓冲区的字节大小。
  • 缓冲区数量(num-buffers):在发送EOF信号前,发送到输出端的缓冲区数量。
属性名描述说明
name(名称)对象的名称。
• 标识:可读、可写
• 类型:字符串。默认值:"fdsocketsrc0"
parent(父对象)对象的父对象。
• 标识:可读、可写
• 类型:"GstObject" 类型的对象
blocksize(块大小)每次读取缓冲区的字节大小(-1 表示默认)。
• 标识:可读、可写
• 类型:无符号整数。范围:0 - 4294967295,默认值:4096
num-buffers(缓冲区数量)发送EOS信号前输出的缓冲区数量(-1 表示无限制)。
• 标识:可读、可写
• 类型:整数。范围:-1 - 2147483647,默认值:-1
typefind(类型检测)协商前执行类型检测(已弃用,无功能)。
• 标识:可读、可写、已弃用
• 类型:布尔值。默认值:false
do-timestamp(添加时间戳)将当前流时间应用到缓冲区。
• 标识:可读、可写
• 类型:布尔值。默认值:false
socket(套接字)UNIX域套接字的路径。
• 标识:可读、可写,仅在NULL或READY状态下可修改
• 类型:字符串。默认值:null
timeout(超时时间)套接字连接超时时间。
• 标识:可读、可写,仅在NULL或READY状态下可修改
• 类型:无符号64位整数。范围:0 - 18446744073709551615,默认值:0

v4l2h264dec 插件

v4l2h264dec 插件使用 V4L2 API 对视频流进行解码,核心特点包括: 在支持的平台上,该插件借助 H.264 视频解码器,提供硬件加速的 H.264解码能力;

tips
💡 提示:在当前版本中,读写属性仅支持`capture-io-mode`和`output-io-mode`,且这两个属性仅能与(5)`drmabuf-import - GST_V4L2_IO_DMABUF_IMPORT`属性配合使用。
属性名描述说明
automatic-request-sync-point-flags(自动请求同步点标志)自动请求同步点时使用的标志。
• 标识:可读、可写
• 标志类型:"GstVideoDecoderRequestSyncPointFlags"。默认值:0x00000003,"corrupt-output+discard-input"
◦ (0x00000001): discard-input - GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT
◦ (0x00000002): corrupt-output - GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT
automatic-request-sync-points(自动请求同步点)按需自动请求同步点。
• 标识:可读、可写
• 类型:布尔值。默认值:false
capture-io-mode(捕获I/O模式)捕获端I/O模式(与源Pad匹配)。
• 标识:可读、可写
• 枚举类型:"GstV4l2IOMode"。默认值:0,"auto"
◦ (0): auto - GST_V4L2_IO_AUTO
◦ (1): rw - GST_V4L2_IO_RW
◦ (2): mmap - GST_V4L2_IO_MMAP
◦ (3): userptr - GST_V4L2_IO_USERPTR
◦ (4): dmabuf - GST_V4L2_IO_DMABUF
◦ (5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT
device(设备路径)设备的路径。
• 标识:可读
• 类型:字符串。默认值:"/dev/video0"
device-fd(设备文件描述符)设备的文件描述符。
• 标识:可读
• 类型:整数。范围:-1 至 2147483647,默认值:-1
device-name(设备名称)设备的名称。
• 标识:可读
• 类型:字符串。默认值:null
discard-corrupted-frames(丢弃损坏帧)丢弃标记为损坏的帧,而非将其作为输出处理。
• 标识:可读、可写
• 类型:布尔值。默认值:false
extra-controls(额外控制)设备的额外v4l2控制(CID)。
• 标识:可读、可写
• 类型:"GstStructure"类型的装箱指针
max-errors(最大错误数)返回流错误前允许的连续解码器错误最大数量。
• 标识:可读、可写
• 类型:整数。范围:-1 至 2147483647,默认值:10
min-force-key-unit-interval(强制关键单元最小间隔)强制关键单元请求之间的最小间隔(单位:纳秒)。
• 标识:可读、可写
• 类型:无符号64位整数。范围:0 - 18446744073709551615,默认值:0
name(名称)对象的名称。
• 标识:可读、可写,0x2000
• 类型:字符串。默认值:"v4l2h264dec0"
output-io-mode(输出I/O模式)输出端I/O模式(与接收Pad匹配)。
• 标识:可读、可写
• 枚举类型:"GstV4l2IOMode"。默认值:0,"auto"
◦ (0): auto - GST_V4L2_IO_AUTO
◦ (1): rw - GST_V4L2_IO_RW
◦ (2): mmap - GST_V4L2_IO_MMAP
◦ (3): userptr - GST_V4L2_IO_USERPTR
◦ (4): dmabuf - GST_V4L2_IO_DMABUF
◦ (5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT
parent(父对象)对象的父对象。
• 标识:可读、可写,0x2000
• 类型:"GstObject"类型的对象
qos(服务质量)处理来自下游的服务质量事件。
• 标识:可读、可写
• 类型:布尔值。默认值:true

v4l2h265dec 插件

v4l2h265dec插件通过V4L2 API对视频流进行解码,核心特点如下: 在支持的平台上,该插件借助H.265视频解码器,提供硬件加速的H.265解码能力;

  • V4L2:Linux系统中视频设备的标准接口,负责视频数据的捕获、编解码等操作;
  • H.265:相比H.264压缩效率更高的视频编码格式,硬件加速解码可降低系统资源占用;
  • GstVideoDecoder:GStreamer框架的视频解码器基类,确保插件兼容GStreamer的解码流程,便于与其他插件协同工作。
tips
💡 提示:在当前版本中,读写属性仅支持`capture-io-mode`和`output-io-mode`,且这两个属性仅能与(5)`dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT`属性配合使用。
属性名描述说明
automatic-request-sync-point-flags(自动请求同步点标志)自动请求同步点时使用的标志。
• 标识:可读、可写
• 标志类型:"GstVideoDecoderRequestSyncPointFlags"。默认值:0x00000003,"corrupt-output+discard-input"
◦ (0x00000001): discard-input - GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT
◦ (0x00000002): corrupt-output - GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT
automatic-request-sync-points(自动请求同步点)按需自动请求同步点。
• 标识:可读、可写
• 类型:布尔值。默认值:false
capture-io-mode(捕获I/O模式)捕获端I/O模式(与源Pad匹配)。
• 标识:可读、可写
• 枚举类型:"GstV4l2IOMode"。默认值:0,"auto"
◦ (0): auto - GST_V4L2_IO_AUTO
◦ (1): rw - GST_V4L2_IO_RW
◦ (2): mmap - GST_V4L2_IO_MMAP
◦ (3): userptr - GST_V4L2_IO_USERPTR
◦ (4): dmabuf - GST_V4L2_IO_DMABUF
◦ (5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT
device(设备路径)设备的路径。
• 标识:可读
• 类型:字符串。默认值:"/dev/video0"
device-fd(设备文件描述符)设备的文件描述符。
• 标识:可读
• 类型:整数。范围:-1 至 2147483647,默认值:-1
device-name(设备名称)设备的名称。
• 标识:可读
• 类型:字符串。默认值:null
discard-corrupted-frames(丢弃损坏帧)丢弃标记为损坏的帧,而非将其作为输出处理。
• 标识:可读、可写
• 类型:布尔值。默认值:false
extra-controls(额外控制)设备的额外v4l2控制(CID)。
• 标识:可读、可写
• 类型:"GstStructure"类型的装箱指针
max-errors(最大错误数)返回流错误前允许的连续解码器错误最大数量。
• 标识:可读、可写
• 类型:整数。范围:-1 至 2147483647,默认值:10
min-force-key-unit-interval(强制关键单元最小间隔)强制关键单元请求之间的最小间隔(单位:纳秒)。
• 标识:可读、可写
• 类型:无符号64位整数。范围:0 - 18446744073709551615,默认值:0
name(名称)对象的名称。
• 标识:可读、可写,0x2000
• 类型:字符串。默认值:"v4l2h265dec0"
output-io-mode(输出I/O模式)输出端I/O模式(与接收Pad匹配)。
• 标识:可读、可写
• 枚举类型:"GstV4l2IOMode"。默认值:0,"auto"
◦ (0): auto - GST_V4L2_IO_AUTO
◦ (1): rw - GST_V4L2_IO_RW
◦ (2): mmap - GST_V4L2_IO_MMAP
◦ (3): userptr - GST_V4L2_IO_USERPTR
◦ (4): dmabuf - GST_V4L2_IO_DMABUF
◦ (5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT
parent(父对象)对象的父对象。
• 标识:可读、可写,0x2000
• 类型:"GstObject"类型的对象
qos(服务质量)处理来自下游的服务质量事件。
• 标识:可读、可写
• 类型:布尔值。默认值:true

v4l2h264enc 插件

v4l2h264enc插件通过V4L2 API对视频流进行编码,核心特点如下:

在支持的平台上,该插件借助H.264视频编码器,提供硬件加速的H.264编码能力;。

  • V4L2:Linux系统中视频设备的标准接口,负责视频数据的编码、捕获等操作;
  • H.264硬件加速编码:相比软件编码,可利用硬件(如GPU)专用模块提升编码效率,同时降低CPU资源占用;
  • GstVideoEncoder:GStreamer框架的视频编码器基类,确保插件兼容GStreamer的编码流程,便于与其他插件(如采集、封装插件)协同工作。
属性名描述说明
capture-io-mode(捕获I/O模式)捕获端I/O模式(与源Pad匹配)。
• 标识:可读、可写
• 枚举类型:"GstV4l2IOMode"。默认值:0,"auto"
◦ (0): auto - GST_V4L2_IO_AUTO
◦ (1): rw - GST_V4L2_IO_RW
◦ (2): mmap - GST_V4L2_IO_MMAP
◦ (3): userptr - GST_V4L2_IO_USERPTR
◦ (4): dmabuf - GST_V4L2_IO_DMABUF
◦ (5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT
device(设备路径)设备的路径。
• 标识:可读
• 类型:字符串。默认值:"/dev/video1"
device-fd(设备文件描述符)设备的文件描述符。
• 标识:可读
• 类型:整数。范围:-1 至 2147483647,默认值:-1
device-name(设备名称)设备的名称。
• 标识:可读
• 类型:字符串。默认值:null
extra-controls(额外控制)设备的额外v4l2控制ID(CID)。
• 标识:可读、可写
• 类型:"GstStructure"类型的装箱指针
min-force-key-unit-interval(强制关键单元最小间隔)强制关键单元请求之间的最小间隔(单位:纳秒)。
• 标识:可读、可写
• 类型:无符号64位整数
• 范围:0 - 18446744073709551615,默认值:0
name(名称)对象的名称。
• 标识:可读、可写,0x2000
• 类型:字符串。默认值:"v4l2h264enc0"
output-io-mode(输出I/O模式)输出端I/O模式(与接收Pad匹配)。
• 标识:可读、可写
• 枚举类型:"GstV4l2IOMode"。默认值:0,"auto"
◦ (0): auto - GST_V4L2_IO_AUTO
◦ (1): rw - GST_V4L2_IO_RW
◦ (2): mmap - GST_V4L2_IO_MMAP
◦ (3): userptr - GST_V4L2_IO_USERPTR
◦ (4): dmabuf - GST_V4L2_IO_DMABUF
◦ (5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT
parent(父对象)对象的父对象。
• 标识:可读、可写,0x2000
• 类型:"GstObject"类型的对象
qos(服务质量)处理来自下游的服务质量事件。
• 标识:可读、可写
• 类型:布尔值。默认值:true
控制名称控制类型参数说明
horizontal_flip(水平翻转)布尔型• value=0:默认值
• flags=execute-on-write(写入时执行)
vertical_flip(垂直翻转)布尔型• value=0:默认值
• flags=execute-on-write(写入时执行)
rotate(旋转)整型• min=0(最小值)
• max=270(最大值)
• step=90(步长)
• value=0:默认值
• flags=execute-on-write and modify-layout(写入时执行且修改布局)

v4l2h265enc 插件

v4l2h265enc插件通过V4L2 API对视频流进行编码,核心特点如下: 在支持的平台上,该插件借助H.265视频编码器,提供硬件加速的H.265(MPEG-H第2部分)编码能力;

  • V4L2:Linux系统中视频设备的标准接口,负责视频数据的编码、捕获等操作;
  • H.265硬件加速编码:相比H.264,H.265压缩效率更高,硬件加速编码可利用专用硬件模块降低CPU占用,同时提升编码速度;
  • GstVideoEncoder:GStreamer框架的视频编码器基类,确保插件兼容GStreamer的编码流程,便于与采集、封装等插件协同工作。
属性名描述说明
capture-io-mode(捕获I/O模式)捕获端I/O模式(与源Pad匹配)。
• 标识:可读、可写
• 枚举类型:"GstV4l2IOMode"。默认值:0,"auto"
◦ (0): auto - GST_V4L2_IO_AUTO
◦ (1): rw - GST_V4L2_IO_RW
◦ (2): mmap - GST_V4L2_IO_MMAP
◦ (3): userptr - GST_V4L2_IO_USERPTR
◦ (4): dmabuf - GST_V4L2_IO_DMABUF
◦ (5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT
device(设备路径)设备的路径。
• 标识:可读
• 类型:字符串。默认值:"/dev/video1"
device-fd(设备文件描述符)设备的文件描述符。
• 标识:可读
• 类型:整数。范围:-1 至 2147483647,默认值:-1
device-name(设备名称)设备的名称。
• 标识:可读
• 类型:字符串。默认值:null
extra-controls(额外控制)设备的额外v4l2控制(CID)。
• 标识:可读、可写
• 类型:"GstStructure"类型的装箱指针
min-force-key-unit-interval(强制关键单元最小间隔)强制关键单元请求之间的最小间隔(单位:纳秒)。
• 标识:可读、可写
• 类型:无符号64位整数。范围:0 - 18446744073709551615,默认值:0
name(名称)对象的名称。
• 标识:可读、可写,0x2000
• 类型:字符串。默认值:"v4l2h265enc0"
output-io-mode(输出I/O模式)输出端I/O模式(与接收Pad匹配)。
• 标识:可读、可写
• 枚举类型:"GstV4l2IOMode"。默认值:0,"auto"
◦ (0): auto - GST_V4L2_IO_AUTO
◦ (1): rw - GST_V4L2_IO_RW
◦ (2): mmap - GST_V4L2_IO_MMAP
◦ (3): userptr - GST_V4L2_IO_USERPTR
◦ (4): dmabuf - GST_V4L2_IO_DMABUF
◦ (5): dmabuf-import - GST_V4L2_IO_DMABUF_IMPORT
parent(父对象)对象的父对象。
• 标识:可读、可写,0x2000
• 类型:"GstObject"类型的对象
qos(服务质量)处理来自下游的服务质量事件。
• 标识:可读、可写
• 类型:布尔值。默认值:true