一、概要

(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. [NOIP2018提高组] 保卫王国 (树链剖分+动态DP)

    题面 题目链接-Luogu 题目链接-Loj(要加Freopen) 题解 什么是动态DP? OneInDark:你不需要知道这么多,你只需要知道是利用了广义矩阵乘法就够了! 广义矩乘 广义矩阵乘法,简 ...

  2. 【Java】学习路径59-多个连接的服务器端

    ServerSocket可以对接多个Socket对象,利用这点,就可以实现:一台服务器对多个客户端. import java.io.IOException; import java.net.*; pu ...

  3. Python入门系列(四)别再傻傻分不清:列表、元组、字典、集合的区别

    总结分析列表.元组.字典.集合的相同与区别之处,只有彻底分清之后,就会在应用的时候,得心应手. 四句话总结 列表是一个有序且可更改的集合,允许重复成员. 元组是一个有序且不可更改的集合,允许重复成员. ...

  4. KingbbaseES V8R6集群维护案例之---集群之间数据迁移

    案例说明: 生产环境是集群环境,测试环境是集群,现需要将生产环境的数据迁移到测试集群中运行,本文档详细介绍了从集群环境迁移数据的操作步骤,可以作为生产环境迁移数据的参考. 适用版本: Kingbase ...

  5. 游标长时间open导致表无法vacuum问题

    一.问题描述 用户在实际中可能会碰到类似以下 dead rows 无法 vacuum的问题,一个可能的原因是由于游标未结束的原因. test=# vacuum(verbose) t1; INFO: v ...

  6. KingbaseES 时间类型数据和oracle时间类型的区别

    Oracle日期时间类型有两类,一类是日期时间类型,包括Date, Timestamp with time zone, Timestamp with local time zone.另一类是Inter ...

  7. 安装docker及使用docker安装其他软件(手动挂载数据卷)

    中秋明月,豪门有,贫家也有,极慰人心 Linux安装docker 可以参考官方的安装文档 centos安装docker: https://docs.docker.com/engine/install/ ...

  8. Python数据科学手册-Pandas:累计与分组

    简单累计功能 Series sum() 返回一个 统计值 DataFrame sum.默认对每列进行统计 设置axis参数,对每一行 进行统计 describe()可以计算每一列的若干常用统计值. 获 ...

  9. 启动elasticsearch报错解决

    说不定以后会不定期更新该文档 1.提示文件描述符数量太少,修改/etc/security/limits.conf文件,添加. * soft nofile 65537 * hard nofile 655 ...

  10. Ceph分布式存储详述

    存储发展史 企业中使用存储按照其功能,使用场景,一直在持续发展和迭代,大体上可以分为四个阶段: DAS:Direct Attached Storage,即直连存储,第一代存储系统,通过SCSI总线扩展 ...