基于EasyNVR摄像机无插件直播流媒体服务器实现类似于单点登录功能的免登录直播功能
提出问题
EasyNVR是一套摄像机无插件直播的流媒体服务器软件,他可以接入各种各样的摄像机,再经过转化统一输出无插件化直播的RTMP、HLS、HTTP-FLV流,同时,EasyNVR为了数据安全,提供了鉴权功能,可以配置成只有登录后才能直播观看:

但这个时候问题又来了,很多企业用户的需求是简单观看需要,数据安全也需要,简易开发更需要,这个时候就需要一套类似于单点登录这种简易登录鉴权模式,让基本的安全和功能都得到保障,于是,我们有EasyNVR的企业用户就提出了建议:
1、流媒体访问规范
Html方式,支持Chrome,IE等主流浏览器。
2、提供单通道观看
提供单通道无控件WEB视频访问页面,传递参数为摄像头ID
http://IP:33360/video/view.html?cameraid=xxx&token=xxx
3、提供全市所有视频的访问列表页面
http://IP:33360/video/index.html?token=xxx
4、提供对省级管理平台后台单点登录
在省级平台访问时,不需要再次登录。通过token值判断登录情况,token为EasyNVR"用户名+密码"进行加密完成,当token匹配直接通过系统权限验证。
分析问题
我们大概捋了一下上述的需求,基本主旨是基于EasyNVR输出的能力接口进行二次开发,屏蔽点击登录这一步,那么如何做到这一步呢,实际可以采用隐式登录的方式,举例:
- 第一步:比如EasyNVR的登录用户名密码分别是admin/admin,那么我们将“admin:admin”进行base64 encode编码成为:“YWRtaW46YWRtaW4”,那么这个编码后的字符串即为这次我们需要用到的token;
- 第二步:自定义view.html页面(或者直接改造EasyNVR的play.html页面),当用户访问http://IP:33360/video/view.html?cameraid=xxx&token=YWRtaW46YWRtaW4 时,我们将QueryString中的token首先进行base64 decode解码成“用户名:密码”的组合"admin:admin";
- 第三步:在自定义view.html页面中开始调用EasyNVR能力接口,一旦EasyNVR返回401未鉴权的错误码时,立即使用第二步base64解码出来的用户名:密码调用login接口进行登录,成功后,再继续根据cameraid进行直播、录像回放、云台控制等其他能力的调用;
- 第四步:同理,在列表页面“http://IP:33360/video/index.html?token=xxx” 也采用同样的流程方式;
按照以上的几个步骤,实际就是在EasyNVR的外面,再包了一层壳,让后续的开发者能用更加更简单的方式就可以参考和集成了;
上述步骤我们采用对用户名密码以base64编码的方式进行传输,可能安全性较低,用户很简单就可以获取到密码原文,我们也可以将“用户名:密码”的原始组合,换成“用户名:md5(密码)”的方式,这样密码原文就不会被抓取到了,view.html页面在做鉴权的时候,就省去密码md5这一步,直接调用login接口即可;
问题扩展
第三方登录:按照上述的token传值方式,实际EasyNVR还可以做类似于微博登录、QQ登录这种authToken第三方登录的功能,当然这个就复杂了,后续EasyNVR也会推出的;
单点登录:当同一个企业需要管辖的EasyNVR设备比较多的时候,如果每一个EasyNVR现场的密码都要单独再记录一次,就会显得比较麻烦,如果有一个superadmin超级管理员,超级管理员登录后,就不需要再一一登录各个EasyNVR了,这种方式后面会在我们的EasyNVS管理平台带上,屏蔽各种下级的密码,直接超级权限单点登录,即可调用全局能力;
关于EasyNVR
EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;
点击链接加入群【EasyNVR解决方案】:383501345
Copyright © EasyDarwin Team 2012-2018
基于EasyNVR摄像机无插件直播流媒体服务器实现类似于单点登录功能的免登录直播功能的更多相关文章
- 基于EasyNVR摄像机无插件直播方案二次开发实现自己的摄像机IPC-NVR无插件化直播解决方案
背景介绍 在之前的博客中<基于EasyNVR实现RTSP/Onvif监控摄像头Web无插件化直播监控>,对EasyNVR所实现的功能我们已经有较多描述,这些也在方案地址:http://ww ...
- EasyNVR摄像机无插件直播安装使用错误原因解析
背景需求 EasyNVR(www.easynvr.com)摄像机无插件直播流媒体服务器对于互联网的视频直播还是有着一定的贡献的.为了方便用户的体验使用,我们也在互联网上放置了对应的试用版本,并且也会随 ...
- EasyNVR摄像机无插件直播流媒体服务器前端构建之输入框样式的调整
EasyNVR授权方式分为软件的授权和硬件授权两种方式,软件授权需要在软件输入永久邀请码可以激化永久授权 起初我们的界面设计是为了满足功能的需求就是 ,用户可以输入激活码提交,完成永久授权. 在实际的 ...
- EasyNVR摄像机无插件流媒体服务器对所在操作系统配置的需求
背景需求 随着EasyNVR使用的用户越来越多,用户在使用过程中的常见问题我们也做出了一定的总结,以及在升级到3.0版本之后,我们的启动方式和配置 功能也有了一些改变.因此在此做出一些总结. 对于Ea ...
- EasyNVR摄像机无插件直播进行摄像机云台控制的接入及调用详解
EasyNVR云台接入及控制详解 摄像机云台控制在摄像机当中很常见摄像机能将当前状态下云台的水平角度.倾斜角度和摄像机镜头焦距等位置参数存储到设备中,需要时可以迅速调用这些参数并将云台和摄像头调整至该 ...
- EasyNVR摄像机无插件直播如何排查视频广场不在线
通道配置完成进入视频广场监控通道显示不在线 保证RTSP视频流地址是否可用,推荐用VLC先测试地址是否可用.(注意:软件本身只支持标准的RTSP视频流地址.) 如果是刚配置完需要等大概几秒左右有的网络 ...
- EasyNVR摄像机无插件直播按需RTSP拉流播放流程详解
1.背景需求 有许多客户现场,有许多设备但是不需要一直向设备端取视频流,因为在用户不观看的情况下,还在获取视频资源,一方面大大的浪费了网络带宽资源,一方面对设备服务器要求也较高,用户成本就要提高,这是 ...
- 基于EasyNVR摄像机流媒体服务器实现RTSP或Onvif监控摄像头Web无插件化直播监控
前言介绍 随着互联网的发展,尤其是移动互联网基于H5.微信的应用越来越多,企业也更多地想基于H5.微信公众号来快速开发和运营自己的产品,而传统的安防IPC所输出的各种RTSP.GB28181.SDK视 ...
- 搭建nginx服务器和直播流媒体服务器
1.nginx简单说明 ① Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强. ...
随机推荐
- SEO优化100条
1.准备个好域名.①.尽量在5位数内,当然也不一定,反正要让用户好记.(看个人):②.尽量用顶级的域名,搜索排名感觉好一点.③.做中文站最好用拼音注册,不要问为什么.看百度(baidu.com)就是很 ...
- pcap学习
#include <pcap.h> char errbuf[PCAP_ERRBUF_SIZE]; pcap_t *pcap_open_live(const char *device, in ...
- 网页视频播放方案chimee 组件使用
1.概述 鉴于目前 H5-Video 在 Web 生态环境中存在较大差异化(兼容性)的表现,本文主要介绍使用奇舞团开发chimee 组件进行视频播放的用法. chimee 组件地址: http://c ...
- 我对GFWed的一些自己的见解
首先来听听维基百科对GFWed的说明 防火长城(英语:Great Firewall of China.经常使用简称:GFW,中文也称中国国家防火墙或防火长城[1],中国大陆民众俗称防火墙[2].功夫网 ...
- 【Excle】文本日期转化为日期格式
现存在一列文本格式的日期 需要将该列转化为日期格式 方法一:使用分列 数据→分列,第三步选择[日期] 方法二:使用text函数 公式得到的结果为: 但是这样转化后的是文本型日期,需要转化为日期型得先转 ...
- PHP-Header缓存策略
Expires.Cache-Control.Last-Modified.ETag 是RFC 2616(HTTP/1.1)协议中和网页缓存相关的几个字段.前两个用来控制缓存的失效日期,后两个用来验证网页 ...
- html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式
先上代码 <script type="text/javascript" language="javascript"> var idTmr; ...
- usb转串口模块下载时遇到的问题
ch340g usb转TTL模块,烧写wifi模块ESP8266固件时,为图省事,我直接用的该模块的3.3v电为wifi模块供的电,结果刚一上电就出现串口模块消失(听到噔的一声),电脑设备管理器里就看 ...
- 谈谈varnish,squid,apache,nginx缓存的对比
总是有人在问cache用什么,有varnish,squid,apache,nginx这几种,到底是我们用什么架构cache. 1.从这些功能上.varnish和squid是专业的cache服务,而ap ...
- sqlserver获取当月、年的第一天和最后一天
-- 当月第一天select dateadd(month, datediff(month, 0, getdate()), 0) -- 当月最后一天(思路:下月的第一天减去一天)select datea ...