You need to enable JavaScript to run this app.
导航
DLStreamer 官方模板
最近更新时间:2024.08.07 11:18:27首次发布时间:2024.01.12 10:25:28

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

基本信息

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

版本列表

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

版本名称

说明

v1-rtsp源-物体检测-事件推送

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

v2-摄像头设备-物体检测-虚拟时序设备

从接入边缘节点的摄像头设备拉取视频流作为输入,使用模型服务进行物体检测,然后将检测结果转换为消息并推送到虚拟时序设备进行输出。

v3-rtsp源-物体检测-对象跟踪-事件推送

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

v4-rtmp源-物体检测-对象跟踪-ekuiper推送

从 RTMP 源拉流作为输入,使用模型服务进行物体检测,然后执行 ROI 和越线分析,最后将分析结果转换为消息并推送到时序数据流进行输出。

使用说明

v1-rtsp源-物体检测-事件推送

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

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

使用前提

  • 边缘节点采用 ×86 架构。
  • 您已经在边缘节点上完成以下准备工作:
    • 部署一个“物体检测”类型的模型服务。相关操作,请参见部署模型服务
    • 为边缘节点开启“负载水位”功能。相关操作,请参见编辑节点信息

使用 v1 版本

说明

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

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

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

    说明

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

    算子

    控制参数

    类型

    是否必须

    说明

    RTSP拉流带分析

    location

    String

    RTSP 流的 URL。

    identifier

    String

    RTSP 流的标识符。

    latency

    Integer

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

    roi-filters

    N/A

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

    line-crossings

    N/A

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

    视频解码器

    N/A

    无需设置。

    物体检测

    model-service

    String

    用于推理的模型服务。

    inference-region

    String

    指定进行推理的区域。可选项:

    • full-frame:在整帧上进行推理
    • roi-list:只在 ROI 区域内进行推理

    inference-interval

    Integer

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

    结果绘制

    N/A

    无需设置。

    消息转换

    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

    无需设置。

v2-摄像头设备-物体检测-虚拟时序设备

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

  1. 从接入边缘节点的摄像头设备获取视频流数据,对视频流进行解码并形成一批视频帧,作为模型服务的输入。
  2. 使用模型服务检测视频帧中的特定对象(如行人、车辆等)并对检测到的对象进行标识。
  3. 将带有检测信息的结果转换为 JSON 格式的消息元数据,然后推送到同一个边缘节点上的虚拟时序设备。

使用前提

  • 边缘节点采用 ×86 架构。
  • 您已经在边缘节点上完成以下准备工作:
    • 部署一个“物体检测”类型的模型服务。相关操作,请参见部署模型服务
    • 接入一个摄像头设备。
    • 接入一个虚拟时序设备。

使用 v2 版本

说明

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

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

    • 模板:选择 官方模板/视频数据流/dlstreamer官方模板
    • 版本:选择 v2-摄像头设备-物体检测-虚拟时序设备
    • 节点:选择一个节点以部署该数据流实例。您选择的节点需要满足使用前提中的要求。
  2. 在数据流实例中进行数据流编排,为各个算子设置控制参数。

    说明

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

    算子

    控制参数

    类型

    是否必须

    说明

    摄像头设备带分析

    device

    String

    从算子已经接入的设备中选择一个摄像头设备。

    device-tag

    String

    显示了已选择设备的标签。

    identifier

    String

    为设备设置一个标识符。

    latency

    Integer

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

    roi-filters

    N/A

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

    line-crossings

    N/A

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

    视频解码器

    N/A

    无需设置。

    物体检测

    model-service

    String

    用于推理的模型服务。

    inference-region

    String

    指定进行推理的区域。可选项:

    • full-frame:在整帧上进行推理
    • roi-list:只在 ROI 区域内进行推理

    inference-interval

    Integer

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

    结果绘制

    N/A

    无需设置。

    消息转换

    frame-interval

    Integer

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

    conditions

    String

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

    actions

    Array

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

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

    send_image

    Boolean

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

    enable_extra_info

    Boolean

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

    虚拟时序设备

    device

    String

    从边缘节点已经接入的设备中选择一个虚拟时序设备。

v3-rtsp源-物体检测-对象跟踪-事件推送

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

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

使用前提

  • 边缘节点采用 ×86 架构。
  • 您已经在边缘节点上完成以下准备工作:
    • 部署一个“物体检测”类型的模型服务。相关操作,请参见部署模型服务
    • 为边缘节点开启“状态监控”功能。相关操作,请参见开启状态监控

使用 v3 版本

说明

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

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

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

    说明

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

    算子

    控制参数

    类型

    是否必须

    说明

    RTSP拉流带分析

    location

    String

    RTSP 流的 URL。

    identifier

    String

    RTSP 流的标识符。

    latency

    Integer

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

    roi-filters

    N/A

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

    line-crossings

    N/A

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

    视频解码器

    N/A

    无需设置。

    物体检测

    model-service

    String

    用于推理的模型服务。

    inference-region

    String

    指定进行推理的区域。可选项:

    • full-frame:在整帧上进行推理
    • roi-list:只在 ROI 区域内进行推理

    inference-interval

    Integer

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

    对象跟踪

    tracking-type

    String

    跟踪算法。可选项:

    • short-term-imageless(默认)
    • zero-term
    • zero-term-imageless

    结果绘制

    N/A

    无需设置。

    消息转换

    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

    无需设置。

v4-rtmp源-物体检测-对象跟踪-ekuiper推送

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

  1. 从 RTMP 源拉取视频流数据,对视频流进行解码并形成一批视频帧,作为模型服务的输入。
  2. 使用模型服务检测视频帧中的特定对象(如行人、车辆等)。
  3. 将带有分析信息的结果转换为 JSON 格式的消息元数据,然后推送到同一个边缘节点上的时序数据流实例进行处理。

使用前提

  • 边缘节点采用 ×86 架构。
  • 您已经在边缘节点上完成以下准备工作:
    • 部署一个“物体检测”类型的模型服务。相关操作,请参见部署模型服务
    • 部署一个时序数据流实例,并且时序数据流使用“视频流输入源”作为输入算子。更多信息,请参见时序数据流算子

使用 v4 版本

说明

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

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

    • 模板:选择 官方模板/视频数据流/dlstreamer官方模板
    • 版本:选择 v4-rtmp源-物体检测-对象跟踪-ekuiper推送
    • 节点:选择一个节点以部署该数据流实例。您选择的节点需要满足使用前提中的要求。
  2. 在数据流实例中进行数据流编排,为各个算子设置控制参数。

    说明

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

    算子

    控制参数

    类型

    是否必须

    说明

    RTMP拉流带分析

    location

    String

    RTMP 流的 URL。

    identifier

    String

    RTMP 流的标识符。

    roi-filters

    N/A

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

    line-crossings

    N/A

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

    视频解码器

    N/A

    无需设置。

    物体检测

    model-service

    String

    用于推理的模型服务。

    inference-region

    String

    指定进行推理的区域。可选项:

    • full-frame:在整帧上进行推理
    • roi-list:只在 ROI 区域内进行推理

    inference-interval

    Integer

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

    对象跟踪

    tracking-type

    String

    跟踪算法。可选项:

    • short-term-imageless(默认)
    • zero-term
    • zero-term-imageless

    结果绘制

    N/A

    无需设置。

    消息转换

    frame-interval

    Integer

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

    conditions

    String

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

    actions

    Array

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

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

    send_image

    Boolean

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

    enable_extra_info

    Boolean

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

    Ekuiper推送

    N/A

    无需设置。

最佳实践

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

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