更新时间:2022-03-17 GMT+08:00
分享

创建边缘排队状态分析作业

功能介绍

该API可分析边缘摄像头输出的RTSP视频流。提供了排队状态分析功能。当检测到出队事件时,会上报告警信息。

目前支持H264、H265编码格式的RTSP视频流。

调试

您可以在API Explorer中调试该接口。

URI

  • URI格式
    POST /v2/{project_id}/services/c-queue-status-analysis-edge/tasks
  • 参数说明

    参数

    是否必选

    类型

    说明

    project_id

    String

    服务所在区域对应的项目ID,获取方法请参见获取项目ID

请求

  • 请求样例1(摄像头输入+DIS/Webhook输出)
    POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-queue-status-analysis-edge/tasks
    {
        "name": "queue-status-analysis-edge_task",
        "description": "queue-status-analysis-edge_task",
        "input": {
            "type": "edgecamera",
            "data": [
                {
                    "id": "9f8933c9-448c-48e5-8bc0-631ea83b92eb",
                    "index": 0
                }
            ]
        },
        "output": {
            "dis": {
                "stream_name": "dis-queue-status-analysis"
            },
            "webhook": {
                "url": "https://apigw.huawei.com/api/event/callback",
                "headers": {
                    "content-type": "application/json"
                }
            }
        },
        "service_version": "3.0",
        "resource_order_id": "840a5cf90d4a4bbaa71f251dfe8fe64e",
        "edge_pool_id": "8dcf5ec7bc4d4a26aa1d3e1bb5ed2b5a",
        "service_config": {
            "common": {
                "image_compression_ratio": 90,
                "render_result_sw": 1,
                "render_roi_sw": 1,
                "queue_status_analysis_sw": 1,
                "target_roi": "{\"polygons\":[{\"data\":[[0, 0], [0, 1000], [1920, 1000], [1920, 0]]}]}"
            }
       }
    }
  • 请求样例2(edgerestful输入+DIS/Webhook输出)
    POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-queue-status-analysis-edge/tasks
    {
        "name":"queue-status-analysis-edge_task",
        "description":"queue-status-analysis-edge_task",
        "input":{
            "type":"edgerestful",
            "data":[
                {
                    "index":0,
                    "url":"https://100.127.134.69:554/test/data",
                    "certificate_check":false,
                    "rtsp_path_in_response":"data/url"
                }
            ]
        },
        "output":{
            "dis":{
                "stream_name":"dis-queue-status-analysis"
            },
            "webhook":{
                "url":"https://apigw.huawei.com/api/event/callback",
                "headers":{
                    "content-type":"application/json"
                }
            }
        },
        "service_version":"3.0",
        "resource_order_id":"840a5cf90d4a4bbaa71f251dfe8fe64e",
        "edge_pool_id":"8dcf5ec7bc4d4a26aa1d3e1bb5ed2b5a",
        "service_config":{
            "common":{
                "image_compression_ratio":90,
                "render_result_sw":1,
                "render_roi_sw":1,
                "queue_status_analysis_sw":1,
                "target_roi":"{\"polygons\":[{\"data\":[[0, 0], [0, 1000], [1920, 1000], [1920, 0]]}]}"
            }
        }
    }
  • 请求样例3(VCN输入+DIS/Webhook输出)
    POST /v2/6204a5bd270343b5885144cf9c8c158d/services/c-queue-status-analysis-edge/tasks
    {
        "name":"queue-status-analysis-edge_task",
        "description":"queue-status-analysis-edge_task",
        "input":{
            "type":"vcn",
            "vcn":{
                "ip":"172.100.119.6",
                "password":"CQeNfcRLwyMvH77AkDBaPS+BKXdFu/1bAXtIMNTx3QPbVewjipNq06nNodxWI28I1lCUsvv2+wB1joepzynLVW3g2nz0k9vaCRDoK6=",
                "port":"4675",
                "username":"testname"
            },
            "data":[
                {
                    "index":0,
                    "device_id":"07211540881586160101#f7964493ff764bbf9294d58b22e63de6",
                    "stream_type":1
                }
            ]
        },
        "output":{
            "dis":{
                "stream_name":"dis-queue-status-analysis"
            },
            "webhook":{
                "url":"https://apigw.huawei.com/api/event/callback",
                "headers":{
                    "content-type":"application/json"
                }
            }
        },
        "service_version":"3.0",
        "resource_order_id":"840a5cf90d4a4bbaa71f251dfe8fe64e",
        "edge_pool_id":"8dcf5ec7bc4d4a26aa1d3e1bb5ed2b5a",
        "service_config":{
            "common":{
                "image_compression_ratio":90,
                "render_result_sw":1,
                "render_roi_sw":1,
                "queue_status_analysis_sw":1,
                "target_roi":"{\"polygons\":[{\"data\":[[0, 0], [0, 1000], [1920, 1000], [1920, 0]]}]}"
            }
        }
    }
  • 参数说明

    参数

    是否必选

    类型

    说明

    name

    String

    作业名称,只能由中文、字母(a~zA~Z)、数字(0~9)、中划线(-)、下划线(_)组成,长度范围为[1,100]。

    description

    String

    作业描述信息,最大长度为500字符长度。

    input

    Object

    视频数据输入列表,支持从指定的边缘摄像头读取数据,即输入类型为“edgecamera”“edgerestful”“VCN”

    详细参数定义参见task.input(任务输入参数)

    service_version

    String

    功能版本号,版本号为3.0。边缘算法版本支持的显卡硬件为T4和华为自研Davinci芯片 。

    resource_order_id

    String

    购买的算法能力包ID,在服务界面购买算法能力包获取。

    edge_pool_id

    String

    边缘运行池ID,获取方法参见创建边缘运行池

    output

    Object

    结果数据的输出列表,目前支持以下输出类型:
    • DIS:将结果输出到您指定的DIS通道 。
    • Webhook:将结果输出到Webhook URL。
    • Localpath:将作业的运行结果保存在边缘节点本地(节点必须为linux系统),必须为linux路径,例如“/opt/cloud/”

      详细参数定义见task.output(任务输出参数)

    service_config

    Object

    服务的算法配置,配置参数见ServiceConfig参数说明

  • service_config中common参数说明

    字段

    是否必选

    类型

    说明

    image_compression_ratio

    Int

    对应控制台的界面参数“图片压缩比”

    图片压缩百分比,取值范围为[20,100]。

    默认值:90,表示图片压缩比为90%。

    render_result_sw

    Int

    对应控制台的界面参数“目标框渲染开关”

    输出图像是否绘制告警目标边框,取值范围:

    • "0":表示不绘制。
    • "1":表示用红色绘制告警目标边框。

    默认值为0。

    render_roi_sw

    Int

    对应控制台的界面参数“检测区域渲染开关”

    输出图像是否绘制检测区域,取值范围:

    • "0":表示不绘制。
    • "1":表示用黄色绘制用户设定区域。

    默认值为0。

    queue_status_analysis_sw

    Int

    对应控制台的界面参数“排队状态分析开关”

    取值范围:

    • "0":表示不开启。
    • "1":表示开启。

    默认值为1。

    target_roi

    String

    对应控制台的界面参数“检测区域设置”

    表示检测区域,该字段为JSON格式的字符串,API调用时需要加转义符。详细JSON格式参见target_roi(目标区域)

    例如:

    {"polygons":[{"data":[[84,389],[1840,349],[1824,526],[78,526]]}]}

    参数没有携带时,默认区域为整个视频帧中间的1/4。

    当target_roi参数未设置时,区域默认位置如图1所示,其中Wframe为帧宽度,Hframe为帧高度。
    图1 区域默认位置
    默认区域为矩形,假设矩形的四个端点分别为point_1、point_2、point_3、point_4,其位置默认为:
    • poin_1=(¼Wframe, ¼Hframe)
    • poin_2=(¾Wframe, ¼Hframe)
    • poin_3=(¼Wframe, ¾Hframe)
    • poin_4=(¾Wframe, ¾Hframe)

