一、概要

(1)每个算法厂家在秀++云平台上会有一个厂商标识,譬如CS101;算法厂家可能有多个算法引擎,每个引擎有一个标识譬如Q101,引擎可以理解为一个可执行程序,可以同时分析多路算法;每个算法在秀++也有标识,譬如SF101。 这三个标识秀++会和厂商进行分享。

树状图理解:

厂商

--算法引擎

----烟火判断

----安全帽

----XXXX算法

(2)算法引擎会安装在一个载体上,也许在云端,也许在VCELL上。如果在VCELL上,我们也保证VCELL肯定能上互联网。所以算法厂家需做到:

① 引擎连上网以后,要定期同远端厂商自己的云端授权记录做比对,比对不通过就不能运行,更不能进行算法分析。

② 连不上网,引擎可以不工作。

(3)算法引擎和秀++的交互遵循两个原则:

① 算法引擎自己取流去分析。至于用图片还是用视频流甚至切图间隔由算法保证。 vcell或者秀++云端,会将要进行智能分析的对象写成一个全局的配置文件,这个文件路径是固定的,在电脑上的各个算法引擎程序,引擎自己去读这个文件然后按这个文件去获得要分析的是谁,取流的地址(rtsp地址)是什么。请注意,如果切图,也请不要引起磁盘碎片,所以尽量在内存中解决。

② 算法引擎分析后的结果,请http推送给秀++。

二、模拟全流程

(1)秀++向A厂商买了A算法引擎的2个算法,各自2路。

对厂商而言,把这个授权信息放到云端自己的服务器。

(2)秀++授权到1台VCELL上。

① 内部流程1:安装了一套vcell,安装好了那个引擎。

② 内部流程2:秀++云上对vcell进行授权。

(3)客户实际使用vcell,完成对具体通道的绑定。

用vcell的WEB来做算法绑定。配置结束后,vcell 的java生成了一个配置,文件全路径是 C:\Program Files (x86)\sppvcell\algConfig.json,格式如第三章定义。

(4)算法引擎开始工作

说明:

1)判断网络、判断授权。

2)如果一切成立,通过C:\Program Files (x86)\sppvcell\algConfig.json 这个文件来具体知道分析谁,怎么取流等。

3)分析后的结果传出,按第四章定义。

三、algConfig.json 定义

{

"heartBeatUrl": "http://127.0.0.1/event/heartBeat.json",//心跳推送地址

"nodifyUrl": "http://127.0.0.1/event/notify.json",//事件推送地址

"channels": [{

"deviceId": "xxxxx",//设备id

"channelIndex": 1,//通道索引

"csId": "CS101", //厂商ID,不是自己厂商ID的就不要分析了。

"yqId": "YQ101",//引擎ID,不是自己的引擎ID也不要分析了。

"sfId": "SF101",//算法类型ID 例如:未戴安全帽 1、火焰识别 2......

"rtspUrl": "http://xxxx/x/x",//trsp视频流地址

"time1": "10:05-21:05",//最多有4个时间段,每个时间段都是24小时制的,如果是全天分析的,则会是00:00-00:00

"time2": "",

"time3": "",

"time4": ""

}, {

"deviceId": "xxxxx",

"channelIndex": 1,

"csId": "CS101",

"yqId": "YQ101",

"sfId": "SF101",

"rtspUrl": "http://xxxx/x/x",

"time1": "10:05-21:05",

"time2": "",

"time3": "",

"time4": ""

}]

}

四、消息推送格式

1、警情推送:以post 方式推送,utf-8编码格式,json格式,参数如下:

{

“deviceId”:”xxxxx”,

“channelIndex”:1,

“csId”:”cs101”,

“yqId”:”yq101”,

“sfId”:”sf101”,

“type”:1, 事件大类: 1-告警,2-故障

“eventType”:101,事件类型 100, "入侵检测"  101, "徘徊检测" 等详情参考秀加加事件类型

“dateTime”:”2020-11-16 12:12:11”,

“ descripion”:”未戴安全帽”,

“base64File”:”xxxxx”   //图片base64 数据

}

2、心跳推送:以post 方式推送,utf-8编码格式,json格式,参数如下:

{

“csId”:”cs101”,

“yqId”:”yq101”

}

--------------------------------------------------------------------------------

秀++视频开放平台(www.showplusplus.cn)专注于音视频信号的接入、管理、分发及AI技术,由杭州美畅物联技术有限公司精心打造,通过提供云、中台、边、旁路、端等一系列产品,完美适配您的各种视频应用和开发的需求。

视频的应用和开发,就找秀++!

