You need to enable JavaScript to run this app.
导航
多源单输出官方模板
最近更新时间:2024.12.17 10:49:08首次发布时间:2023.12.14 19:33:23

本文介绍了多源单输出官方数据流模板。多源单输出模板适用于视频数据流,表示从多个输入算子获取视频流,合流后进行一系列处理,然后将处理结果推送到单个输出算子。

基本信息

您可以在边缘智能控制台的官方模板列表访问本模板。下图展示了本模板的基本信息。
Image

版本列表

本模板提供如下可用版本。

版本名称

说明

v1-RTSP源和RTMP源-物体检测-事件推送

分别从 RTSP 源和 RTMP 源拉流然后合流作为输入,使用模型服务进行物体检测,然后将检测结果转换为消息并推送到数据流事件中心进行输出。

使用说明

v1-RTSP源和RTMP源-物体检测-事件推送

版本说明
v1 版本的数据流包含以下环节:

  1. 分别从 RTSP 源和 RTMP 源拉取视频流数据,对视频流进行解码然后合流形成一批视频帧,作为模型服务的输入。
  2. 使用模型服务检测视频帧中的特定对象(如行人、车辆等)。
  3. 将带有检测信息的结果转换为 JSON 格式的消息元数据,然后推送到边缘智能控制台的数据流事件中心。

使用前提
在即将部署数据流实例的边缘节点上,您需要完成以下准备工作:

  • 部署一个“物体检测”类型的模型服务。相关操作,请参见部署模型服务
  • 为边缘节点开启“负载水位”功能。相关操作,请参见编辑节点信息

使用 v1 版本

说明

您可以使用官方模板下的版本来创建和部署数据流实例。具体操作,请参见创建和部署数据流实例
以下仅罗列使用当前版本时您需要留意的配置。

  1. 基于数据流版本创建一个数据流实例。

    • 模板:选择 官方模板/视频数据流/多源单输出官方模板
    • 版本:选择 v1-RTSP源和RTMP源-物体检测-事件推送
    • 节点:选择一个节点以部署该数据流实例。您选择的节点需要满足使用前提中的要求。
  2. 在数据流实例中进行数据流编排,为各个算子设置控制参数。

    说明

    关于算子控制参数的详细解释,请参见视频数据流算子

    算子

    控制参数

    类型

    是否必须

    说明

    RTSP拉流带分析

    location

    String

    RTSP 流的 URL。

    latency

    Integer

    要缓存的毫秒数。取值范围:0~4294967295,默认值:2000。

    identifier

    String

    RTSP 流的描述。

    roi-filters

    N/A

    绘制 ROI 区域。详见对象分析算子的说明。

    line-crossings

    N/A

    绘制绊线。详见对象分析算子的说明。

    h265解码器

    N/A

    无需设置。

    RTMP拉流带分析

    location

    String

    RTMP 流的 URL。

    identifier

    String

    RTMP 流的描述。

    roi-filters

    N/A

    绘制 ROI 区域。详见对象分析算子的说明。

    line-crossings

    N/A

    绘制绊线。详见对象分析算子的说明。

    h264解码器

    N/A

    无需设置。

    批量合流

    batch-size

    Integer

    批处理大小。取值范围:0~1024, 默认值:1。

    enable-padding

    Boolean

    对视频帧进行缩放时,是否使用黑色边条填充以保持输入纵横比。默认:false。

    height

    Integer

    输出的视频帧的高度,以像素为单位。取值范围:0~4294967295,默认值:720。

    width

    Integer

    输出的视频帧的宽度,以像素为单位。取值范围:0~4294967295,默认值:1280。

    物体检测

    model-service

    String

    用于推理的模型服务。

    input-process-mode

    String

    输入图像的处理方式。可选项:

    • Full_Frame:全帧
    • Clip_Object:剪辑对象

    interval

    Integer

    指定连续跳过进行推断的批次数量。取值范围:0~2147483647,默认值:10。

    对象跟踪

    display-tracking-id

    Boolean

    是否在对象文本中显示跟踪 ID。默认值:true。

    enable-batch-process

    Boolean

    是否启用跨多个流的批处理。默认值:true。

    enable-past-frame

    Boolean

    是否启用将过去的帧轨迹添加到用户元信息中。默认值:false。

    tracking-algorithm

    String

    跟踪算法。可选项:

    • NVDCF_perf(默认)
    • NVDCF_Max_Perf
    • NVDCF_Accuracy

    tracker-height

    Integer

    跟踪器应当操作的帧高度,以像素为单位。取值范围:0~4294967295,默认值:384。

    tracker-width

    Integer

    跟踪器应当操作的帧宽度,以像素为单位。取值范围:0~4294967295,默认值:640。

    消息转换

    frame-interval

    Integer

    生成有效载荷的帧间隔。取值范围:0~4294967295,默认值:30。

    conditions

    String

    使用 JSON Path 语法,针对消息元数据设置过滤条件。关于消息元数据的参数结构,请参见数据流事件

    actions

    Array

    条件满足时需要执行的操作列表。可选项:

    • send:发送消息。
    • not send:不发送消息。

    send_image

    Boolean

    是否发送图像数据。默认值:true。

    enable_extra_info

    Boolean

    是否发送额外信息。默认值:true。

    事件推送

    N/A

    无需设置。

最佳实践

如果直接使用官方模板创建数据流实例,您将无法修改数据流的结构。而在实际使用过程中,官方模板版本中的数据流结构可能并不适合您的业务需求。这种情况下,您可以按如下方式来使用官方模板:

  1. 复制官方模板生成一个新的自定义模板。(新的自定义模板包含官方模板下的所有版本。)
  2. 在自定义模板中,找到适合您场景的版本,然后通过数据流编排,修改版本的数据流(如增删算子等)。
  3. 使用自定义模板创建数据流实例。

示例

针对多源单输出官方模板 v1 版本,您可以在 批量合流 算子前增加多个 RTSP拉流带分析h265解码器 算子组合,而不需要使用 RTMP拉流带分析 算子。