EasyNVR摄像机网页H5全平台无插件直播流媒体播放服务二次开发之接口鉴权示例讲解
背景需求
EasyNVR的使用者应该都清楚的了解到,EasyNVR一个强大的功能就是可以进行全平台的无插件直播。主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理可以满足无插件的全平台直播。经由EasyNVR处理会获取到RTMP、HLS、HTTP-FLV视频流,这就完美解决了插件直播的问题,只要终端设备支持H5就可以完美的播放EasyNVR分发出的视频流,这也是EasyNVR成为众多互联网直播用户首选的原因。
考虑到用户使用的安全性,EasyNVR软件提供接口鉴权和视频流播放鉴权,客户端通过用户名密码登录成功后,服务端返回认证token的cookie, 后续的接口访问, 服务端从cookie读取token进行校验。在使用EasyNVR进行二次开发集成时,是完全能满足用户安全性能的需求。如果用户进行二次开发调取接口,那就要调取接口自己来实现鉴权功能,此时该如何合理的使用呢?
取消软件鉴权机制
1.把软件包下easynvr.ini文件内的 api_auth改成等于0

2.和软件界面下基础配置取消直播页面鉴权

- 这两个修改之后再调取软件服务的任何接口都不需要鉴权了。(注:如果考虑到安全问题,可以不考虑第一种。)
调取接口实现鉴权
1.使用到的接口
登录接口需要带上两个参数,用户名和密码,密码需要经过MD5加密。
例:http://127.0.0.1:10800/api/v1/login?username=admin&password=e10adc3949ba59abbe56e057f20f883e

