EasyNVR H5流媒体服务器方案架构设计之视频能力平台
历经过程
阶段一:经历过传统安防开发过程的开发者都有一种感觉,就是各种业务交织,各个模块的开发扯皮,各种数据库连接冲突,这很让开发工作效率很低,而且会给整体的开发带来负面影响,更重要的是,耦合度太高,业务系统和视频系统交织在一起,下一个新的项目的时候,我们又要根据客户的需求重新进行开发,架构稍微好一点的只是开发多少的问题,而不能完完全全地将视频能力输出部分和业务部分很好滴划分;
阶段二:再后来,出现了一些比较好的架构,虽然不能完全达到 视频能力平台 和 业务平台 相独立的地步,但是已经非常给力了,能非常好地减少二次开发的工作量,这种架构的大体思路是:统一入口,也就是所有的业务都走一个总的入口,包括数据库操作,视频请求的操作,控制的操作,但是这种接口还不是我们现在开到的authToken这类的http接口,而是一套非常复杂的自定义协议,耦合度是低了,但还未达到真正意义上的能力平台概念;
阶段三:后来,萤石出现了,给很多安防的开发者带来的非常多的灵感,萤石对自身的定位也是vPaaS平台,也就是视频能力平台,只做设备的接入和视频能力的输出,对外提供统一的接口,各个公司注册完成开发者账号之后,调用萤石的http接口,直接就可以开发业务系统的部分了,让即使不懂音视频开发技术的人员也能很轻松地就能开发起互联网/安防视频类的应用了,极大地降低了公司的开发门槛!
EasyNVR的架构思路
我们在架构一套视频应用时,将整个架构设计为3层:硬件设备层、视频能力层、视频应用层:
硬件设备层:包括各种IPCamera、NVR视频设备,主要的规格需求就是RTSP/Onvif协议支持;
视频能力层:将视频硬件设备接入,再进行流媒体直播、流媒体录像、流媒体回放、设备控制等各种与设备对接的功能,承上启下,对应用层提供各种功能调用的HTTP接口输出;
视频应用层:应用层调用能力层的各种HTTP接口,开发多种多样的视频应用业务,再也不用再烦心各种各样型号的设备接入调用了;
这样的话,普通的前端/H5开发者就不用再揪心于如何能获取到稳定、优质的视频直播流、录像流了,只要做几个简单的接口对接,就能完成一套非常漂亮的视频类应用!
注:许多接触到EasyNVR的开发者都会提出关于EasyNVR设备分组和账户设备关系映射的问题,我们参考目前大部分的视频能力输出平台的做法,EasyNVR只做了唯一的用户/密码(类比appkey/secretkey)管理,应用层调用EasyNVR的登录接口,获取到本次EasyNVR视频能力平台操作的token,后续只要在操作的接口中携带token,就可以调用EasyNVR的各种能力输出了!至于具体的设备、用户、权限等各种关系管理,都留在各个客户的应用系统中,自行灵活开发!
关于EasyNVR
EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;
详细说明:http://www.easydarwin.org/easynvr/
获取更多信息
Copyright © EasyDarwin.org 2012-2017