秀++视频算法仓库-厂家对接规约V5的更多相关文章

  1. 如何将Android Studio与华为软件开发云代码仓库无缝对接(二)

    上篇文章:如何将Android Studio与华为软件开发云代码仓库无缝对接(一) 上一章讲了,如何用Android Studio以软件开发云代码仓库为基础,新建一个项目.接下来,这一章继续讲建好项目 ...

  2. Android破解学习之路(七)—— 乐秀视频编辑 内购破解 专业版 价值25元的破解

    按照之前的支付宝破解,搜索9000的十六进制,之后... 但是,这样测试的时候,没有破解成功,便是继续研究 搜索关键字支付失败,之后找到了指定的smali文件,观察了许久,发现里面有个switch跳转 ...

  3. EasyNVR智能云终端接入AI视频智能分析功能,用户可自定义接入自己的分析算法

    视频分析的需求 人工智能的发展和在行业中的作用就不用多说了,已经到了势在必行的一个程度了,尤其是对于流媒体音视频行业来说,这基本上是人工智能重中之重的领域,视频人工智能,也就是视频视觉分析的应用方式大 ...

  4. 接入监控视频,为啥还需要对接厂商的SDK呢,不是有onvif这样的标准协议吗?

    不少人问过我这个问题,这真是一个好问题. 我举两个例子,让您仔细品: ① 快速打开视频和极致操控的问题. onvif协议很科班,但厂商的sdk可能会给你一些独特的方法,譬如先make一个I帧,这样第一 ...

  5. WebRTC 音视频开发

    WebRTC 音视频开发 webrtc   Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译 ...

  6. Java自学教程视频

    BAT大咖助力 全面升级Android面试 BAT大牛亲授 基于ElasticSearch的搜房网实战 从天气项目看Spring Cloud微服务治理 Java企业级电商项目架构演进之路  Tomca ...

  7. 转:Android IOS WebRTC 音视频开发总结 (系列文章集合)

    随笔分类 - webrtc   Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译 ...

  8. AliRTC 开启视频互动 “零计算” 时代

    在 2021 云栖大会<产业视频化创新与最佳实践>视频云主题论坛中,阿里云智能高级技术专家在<AliRTC 开启视频互动 "零处理" 时代>的主题演讲中,发 ...

  9. 开博客这么久以来,第一篇技术文章,python与c的接口对接

    在博客园开博客已经有了蛮长时间了,但是从来只是看别人的文章,自己却从未写过一篇技术文章,深表惭愧.内心还是希望能够给大家提供一些帮助的,希望这第一篇技术博客,能够给大家一些帮助.闲话少叙,开始正文. ...

随机推荐

  1. KingbaseES 转义字符

    在SQL标准中字符串是用单引号括起来的,在KingbaseES中遵守了该标准,如果在字符串中需要使用到单引号,就需要对其进行转义. 方式一:使用E和反斜杠进行转义 方式二:直接用一个单引号来转义 在K ...

  2. 从源码中理解Spring Boot自动装配原理

    个人博客:槿苏的知识铺 一.什么是自动装配 SpringBoot 定义了一套接口规范,这套规范规定:SpringBoot在启动时会扫描外部引用jar包中的META-INF/spring.factori ...

  3. Windows服务器限制进程CPU使用率

    在Windows server 2012 之前的服务系统 2008和2008 R2中有系统资源管理器System Resource Manager可以管理系统的CPU和内存使用情况.特别对于一些自己开 ...

  4. 关于“No loop matching the specified signature and casting was found for ufunc lstsq_n”问题的解决

    下面这段代码是使用MatPlotLib绘制数据随时间变化的趋势. import datetime as dt import numpy as np import pandas as pd import ...

  5. 关于在PyCharm中使用虚拟环境

    Python虚拟环境的概念对于管理项目用到的第三方包真是好处多多,所以也想在PyCharm使用虚拟环境. 在这个过程中,遇到很多问题: 第一是使用Python创建虚拟环境,然后在PyCharm创建项目 ...

  6. Django 之复制粘贴必备命令(补)

    一.Django 常用命令 pip install django==3.2 pip show django pip list django-admin startproject mysite pyth ...

  7. 谷歌MapReduce经典论文翻译(中英对照)

    MapReduce: Simplified Data Processing on Large Clusters(MapReduce: 简化大型集群下的数据处理) 作者:Jeffrey Dean and ...

  8. Elastic:使用Kafka部署Elastic Stack

  9. Dockerfile文件全面详解

    Docker 可以通过读取 Dockerfile 中的指令自动构建镜像.Dockerfile 是一个文本文档,其中包含了用户创建镜像的所有命令和说明. 一. 变量 变量用 $variable_name ...

  10. 使用python读取京东pdf发票信息导出到excel表格中

    代码 #!/usr/bin/env python # -*- coding: utf-8 -*- """ pip install pdfminer3k pip insta ...