前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于EasyNVR摄像机无插件直播流媒体服务器实现类似于单点登录功能的免登录直播功能

基于EasyNVR摄像机无插件直播流媒体服务器实现类似于单点登录功能的免登录直播功能

作者头像
EasyNVR
发布2020-04-23 16:22:48
7190
发布2020-04-23 16:22:48
举报
文章被收录于专栏:EasyNVREasyNVR

背景分析

EasyNVR是一套摄像机无插件直播的流媒体服务器软件,它不拘泥、不受限于摄像机的品牌厂商及其配套平台,只要是网络监控摄像机IPC、硬盘录像机NVR、且设备支持标准的RTSP/Onvif协议,都可以接入实时视频流进入EasyNVR系统进行直播、录像、检索与回放服务。 经过转化统一输出无插件化直播的RTMP、HLS、HTTP-FLV流,为了保证数据安全,EasyNVR还提供了鉴权功能,可以配置成只有登录才能直播观看,如下图:

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

EasyNVR稳定可靠
EasyNVR稳定可靠
EasyNVR场景一
EasyNVR场景一

平安工地

EasyNVR场景二
EasyNVR场景二

智慧校园

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景分析
  • 问题需求
  • 分析问题
  • 问题扩展
  • EasyNVR应用场景
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档