EasyNVR H5流媒体服务器方案架构设计之视频能力平台的更多相关文章
- 基于EasyDarwin框架实现EasyNVR H5无插件直播流媒体服务器方案
在之前的一篇博客<web无插件播放RTSP摄像机方案,拒绝插件,拥抱H5!>中,描述了实现一套H5无插件直播方案的各个组件的参考建议,又在博客<EasyNVR H5流媒体服务器方案架 ...
- 基于EasyDarwin开源流媒体服务器框架实现EasyNVR H5无插件直播流媒体服务器方案
背景分析 在之前的一篇博客<web无插件播放RTSP摄像机方案,拒绝插件,拥抱H5!>中,描述了实现一套H5无插件直播方案的各个组件的参考建议,又在博客<EasyNVR H5流媒体服 ...
- 手机服务器微架构设计与实现 之 http server
手机服务器微架构设计与实现 之 http server ·应用 ·传输协议和应用层协议概念 TCP UDP TCP和UDP选择 三次握手(客户端与服务器端建立连接)/四次挥手(断开连接)过程图 · ...
- 基于EasyNVR摄像机流媒体服务器实现RTSP或Onvif监控摄像头Web无插件化直播监控
前言介绍 随着互联网的发展,尤其是移动互联网基于H5.微信的应用越来越多,企业也更多地想基于H5.微信公众号来快速开发和运营自己的产品,而传统的安防IPC所输出的各种RTSP.GB28181.SDK视 ...
- EasyNVR摄像机H5流媒体服务器在windows上批处理脚本自动以管理员权限运行
很多时候, 我们需要以管理员权限来运行批处理脚本, 比如操作 windows 服务. EasyNVR 中提供安装服务的批处理脚本, 运行这个bat文件, 自动将 EasyNVR 以 windows 服 ...
- 简述 高性能Linux服务器 模型架构 设计
主要从三个方面进行分析: 1.事件处理模式 2.并发模式 一.事件处理模式 1.Reactoor模式 定义: 主线程只负责监听文件描述符上是否有事件发生,有的话立即将该事件通知工作线程,除此之外,主线 ...
- RocketMQ补偿方案架构设计
RocketMQ作为消息中间件,在系统异步化架构中,应用非常广泛.但是我们在享用RocketMQ的同时,也不能百分百完全信赖它.一旦RocketMQ崩溃了,给我们业务带来的也将是毁灭性打击. 因此,我 ...
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之_关于接口调用常见的一些问题(401 Unauthorized)
在之前的博客<EasyNVR H5流媒体服务器方案架构设计之视频能力平台>中我们描述了EasyNVR的定位,作为一个能力平台来进行功能的输出: 也就是说,在通常情况下,我们将一套视频的应用 ...
- 如何自己实现一套EasyNVR这样的无插件流媒体服务器
EasyNVR流媒体解决方案 EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera.NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNV ...
随机推荐
- HDU 5727.Necklace-二分图匹配匈牙利
好久没写过博客了,把以前的博客补一下. Necklace Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 65536/65536 K ( ...
- luogu P1651 塔
题目描述 小明很喜欢摆积木,现在他正在玩的积木是由N个木块组成的,他想用这些木块搭出两座高度相同的塔,一座塔的高度是搭建它的所有木块的高度和,并且一座塔至少要用一个木块.每个木块只能用一次,也可以不用 ...
- Linux(三) 一些命令
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...
- IOS7开发~API变化
1.弃用 MKOverlayView 及其子类,使用类 MKOverlayRenderer: 2.弃用 Audio Toolbox framework 中的 AudioSession API,使用AV ...
- mac xampp命令行调用mysql
参考 http://www.cnblogs.com/machao/p/6206483.html 直接mysql不行,显示command not found 调用 sudo ln -s /applica ...
- Linux下监听或绑定(bind)21端口失败
问题:写了一个程序,尝试在21端口监听,结果在执行bind的时候失败了. sockaddr_in sock_addr; sock_addr.sin_family = AF_INET; sock_add ...
- ALBB 找公共最长连续字母序列的长度
问题描写叙述 给定一个 query 和一个 text .均由小写字母组成.要求在 text 中找出以相同的顺序连续出如今 query 中的最长连续字母序列的长度. 比如, query为"ac ...
- Hadoop之Linux源代码编译
Hadoop开篇,按惯例.先编译源代码.导入到Eclipse.这样以后要了解那块,或者那块出问题了.直接找源代码. 编译hadoop2.4.1源代码之前.必须安装Maven和Ant环境,而且Hadoo ...
- SilverLight-DataConversion: 银光数据转换
ylbtech-SilverLight-DataConversion: 银光数据转换 1.A, Silverlight字符串格式表 1.B, 价格格式转换器 1.C, 日期时间格式转换器 1.D, 图 ...
- 【Salvation】——人物角色动画实现
写在前面:这个角色动画主要使用JavaScript编写脚本,在Unity3D游戏引擎的环境中实现. 一.显示角色并实现镜像效果 1.显示贴图: create→cube→修改名称为player,位置归0 ...