zoukankan      html  css  js  c++  java
  • 基于EasyNVR摄像机无插件直播流媒体服务器实现类似于单点登录功能的免登录直播功能

    背景分析

    EasyNVR是一套摄像机无插件直播的流媒体服务器软件,它不拘泥、不受限于摄像机的品牌厂商及其配套平台,只要是网络监控摄像机IPC、硬盘录像机NVR、且设备支持标准的RTSP/Onvif协议,都可以接入实时视频流进入EasyNVR系统进行直播、录像、检索与回放服务。 经过转化统一输出无插件化直播的RTMP、HLS、HTTP-FLV流,为了保证数据安全,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是一款拥有完整、自主、可控知识产权,同时又能够具备软硬一体功能的安防互联网化流媒体服务器,能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP、Onvif协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发。详情可访问EasyNVR官网:http://www.easynvr.com
    EasyNVR知识产权

  • 相关阅读:
    怎样快速学会ZBrush 中的移动笔刷的运用
    ZBrush中如何才能快速完成脸部雕刻(下)
    ZBrush中如何才能快速完成脸部雕刻(上)
    ZBrush中的Clip剪切笔刷怎么快速运用
    ZBrush中必须记住的常用快捷键
    怎么在ZBrush中渲染漫画风格的插画
    怎么运用ZBrush中的Z球制作身体部分
    ZBrush中的笔刷该怎样制作
    如何在ZBrush中添加毛发
    App交互demo
  • 原文地址:https://www.cnblogs.com/EasyNVR/p/10847324.html
Copyright © 2011-2022 走看看