EasyNVR H5流媒体服务器方案架构设计之视频能力平台

本文主要是介绍EasyNVR H5流媒体服务器方案架构设计之视频能力平台,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

历经过程

阶段一:经历过传统安防开发过程的开发者都有一种感觉,就是各种业务交织,各个模块的开发扯皮,各种数据库连接冲突,这很让开发工作效率很低,而且会给整体的开发带来负面影响,更重要的是,耦合度太高,业务系统和视频系统交织在一起,下一个新的项目的时候,我们又要根据客户的需求重新进行开发,架构稍微好一点的只是开发多少的问题,而不能完完全全地将视频能力输出部分和业务部分很好滴划分;

阶段二:再后来,出现了一些比较好的架构,虽然不能完全达到 视频能力平台业务平台 相独立的地步,但是已经非常给力了,能非常好地减少二次开发的工作量,这种架构的大体思路是:统一入口,也就是所有的业务都走一个总的入口,包括数据库操作,视频请求的操作,控制的操作,但是这种接口还不是我们现在开到的authToken这类的http接口,而是一套非常复杂的自定义协议,耦合度是低了,但还未达到真正意义上的能力平台概念;

阶段三:后来,萤石出现了,给很多安防的开发者带来的非常多的灵感,萤石对自身的定位也是vPaaS平台,也就是视频能力平台,只做设备的接入和视频能力的输出,对外提供统一的接口,各个公司注册完成开发者账号之后,调用萤石的http接口,直接就可以开发业务系统的部分了,让即使不懂音视频开发技术的人员也能很轻松地就能开发起互联网/安防视频类的应用了,极大地降低了公司的开发门槛!

EasyNVR的架构思路

我们在架构一套视频应用时,将整个架构设计为3层:硬件设备层视频能力层视频应用层

EasyNVR

  • 硬件设备层:包括各种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/

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2017

EasyDarwin

这篇关于EasyNVR H5流媒体服务器方案架构设计之视频能力平台的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/351556

相关文章

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

Spring Gateway动态路由实现方案

《SpringGateway动态路由实现方案》本文主要介绍了SpringGateway动态路由实现方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录前沿何为路由RouteDefinitionRouteLocator工作流程动态路由实现尾巴前沿S

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

C#实现高性能拍照与水印添加功能完整方案

《C#实现高性能拍照与水印添加功能完整方案》在工业检测、质量追溯等应用场景中,经常需要对产品进行拍照并添加相关信息水印,本文将详细介绍如何使用C#实现一个高性能的拍照和水印添加功能,包含完整的代码实现... 目录1. 概述2. 功能架构设计3. 核心代码实现python3.1 主拍照方法3.2 安全HBIT

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详