登出接口
测试接口使用的是获取通道信息接口,需要带上两必带参数
新建一个 index.html demo
2.index.html内容文件如下
javascript
<!DOCTYPE HTML>
<html>
<head>
<title>EasyNVR</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
</head>
<body>
<button id="btn1">登录</button>
<button id="btn2">退出</button>
<button id="btn3">测试鉴权</button>
<p id="data"></p>
</body>
<!-- 引入jquery插件 -->
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<!-- 引入md5加密插件 -->
<script src="https://cdn.bootcss.com/blueimp-md5/2.10.0/js/md5.js"></script>
<script>
//定义变量来存放软件服务的IP和端口
var httpStr = "http://127.0.0.1:10800"
$(document).ready(function(){
var userName = 'admin', //用户名
passWord = 'admin' //原始密码
passWordHash = md5(passWord); //加密后密码
//当点击登录会向服务端发送登录请求
$("#btn1").click(function(){
//请求登录接口带上用户名和加密后的密码
$.get(httpStr + "/api/v1/login?username="+userName+"&password="+passWordHash,function(data,status){
if(data.EasyDarwin.Header.ErrorNum === "200"){
$("#data").text('鉴权成功!服务端返回的token为:'+data.EasyDarwin.Body.Token + " 过期时间为:"+data.EasyDarwin.Body.TokenTimeout)
}else {
$("#data").text('鉴权失败!状态码为:'+data.EasyDarwin.Header.ErrorNum)
}
});
});
//当点击退出会向服务端发送登录请求
$("#btn2").click(function(){
$.get(httpStr + "/api/v1/logout",function(data,status){
if(data.EasyDarwin.Header.ErrorNum === "200"){
$("#data").text('退出成功!')
}
});
});
//当登录成功后点击测试按钮是否鉴权成功
$("#btn3").click(function(){
$.get(httpStr + "/api/v1/getchannels",function(data,status){
if(data.EasyDarwin.Header.ErrorNum === "200"){
$("#data").text("通道名称:"+data.EasyDarwin.Body.Channels[0].Name)
}else{
$("#data").text('鉴权失败'+data)
}
});
});
});
</script>
</html>
- 接口鉴权只要客户端调取接口成功,服务端会主动把登录信息注册到客户端。不需要手动带上登录成功后返回的信息
案例地址:(https://github.com/EasyNVR/EasyNVR/tree/master/EasyNVR_apidemo/apidemo)
EasyNVS云管理平台(免费使用)
EasyNVS云管理平台是新一代基于创新的超融合和技术构建,具备完整的视频流媒体服务能力和运维管理服务能力的云架构平台,可将分布在不同区域和网络环境下的多套EasyNVR设备,统一接口进行登记和管理,借助云端的宽带资源解决单路设备在云直播中多路分发观看所需的上行宽带问题,及分布式存储在云端的回放问题。
客户端通过EasyNVS云管理平台上的EasyNVR列表以及每个网络摄像头的在线状态和快照,获取对应摄像头的视频流数据远程运维,同时实现按需直播,降低网络宽带及服务器压力。

EasyNVR应用场景
EasyNVR可以说已经成为国内视频互联网化基础建设的排头兵,几乎各个民生行业都已经有了EasyNVR视频能力输出的身影,EasyNVR多年服务于各行各业视频基础建设,EasyNVR的可靠性、完整性、稳定性已经受到了业界的广泛认可!


平安工地

智慧校园
关于EasyNVR
EasyNVR是一款拥有完整、自主、可控知识产权,同时又能够具备软硬一体功能的安防互联网化流媒体服务器,能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP、Onvif协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发。详情可访问EasyNVR官网:http://www.easynvr.com

EasyNVR摄像机网页H5全平台无插件直播流媒体播放服务二次开发之接口鉴权示例讲解的更多相关文章
- EasyNVR摄像机网页无插件直播方案H5前端构建之:接口调用获取实时信息
背景分析 熟悉EasyNVR产品的小伙伴应该知道,EasyNVR主要针对的是安防类的项目,通过RTSP/onvif协议将前端高清网络摄像机IPC.NVR等接入进来,然后将设备端的音视频通过采集.转换, ...
- EasyNVR摄像机网页无插件直播方案H5前端构建之:bootstrap-datepicker日历插件的实时动态展现
EasyNVR场景需求 基础:不管是城市监控还是园区管理或者是幼儿园监控,这些安防监控需求已经成为我们生活中不可或缺的重要一环,这不仅仅是提升城市管理水平和人民群众安全感的现实需求,也是完善社会治安消 ...
- EasyNVR摄像机网页Chrome无插件视频播放功能二次开发之通道配置文件上传下载示例代码
背景需求 熟悉EasyNVR产品的朋友们都知道,产品设计初期根据整个直播流程层级,我们将EasyNVR无插件直播系统划分为:硬件层.能力层.应用层,连接硬件与应用之间的桥梁,同时屏蔽各种厂家硬件的不同 ...
- 基于EasyNVR摄像机无插件直播方案二次开发实现自己的摄像机IPC-NVR无插件化直播解决方案
背景介绍 在之前的博客中<基于EasyNVR实现RTSP/Onvif监控摄像头Web无插件化直播监控>,对EasyNVR所实现的功能我们已经有较多描述,这些也在方案地址:http://ww ...
- EasyNVR摄像机无插件直播安装使用错误原因解析
背景需求 EasyNVR(www.easynvr.com)摄像机无插件直播流媒体服务器对于互联网的视频直播还是有着一定的贡献的.为了方便用户的体验使用,我们也在互联网上放置了对应的试用版本,并且也会随 ...
- 基于EasyNVR摄像机无插件直播流媒体服务器实现类似于单点登录功能的免登录直播功能
提出问题 EasyNVR是一套摄像机无插件直播的流媒体服务器软件,他可以接入各种各样的摄像机,再经过转化统一输出无插件化直播的RTMP.HLS.HTTP-FLV流,同时,EasyNVR为了数据安全,提 ...
- 基于EasyDarwin框架实现EasyNVR H5无插件直播流媒体服务器方案
在之前的一篇博客<web无插件播放RTSP摄像机方案,拒绝插件,拥抱H5!>中,描述了实现一套H5无插件直播方案的各个组件的参考建议,又在博客<EasyNVR H5流媒体服务器方案架 ...
- 在做RTSP摄像机H5无插件直播中遇到的对接海康摄像机发送OPTIONS心跳时遇到的坑
我们在实现一套EasyNVR无插件直播方案时,选择了采用厂家无关化的通用协议RTSP/Onvif接入摄像机IPC/NVR设备,总所周知,Onvif是摄像机的发现与控制管理协议,Onvif用到的流媒体协 ...
- 基于EasyDarwin开源流媒体服务器框架实现EasyNVR H5无插件直播流媒体服务器方案
背景分析 在之前的一篇博客<web无插件播放RTSP摄像机方案,拒绝插件,拥抱H5!>中,描述了实现一套H5无插件直播方案的各个组件的参考建议,又在博客<EasyNVR H5流媒体服 ...
随机推荐
- pdsh工具的使用
pdsh的全称是parallel distributed shell,与pssh类似,pdsh可并行执行对远程目标主机的操作,在有批量执行命令或分发任务的运维需求时,使用这个命令可达到事半功倍的效果. ...
- gcc的__builtin_函数(注意前面是两个下划线)
说明: GCC provides a large number of built-in functions other than the ones mentioned above. Some of t ...
- Tortoise Git 安装 及报错处理
TortoiseGit安装详解: https://www.cnblogs.com/xinlj/p/5978730.html Tortoise Git 错误处理 disconnected no supp ...
- axure快速上手
Axure RP是一个专业的快速原型设计工具.Axure(发音:Ack-sure),代表美国Axure公司:RP则是Rapid Prototyping(快速原型)的缩写.Axure RP是美国Axur ...
- 清除DNS缓存和刷新DHCP列表
ipconfig /release 只是释放IP地址,然后还需要ipconfig /renew在重新获取一下 如何清除DNS缓存?开始-运行,如下图所示: 在谈出的对话框中输入“cmd”,如下图所示: ...
- LOJ P10015 扩散 题解
每日一题 day49 打卡 Analysis 用dis数组记录每两个点之间的时间,再用一个传递闭包来维护最小的时间就好了 #include<iostream> #include<cs ...
- 洛谷 P1717 钓鱼 题解
每日一题 day46 打卡 Analysis 首先通过题目我们不难发现,为了得到最优解,那么就不能把时间浪费在路上,也就是说不能走回头路.然后很容易可以发现,在每个时刻在不同的鱼塘钓到的鱼的数量是不同 ...
- 白天不懂夜的黑追寻Android规范
有趣有内涵的文章第一时间送达! 喝酒I创作I分享 关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 本篇文章同步微信公众号 欢迎大家关注我的微信公众号:「醉翁猫咪」 生活中总有些东 ...
- 了解Python-白 驹 过 隙 , 忽 然 而 已
白 驹 过 隙 , 忽 然 而 已 人 生 苦 短,我 用 Python -- Life is short , you need Python 代码量少,同一样问题 ,用不同的语言解决时,一般情况下P ...
- GitHub 远程仓库 de 第一次配置
GitHub远程仓库, Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.首先找一台电脑充当服务器的角色, 每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上 ...

