在之前的博客中《基于EasyNVR实现RTSP/Onvif监控摄像头Web无插件化直播监控》,我们已经比较多的描述EasyNVR所实现的功能,这些也在方案地址:http://www.easydarwin.org/easynvr/

演示地址:http://easynvr.easydarwin.org:10800/ 中可以直观地看到功能点和适用的场景,在此就不多说了;

我们主要介绍如何能够基于EasyNVR二次开发,实现自己的一套业务流程:

我们通常在构架一套视频SaaS应用的过程中,将平台设计为3层:视频硬件层(视频源)、视频能力平台(vPaaS)、视频应用平台(vSaaS),视频硬件包括各种IPC、NVR、编码器等视频生成设备,vPaaS视频能力平台部分主要就是对这些不同的硬件进行整合,输出统一接口、统一标准的视频流,vSaaS视频应用层主要就是对视频的增值服务了,这个是跑业务的部分;

EasyNVR的定位和功能,实际就是在中间的vPaaS视频能力平台层,承上启下,接入各个厂家的IPC/NVR设备,再通过统一的RESTful接口输出,为开发者提供稳定、优质的视频及接口服务;

如下主要来大致梳理一下EasyNVR各个视频能力输出的功能点:

能力平台鉴权

EasyNVR提供了一套简单的能力输出认证与授权接口,类似于通常的视频云平台提供的AccessToken和SecretKey作用,只要通过用户名/密码调用EasyNVR提供的Login接口,获得整个session周期使用的一个token,即可用该token获取到EasyNVR平台所提供的所有服务:

  • 接口: /api/v1/login?username=xxx&password=xxx
  • 参数
名称 解释 含义
Username 登陆用户名 -
Password 登陆密码 经过MD5加密的字符
  • 返回: 200 OK or 401 Unauthorized

    {
    "EasyDarwin" : {
    "Body" : {
    "Token" : "a19cb5f6e7d2449d8d24c8a0fc554ca7"
    },
    "Header" : {
    "CSeq" : "1",
    "ErrorNum" : "200",
    "ErrorString" : "Success OK",
    "MessageType" : "MSG_SC_SERVER_LOGIN_ACK",
    "Version" : "1.0"
    }
    }
    }
  • 操作: 登录,登陆后会返回token,以后调用接口需要在cookie中携带token信息“token=a19cb5f6e7d2449d8d24c8a0fc554ca7”

这样,只要在后续的接口操作中,http header cookies中携带了token,就可以调用平台所有能力输出接口了,token会有一个过期时间,每调用一次就会刷新一次,超时的话,EasyNVR就会从服务器中将该token移除,那么下次客户端再次拿过期的token来调用接口的时候,EasyNVR服务器就会返回401,要求客户端重新鉴权了;

能力平台视频输出

  • 接口:/api/v1/getchannelstream?channel=1&protocol=RTMP
  • 参数
名称 含义 备注
Channel 通道号 -
Protocol 获取直播的协议 RTMP/HLS
  • 返回: 直播流地址URL

    {
    "EasyDarwin" : {
    "Body" : {
    "ChannelName" : "通道名"
    "URL" : "rtmp://{host}:10035/hls/stream_1"
    },
    "Header" : {
    "CSeq" : "1",
    "ErrorNum" : "200",
    "ErrorString" : "Success OK",
    "MessageType" : "MSG_SC_SERVER_GET_CHANNEL_STREAM_ACK",
    "Version" : "1.0"
    }
    }
    }

通过此接口就可以获取到EasyNVR接入的通道的实时视频,还能输出RTMP/HLS多种视频码流协议,基本上RTMP和HLS就能够支撑全部终端的所有视频播放需求了;

能力平台管理接口

  • 接口: /api/v1/getbaseconfig
  • 返回: 基础配置信息表
