Gst-nvds3dmixer#

Gst-nvds3dmixer 插件是一个可自定义的插件,它提供了一个自定义库接口来加载组件 ds3d::datamixer

nvds3dmixer 将来自 N 个输入 pad 的缓冲区混合到一个输出 pad 中。

该插件完全通过 YAML 格式内容或文件进行配置。

Gst-nvds3dmixer

Gst-nvds3dmixer 属性规范#

Gst-nvds3dmixer 属性。#

属性

描述

发布版本

config-content

yaml 配置文件内容

DS 7.0

config-file

yaml 配置文件路径

DS 7.0

自定义库接口#

该插件解析配置文件或内容,并设置 SinkCaps 和 SrcCaps。从 custom_lib_path 加载自定义 ds3d::datamixer。通过 custom_create_function 创建此 datamixer。

支持的 DS3D 数据混合器#

DS3D 数据混合器#

序号

数据混合器

数据混合器自定义库

1

DS3D 数据混合器。将来自 N 个输入 pad 的缓冲区混合到一个输出 pad 中。

libnvds_3d_multisensor_mixer.so

自定义底层库:libnvds_3d_multisensor_mixer.so#

将来自 N 个输入 pad 的缓冲区混合到一个输出 pad 中。

输入和输出#

  • 输入 (支持 N 个输入 pad)

    • ds3d/datamap

  • 控制参数

    • config-file

    • config-content

  • 输出

    • ds3d/datamap

  • sink_caps

  • src_caps

  • 示例输入 X 2 和输出

视频混合器示例输入和输出#

sink_0 的输入

sink_1 的输入

输出

带有 ds3d/datamap 的 GstBuffer

带有 ds3d/datamap 的 GstBuffer

带有 ds3d/datamap 的 GstBuffer

{kVideoBridge2dData:value1},

{kVideoBridge2dData:value2}, …

{kLidarXYZI:value1},

{kLidarXYZI:value2}, …

{kVideoBridge2dData+0:value1},

{kVideoBridge2dData+0:value2},

{kLidarXYZI+1:value1}, {kLidarXYZI+1:value2}, …

配置文件#

示例
name: multisensor_mixer
type: ds3d::datamixer
in_caps: ds3d/datamap
out_caps: ds3d/datamap
custom_lib_path: libnvds_3d_multisensor_mixer.so
custom_create_function: createMultiSensorMixer
config_body:
    #timeout in milliseconds;
    timeout: 50
    #force_sync == true will force mixer to wait for buffers from ALL inputs
    force_sync: true

视频混合器配置选项#

视频混合器 config_body#

配置键

描述

示例值

timeout

超时时间决定混合器算法运行的常规时间间隔。

此配置以毫秒为单位。

此配置可以决定混合器将生成混合输出 datamap 缓冲区的帧速率。

默认值:33 毫秒

force_sync

混合器将等待所有输入产生输出。

如果为 true,则混合器的输出帧速率将 = 所有输入中较慢的帧速率。如果所有输入都具有相同的帧速率,则可以使用此选项。

默认值:false

output_object2d_key

生成 datamap 输出时要使用的键名。此键名将用于将 NvDsBatchMeta 中的 NvDsObjectMeta 保存为 ds3d::Object2DBbox 数组。

DS3D::Object2DBboxKey