秀++视频算法仓库-厂家对接规约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的接口对接
在博客园开博客已经有了蛮长时间了,但是从来只是看别人的文章,自己却从未写过一篇技术文章,深表惭愧.内心还是希望能够给大家提供一些帮助的,希望这第一篇技术博客,能够给大家一些帮助.闲话少叙,开始正文. ...
随机推荐
- CF1450E 资本主义Capitalism(差分约束)
题面 点此看题 没有永远的朋友,只有永远的利益 在这个黑漆漆的社会上,有 n n n 个布衣百姓,他们在利益驱使下成为金钱的奴隶,看不到属于生活的阳光.在茫茫奔途中,他们相互扶持,结交了有 m m m ...
- Python入门系列(六)一篇学会python函数
函数 函数是只在调用时运行的代码块. def my_function(): print("Hello from a function") my_function() 信息可以作为参 ...
- Linux配置bond模式 双网卡绑定步骤
什么是bond 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术.Kernels 2.4.12及以后的版本均供bonding模块,以前 ...
- Linux虚拟机破解密码步骤
Linux破解密码 重启系统 到达logo界面快速 按 e 编辑当前条目 将光标移至以 linux 开头的行,此为内核命令行 在UTF-8(RHEL7):ro(RHEL8)后添加 rd.break ( ...
- Docker日常工作常用命令
容器生命周期管理 Docker创建新容器并运行[run] 语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...] OPTIONS说明: -a stdin: 指 ...
- 利用 Gitea Doctor自助诊断工具帮助管理员排查问题
我常常在Gitea论坛或者Hostea为网友解答Gitea版本升级方面的问题,但发现少有人知道利用 gitea doctor 命令行工具排查问题,因此这篇博文将给大家带来通俗易懂的介绍. 你知道吗? ...
- 在终端启动Python时报错的解决
最近,在终端启动Python时,报了一个错误: 1 Failed calling sys.__interactivehook__ 2 Traceback (most recent call last) ...
- k8s 中的 Pod 细节了解
k8s中Pod的理解 基本概念 k8s 为什么使用 Pod 作为最小的管理单元 如何使用 Pod 1.自主式 Pod 2.控制器管理的 Pod 静态 Pod Pod的生命周期 Pod 如何直接暴露服务 ...
- 怎样编写正确、高效的 Dockerfile
基础镜像 FROM 基础镜像 基础镜像的选择非常关键: 如果关注的是镜像的安全和大小,那么一般会选择 Alpine: 如果关注的是应用的运行稳定性,那么可能会选择 Ubuntu.Debian.Cent ...
- 使用Docker方式部署Mongodb多副本集(replSet)
linux主机ip:192.168.0.253 1. 创建网络与容器 docker pull mongo docker network create mongo-rs docker run --nam ...