秀++视频算法仓库-厂家对接规约V5
一、概要
(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的更多相关文章
- 如何将Android Studio与华为软件开发云代码仓库无缝对接(二)
上篇文章:如何将Android Studio与华为软件开发云代码仓库无缝对接(一) 上一章讲了,如何用Android Studio以软件开发云代码仓库为基础,新建一个项目.接下来,这一章继续讲建好项目 ...
- Android破解学习之路(七)—— 乐秀视频编辑 内购破解 专业版 价值25元的破解
按照之前的支付宝破解,搜索9000的十六进制,之后... 但是,这样测试的时候,没有破解成功,便是继续研究 搜索关键字支付失败,之后找到了指定的smali文件,观察了许久,发现里面有个switch跳转 ...
- EasyNVR智能云终端接入AI视频智能分析功能,用户可自定义接入自己的分析算法
视频分析的需求 人工智能的发展和在行业中的作用就不用多说了,已经到了势在必行的一个程度了,尤其是对于流媒体音视频行业来说,这基本上是人工智能重中之重的领域,视频人工智能,也就是视频视觉分析的应用方式大 ...
- 接入监控视频,为啥还需要对接厂商的SDK呢,不是有onvif这样的标准协议吗?
不少人问过我这个问题,这真是一个好问题. 我举两个例子,让您仔细品: ① 快速打开视频和极致操控的问题. onvif协议很科班,但厂商的sdk可能会给你一些独特的方法,譬如先make一个I帧,这样第一 ...
- WebRTC 音视频开发
WebRTC 音视频开发 webrtc Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译 ...
- Java自学教程视频
BAT大咖助力 全面升级Android面试 BAT大牛亲授 基于ElasticSearch的搜房网实战 从天气项目看Spring Cloud微服务治理 Java企业级电商项目架构演进之路 Tomca ...
- 转:Android IOS WebRTC 音视频开发总结 (系列文章集合)
随笔分类 - webrtc Android IOS WebRTC 音视频开发总结(七八)-- 为什么WebRTC端到端监控很关键? 摘要: 本文主要介绍WebRTC端到端监控(我们翻译和整理的,译 ...
- AliRTC 开启视频互动 “零计算” 时代
在 2021 云栖大会<产业视频化创新与最佳实践>视频云主题论坛中,阿里云智能高级技术专家在<AliRTC 开启视频互动 "零处理" 时代>的主题演讲中,发 ...
- 开博客这么久以来,第一篇技术文章,python与c的接口对接
在博客园开博客已经有了蛮长时间了,但是从来只是看别人的文章,自己却从未写过一篇技术文章,深表惭愧.内心还是希望能够给大家提供一些帮助的,希望这第一篇技术博客,能够给大家一些帮助.闲话少叙,开始正文. ...
随机推荐
- HTTP协议,会话跟踪,保存作用域,servlet类跳转
解决post的编码问题,防止中文乱码 request.setCharacterEncoding("utf-8"); HTTP协议: (1)由Request(请求)和Response ...
- 编译boost库的dll和lib
下载Boost 下载链接:Boost Downloads 下载完成后,将其解压放置到需要编译保存的目录下,比如我自己的目录: F:\Work\Boost 打开VS编译 如果是使用的VS2017,则打开 ...
- DIN 66025标准下G Code基础代码释义
基础/前提 XYZ指示常规的三个轴号,PQUVW为可以增加的五个轴,ABC为可以增加的旋转轴 实例 G0 快速定位(点位运动) G1 直线运动(插补) G2 顺时针圆弧运动(插补) G3 逆时针圆弧运 ...
- Linux常用基础命令三
一.ln 软链接 软链接也称为符号链接,类似于 windows 里的快捷方式,有自己的数据块,主要存放 了链接其他文件的路径. 在查看文件目录中,软连接是以'l'开头 创建软链接 ln -s [原文件 ...
- PostgreSQL 时间函数分类与特性
KingbaseES 时间函数有两大类:返回事务开始时间和返回语句执行时的时间.具体函数看以下例子: 1.返回事务开始时的时间 以下函数返回事务开始的时间(通过 begin .. end 两次调用结果 ...
- LFS(Linux From Scratch)构建过程全记录(二):磁盘分区
写在前面 本文将会详细记录LFS中,构建分区,构建文件系统和挂载分区的全过程 准备新硬盘 为了更加符合"从零开始构建Linux"的要求,我在虚拟机中,新建了一个磁盘 我们将会在这个 ...
- C#,根据路径获取某个数字开头的所有文件夹,并获取最新文件夹进行替换文件
项目需求获取某路径下为1开头文件夹,并替换最新文件夹内容,话不多说,上代码 private void Form1_Load(object sender, EventArgs e) { try { st ...
- Django ORM 实现数据的多表 增删改查
一.创建模型和表 假定下面这些概念.字段与关系: 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,手机号,家庭住址信息. 作者详情模型 和 作者模型之间是一对一的关系(one- ...
- 创建Elasticsearch集群并为它们配置TLS安全通信
文章转载自:https://elasticstack.blog.csdn.net/article/details/105636302 文章开头讲述的是两台es主机构建一个集群,其中有关的配置可以借鉴 ...
- Kubernetes 安全
RBAC 权限控制 对资源对象的操作都是通过 APIServer 进行的,那么集群是怎样知道我们的请求就是合法的请求呢?这个就需要了解 Kubernetes 中另外一个非常重要的知识点了:RBAC(基 ...