一、概要

(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. 【java】学习路径45-多线程-线程生命周期

    线程分为五大状态:新建.就绪.运行.阻塞.死亡. New,Runnable,Running,Blocked,Terminated. 新建状态(New: 创建好一个系统对象,在调用start()之前,线 ...

  2. 这三大特性,让 G1 取代了 CMS!

    大家好,我是树哥. 之前我们聊过 CMS 回收器,但那时候我们说 CMS 回收器已经落伍了,现在应该是用 G1 回收器的时候了.那么 G1 回收器到底有什么魔力,它比 CMS 回收器相比强在哪里呢?今 ...

  3. React报错之Property 'value' does not exist on type EventTarget

    正文从这开始~ 总览 当event参数的类型不正确时,会产生"Property 'value' does not exist on type EventTarget"错误.为了解决 ...

  4. 第六十九篇:vue项目的运行过程

    好家伙, 1.vue的目录结构分析 来看看项目的目录 (粗略的大概的解释) 2.vue项目的运行流程 在工程化项目中,vue要做的事情很单纯:通过main.js把App.vue渲染到index.htm ...

  5. 如何将原生微信小程序页面改成原生VUE框架的H5页面

    项目背景: 公司为了实现小程序与H5页面共同覆盖,全面推广.特此想将已有的小程序进行快速改造上线(二周内),研发出H5版本.目前公司前端技术较为薄弱,现有的技术解决方案还停留在JSP. 问题: 如何将 ...

  6. gem5使用记录,gem5入门学习和环境配置。

    工作需要,对gem5有点兴趣,准备自己研究一下,gem5新手刚开始入门学习,主要参考了网上其他前人的文章和官方说明. 目前网上的前人文章有部分有点太早了,稍显过时,我结合自己的经历来整理一下流程. g ...

  7. ACVF of ARMA(1, 1)

    \(ARMA(1, ~ 1)\) process is a time series \(\left\{ X_{t} \right\}\) defined as: \[X_{t} - \phi X_{t ...

  8. 【学习笔记】Vins-Mono论文阅读笔记(二)

    估计器初始化简述 单目紧耦合VIO是一个高度非线性的系统,需要在一开始就进行准确的初始化估计.通过将IMU预积分与纯视觉结构进行松耦合对齐,我们得到了必要的初始值. 理解:这里初始化是指通过之前imu ...

  9. 合理编写C++模块(.h、.cc)

    模块划分 合理编写模块的 demo.h.demo.cc 下例为C++为后端服务编写的探活检测服务 health_server.h #ifndef HEALTH_SERVER_H #define HEA ...

  10. kubernetes 调度器

    调度器 kube-scheduler 是 kubernetes 的核心组件之一,主要负责整个集群资源的调度功能,根据特定的调度算法和策略,将 Pod 调度到最优的工作节点上面去,从而更加合理.更加充分 ...