响应

  • 响应样例
    [
      { 
        "id": "2f268b9472a544e991eae3c5c3534f5b"
      }
    ]
  • 返回作业ID列表

    参数

    类型

    说明

    id

    String

    作业ID。

检测结果

  • 输出JSON数据流到DIS指定的通道或者Webhook URL,包括告警结构化数据和图片数据。
  • JSON结果为排队状态分析报警
    • JSON结果示例:
      {
          "event_type": 1441793,
          "task_id": "2f268b9472a544e991eae3c5c3534f5b",
          "stream_id": "001",
          "timestamp": 1598255835,
          "message_id": "0DD1BEA6-634B-11E8-8B0B-407D0FAD9218",
          "image_base64":"/9j/4AAQSkZJRgA...",
          "data": {
      	"event_set": [
              {
      	  "polygon": [
      		[0, 0],
      		[0, 1000],
      		[1920, 1000],
      		[1920, 0]
      	   ],
                "total_count": 5,
      	  "queuing_count": 5,
      	  "avg_queuing_time": 463.5,
      	  "out_queue_info": [{
      		"target_ID": 18,
      		"is_reappear": 0,
      		"in_queue_timestamp":  1535546710,
      		"out_queue_timestamp":  1535546729,
      		"queuing_time": 19
      	  }]
      	}]
         }
      }
    • JSON格式说明

      字段

      类型

      说明

      stream_id

      String

      摄像头编号。

      event_type

      Uint64

      快速标识排队状态分析服务输出消息类型。

      其值固定为1441793,对应16进制为 0x 0000 0000 0016 0001。

      task_id

      String

      作业ID。

      message_id

      String

      唯一标识本次输出消息的UUID。

      timestamp

      Uint64

      触发告警时间点的时间戳。

      image_base64

      String

      告警时刻输入的视频图像的Base64编码结果。

      data

      Object

      业务输出内容。

    • data参数格式说明

      字段

      类型

      说明

      event_set

      List<Object>

      输出事件列表。

    • event_set参数格式说明

      字段

      类型

      说明

      polygon

      List<Object>

      区域对应的多边形框,例如"polygon":[[484,465],[1850,450],[1905,1013],[515,1050]]。

      total_count

      Int

      当前时刻区域总人数。

      queuing_count

      Int

      当前时刻区域排队总人数。

      avg_queuing_time

      Double

      当前历史时间端区域排队平均时间;单位:秒。

      out_queue_info

      List<Object>

      当前统计周期里面结束排队出区域的目标的相似信息。

    • out_queue_info参数格式说明

      字段

      类型

      说明

      target_id

      Int

      结束排队状态离开区域的目标ID,ID是作业开始运行时开始排序。

      is_reappear

      Int

      离队目标是否是第二次排队出队。

      in_queue_timestamp

      Uint64

      目标开始排队时间戳。

      out_queue_timestamp

      Uint64

      目标结束排队时间戳。

      queuing_time

      Int

      目标排队时间;单位:秒。

返回值

  • 正常

    201

  • 异常

    返回值

    说明

    400 Bad Request

    请求错误,具体返回错误码请参考错误码

    401 Unauthorized

    鉴权失败。

    403 Forbidden

    没有操作权限。

    404 Not Found

    找不到资源。

    500 Internal Server Error

    服务内部错误。

    503 Service Unavailable

    服务不可用。

相关文档