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

相关文章

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

在Android平台上实现消息推送功能

《在Android平台上实现消息推送功能》随着移动互联网应用的飞速发展,消息推送已成为移动应用中不可或缺的功能,在Android平台上,实现消息推送涉及到服务端的消息发送、客户端的消息接收、通知渠道(... 目录一、项目概述二、相关知识介绍2.1 消息推送的基本原理2.2 Firebase Cloud Me

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1