名称 解释 备注
ServiceLanPort EasyNVR服务监听端口 ReadOnly
ServiceLanIP EasyNVR服务本地地址 ReadOnly
ChannelSnapInterval 通道快照间隔 单位为分钟
NginxRTMPPort EasyNVR配套的rtmp服务器端口 默认10035
  • 报文

    {
    "EasyDarwin" : {
    "Body" : {
    "ChannelSnapInterval" : "120",
    "NginxRTMPPort" : "10035",
    "ServiceLanIP" : "192.168.66.222; 127.0.0.1; ",
    "ServiceLanPort" : "10010",
    },
    "Header" : {
    "CSeq" : "1",
    "ErrorNum" : "200",
    "ErrorString" : "Success OK",
    "MessageType" : "MSG_SC_SERVER_BASE_CONFIG_ACK",
    "Version" : "v1"
    }
    }
    }
  • 接口:

    /api/v1/setbaseconfig?ChannelSnapInterval=120&NginxRTMPPort=10035&ServiceLanPort=10010

  • 参数:

  • 返回: 200 OK

    {
    "EasyDarwin" : {
    "Header" : {
    "CSeq" : "1",
    "ErrorNum" : "200",
    "ErrorString" : "Success OK",
    "MessageType" : "MSG_SC_SERVER_SET_BASE_CONFIG_ACK",
    "Version" : "1.0"
    }
    }
    }

通过管理接口的服务可以获取/设置EasyNVR能力平台的配置、接入等等,还能通过api/v1/getserverinfo等接口,获取平台的版本号,运行时长等信息,对于管理者来说,非常好用;

更多接口、EasyNVR在线演示与试用下载

EasyNVR无插件视频接入方案说明:http://www.easydarwin.org/easynvr/

同时可在网站中访问EasyNVR在线演示:

也可以在网站上下载最新版本:

获取更多信息

邮件:support@easydarwin.org

WEB:www.EasyDarwin.org

Copyright © EasyDarwin.org 2012-2017

