Gst-nvmultistreamtiler#

Gst-nvmultistreamtiler 插件从批处理缓冲区合成 2D 瓦片。该插件接受来自上游组件的批处理 NV12/RGBA 数据。该插件根据流 ID 合成瓦片,流 ID 从 NvDsBatchMetaNvDsFrameMeta 以行优先顺序(从源 0 开始,从左到右跨越顶行,然后跨越下一行)获得。每个源帧都缩放到平铺输出缓冲区中的相应位置。如果添加了新源并且超出了为瓦片分配的空间,则插件可以重新配置。它还维护旧帧的缓存,以避免在一个源的帧速率低于其他源时显示闪烁。

Gst-nvmultistreamtiler

输入和输出#

  • 输入

  • Gst Buffer 批处理缓冲区

  • 带有 Gst Buffer 批处理的 NvDsBatchMeta(批处理是一个或多个缓冲区)

  • 支持的格式:NV12/RGBA

  • 控制参数

  • 宽度

  • 高度

  • gpu-id(仅限 dGPU)

  • compute-hw(仅限 Jetson)

  • show-source

  • nvbuf-memory-type

  • custom-tile-config

  • square-seq-grid

  • 输出

  • 带有合成输入帧的 Gst Buffer(单帧)

  • 转换后的元数据 (NvDsBatchMeta)

  • 支持的格式:NV12/RGBA

特性#

下表总结了插件的特性。

Gst-nvmultistreamtiler 特性#

特性

描述

发布

合成输入缓冲区的 2D 瓦片

DS 2.0

根据瓦片中的缩放和位置缩放带有元数据坐标的边界框

DS 2.0

多 GPU 支持

DS 2.0

显示单个源的展开预览

DS 2.0

用户可配置的 CUDA 内存类型(Pinned/Device/Unified)用于输出缓冲区

DS 3.0

为运行时添加的新源重新配置 2D 瓦片

DS 3.0

Gst 属性#

下表描述了 Gst-nvmultistreamtiler 插件的 Gst 属性。

Gst-nvmultistreamtiler gst 属性#

属性

含义

类型和范围

示例注释

2D 瓦片输出中的行数

整数,1 到 4,294,967,295

row=2

2D 瓦片输出中的列数

整数,1 到 4,294,967,295

columns=2

宽度

2D 瓦片输出的宽度(像素)

整数,1 到 4,294,967,295

width=1920

高度

2D 瓦片输出的高度(像素)

整数,1 到 4,294,967,295

height=1080

show-source

缩放并显示来自单个源的帧。-1:合成并显示所有源。对于 ≥0 的值,来自该源的帧将被缩放。

有符号整数,−1 到 2,147,483,647

show-source=2

gpu-id

要在其上分配设备/统一内存的 GPU ID,以及要在其中复制或缩放缓冲区的 GPU ID。(仅限 dGPU。)

整数,1 到 4,294,967,295

gpu-id=1

nvbuf-memory-type

要分配的 CUDA 内存类型。

对于 dGPU

0 (nvbuf-mem-default):默认内存,cuda-device

1 (nvbuf-mem-cuda-pinned):Pinned/Host CUDA 内存

2 (nvbuf-mem-cuda-device) 设备 CUDA 内存

3 (nvbuf-mem-cuda-unified):统一 CUDA 内存

对于 Jetson

0 (nvbuf-mem-default):默认内存,表面阵列

4 (nvbuf-mem-surface-array):表面阵列内存

整数,0-4

nvbuf-memory-type=1

custom-tile-config

自定义瓦片位置和分辨率。可以为所有或部分源以编程方式配置。

枚举 CustomTileConfig 的值

保留供将来使用。默认值:null。

compute-hw

要使用的计算缩放 HW。仅适用于 Jetson。dGPU 系统默认使用 GPU。

0(默认):默认值,Tesla 使用 GPU,Jetson 使用 VIC

1 (GPU):GPU

2 (VIC):VIC

整数:0-2

compute-hw=1

square-seq-grid

根据源数量启用自动正方形平铺。瓦片按顺序放置在网格上,末尾有空瓦片

布尔值

square-seq-grid=1