基于EasyNVR二次开发实现自己的摄像机IPC/NVR无插件化直播解决方案的更多相关文章

  1. 基于EasyNVR摄像机无插件直播方案二次开发实现自己的摄像机IPC-NVR无插件化直播解决方案

    背景介绍 在之前的博客中<基于EasyNVR实现RTSP/Onvif监控摄像头Web无插件化直播监控>,对EasyNVR所实现的功能我们已经有较多描述,这些也在方案地址:http://ww ...

  2. 基于EasyNVR实现RTSP/Onvif监控摄像头Web无插件化直播监控

    前言 随着互联网的发展,尤其是移动互联网,基于H5.微信的应用越来越多,企业也更多地想基于H5.微信公众号来快速开发和运营自己的产品,那么传统的安防IPC所输出的各种RTSP.GB28181.SDK视 ...

  3. 基于EasyNVR摄像机流媒体服务器实现RTSP或Onvif监控摄像头Web无插件化直播监控

    前言介绍 随着互联网的发展,尤其是移动互联网基于H5.微信的应用越来越多,企业也更多地想基于H5.微信公众号来快速开发和运营自己的产品,而传统的安防IPC所输出的各种RTSP.GB28181.SDK视 ...

  4. 基于EasyNVR二次开发实现业务需求:用户、权限、设备管理

    许多接触到EasyNVR的用户.开发者都会提出关于EasyNVR设备分组和账户设备关系映射的问题,我们参考目前大部分的视频能力输出平台的做法,EasyNVR目前只做了唯一的用户/密码(类比appkey ...

  5. 基于EasyNVR二次开发实现业务需求:直接集成EasyNVR播放页面到自身项目

    EasyNVR着重点是立足于视频能力层,但是自身也是可以作为一个产品使用的.这就更加方便了应用层的使用. 由于业务需求的缘故,无法使用实体项目展示. 案例描述 该业务系统是国内某大型显示屏生产企业内部 ...

  6. 基于AndroidPn二次开发的可行性

    一.背景 如果要自己搭建,从零开始做或基于开源进行修改扩充,开源的push引擎,90%的博文首推AndroidPN,结合公司现状,最优解决方案就是进行AndroidPN的二次开发了.先看一下这个项目: ...

  7. EasyNVR摄像机网页Chrome无插件视频播放功能二次开发之通道配置文件上传下载示例代码

    背景需求 熟悉EasyNVR产品的朋友们都知道,产品设计初期根据整个直播流程层级,我们将EasyNVR无插件直播系统划分为:硬件层.能力层.应用层,连接硬件与应用之间的桥梁,同时屏蔽各种厂家硬件的不同 ...

  8. 基于EasyDarwin框架实现EasyNVR H5无插件直播流媒体服务器方案

    在之前的一篇博客<web无插件播放RTSP摄像机方案,拒绝插件,拥抱H5!>中,描述了实现一套H5无插件直播方案的各个组件的参考建议,又在博客<EasyNVR H5流媒体服务器方案架 ...

  9. 基于EasyDarwin开源流媒体服务器框架实现EasyNVR H5无插件直播流媒体服务器方案

    背景分析 在之前的一篇博客<web无插件播放RTSP摄像机方案,拒绝插件,拥抱H5!>中,描述了实现一套H5无插件直播方案的各个组件的参考建议,又在博客<EasyNVR H5流媒体服 ...

随机推荐

  1. Win7下VS2010、IIS7配置常见问题收集

    一 在Win7下应按什么次序安装vs2010和iis7 win7推荐先安装iis7,再安装vs2010:如果次序反了,必须注册iis才可以用. IIS中ASP.NET的版本号此时可选的有1.1.2.0 ...

  2. AC日记——[Sdoi2010]星际竞速 bzoj 1927

    1927 思路: 连边,拆点: 每个点拆成i,i+n,都向t连边: i到t表示高速模式,i+n到t表示跳跃模式: 然后读入路径,如果u>v,则交换u,v: u向v+n连边: spfa跑最小费用: ...

  3. 项目中使用libsodium扩展

    前段时间研究了微信小微商户,地址:https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=19_11 其接口操作中需要下载证书针对返回的密 ...

  4. SpringBoot优雅的全局异常处理

    前言 本篇文章主要介绍的是SpringBoot项目进行全局异常的处理. SpringBoot全局异常准备 说明:如果想直接获取工程那么可以直接跳到底部,通过链接下载工程代码. 开发准备 环境要求 JD ...

  5. Android学习--持久化(一) 文件存储

    持久化之   文件存储 这里把Android持久化全都整理一下,这一篇文章先简单的说一下文件的存储,通过下面一个简单的Demo,理解一下这个文件存储,先说说下面Demo的思路: 1.创建EditTex ...

  6. Maven项目导入到Eclipse时Build出现the user operation is waiting for building workspace to complete的问题解决

    解决办法如下: 1.选择菜单栏的[Project],然后把菜单栏中[Build Automatically]前面的对钩去掉.

  7. 缠中说禅股票交易系统图解 z

    缠中说禅股票交易系统图解 2010-03-23 10:51 (王纯阳)缠论祖师的经典语录 1. 就在买点买,卖点卖:当然,买点并不一定是一个点,一个价位,级别越大的,可以容忍的区间越大. 2. 你要经 ...

  8. php分页显示文章列表

    <div class="content"> <ul> <?php $querySel = "select * from news where ...

  9. 用户空间和内核空间通讯之【Netlink 中】

    原文地址:用户空间和内核空间通讯之[Netlink 中] 作者:wjlkoorey258 今天我们来动手演练一下Netlink的用法,看看它到底是如何实现用户-内核空间的数据通信的.我们依旧是在2.6 ...

  10. Web前端开发规范收集

    在Web开发中,后端跟前端配合非常easy出现故障.这时我们就须要一些规则来约束前端任意的编写. CSS编程规范 1.      属性书写基本顺序 a.      先位置属性(position, to ...