最近一个月一直要研究基于MSMediaServer与DRM 结合的问题,主要用途为架设一个流媒体网站,网站最重要的功能为对视频的保护。

于由我开始研究何种技术能对视频加密与解密。最初我确定的三种方案:

第一种:种用微软的DRM加密方式,该方式需要架设专门的证书服务器,其原理为用证书对视频进行加密打包,因为打包后的视频会在视频的头部加一个校验头,可以到固定的证书分发页面请求证书,这种方式原于很多年前算是一种过时了的技术,而且需要每年够买微软的证书,但对了视频的保护算是一种比较好的解决方式。不足之处是只能使用Media Player播放器,播放视频。

第二种:采用微软的PlayReadly方式,该方式应该是DRM的升级版。该服务比较强大可以支持移动视频加密而且可以和Silverlight完美结合。但是可惜的是目前我也没有看见过这东西。至少中国微软这边还没有开始买这东西,之前听说微软研究院那边之前用它为电信做了一个解决方案。

第三种:基于自己编码编码解码器,这种方式需要通过C或纯语言编写编码解码器,另外需要配合ActiveX让客户端在浏览器中能够解码。但是由于开发工期短,没有选择这种方式。

最终由于种种原因我们选择第一种方式:

在实施过程我们发现一个比较大的问题DRM证书服务器在分布证书响应时间是一个比较慢长的过程,应该是在S级吧。所以在一个大型视频网站同,这种的影响速度是肯定不行的,我通过做LB也不行,因为证书的加密解密是对称的,你通过那个证书加密就只能通过那个证书解密,解密的过程与解密服务器是有关系的。所以对于做LB是一个比较大的挑战。

最后我们分析DRM整个过程

打包:原始视频-》打包(添加证书的Challege到视频头部)-》生成DRM加密视频

解密:DRM加密视频通过Media Player播放器请求解密页面-》页面接收Challege字符串-》通过本地证书解密并生成Public Licesen-》返回客户端-》通过JS安装证书-》播放

由于我们开始在生成证书环节开始作文章,我用采用的预发证书方式与实施证书分发方式。

预发证书方式:我们通过Windows Services方式将证书预生成并存放在数据库中。用户访问时从数据读取。

实时方式:用户请求一次,分发一种证书方式。

最后通过这种方式解决了用户的需求与大用量的需求。

转载于:https://www.cnblogs.com/MrHiFiy/archive/2012/04/01/2429170.html

关于架设流媒体服务器与DRM加密问题相关推荐

  1. 如何架设流媒体服务器

    一.前言 随着越来越多的朋友开始选择ADSL.Cable Modem或FTTB+ LAN作为首要的上网方式,宽频时代即将到来,这使我们"宽频 KTV.影音聊天室.线上电影院.远程教育&quo ...

  2. srs可以用java开发吗,为SRS流媒体服务器添加HLS加密功能(附源码)

    #为SRS流媒体服务器添加HLS加密功能(附源码)# 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的 ...

  3. 架设流媒体服务器[转]

    使用免费UMS架设Flash流媒体服务 随着Adobe公司的Flash播放器的普及(根据Adobe官方数据,Flash播放器装机量已高达99%以上),越来越多的网络视频开始采用Flash播放器作为播放 ...

  4. 搭建直播平台过程中的全能“辅助”——流媒体服务器

    直播在经历了爆发式增长后,在互联网领域中呈现出稳步增长的状态.前期观望许久的创业开发者们认为"火候到了",纷纷开始将搭建直播平台项目提上日程.对于平台搭建来讲,流媒体服务器是必不可 ...

  5. 搭建直播平台过程中的全能“辅助”——流媒体服务器...

    直播在经历了爆发式增长后,在互联网领域中呈现出稳步增长的状态.前期观望许久的创业开发者们认为"火候到了",纷纷开始将搭建直播平台项目提上日程.对于平台搭建来讲,流媒体服务器是必不可 ...

  6. 使用Nginx架设高性能流媒体服务器

    前言* 随着Nginx 大量被各互联网公司使用,常见的Nginx 用来做反向代理WEB 服务器.缓存服务器,nginx 应用很广泛,今天我们来研究一下使用Nginx架设高性能流媒体服务器 . 一. 系 ...

  7. linux流媒体服务器架设

    信息来源:http://www.hackfree.net/ Linux流媒体服务器架设!安装环境:硬件环境:赛扬1.1+ 256M 内存软件环境:图型界面redhat9.0+helix9.03 for ...

  8. 手机流媒体服务器架设指南

    本文介绍如何快速的搭建符合3GPP标准的流媒体服务器,并能用手机内置的播放器(如realplayer)进行点播.对目前主流的REAL  Helix和APPLE darwin分别介绍. 1. HELIX ...

  9. 流媒体服务器架设及RMVB制作教程(转)

    本教程主要针对网吧用户,仅以个人经验阐述,如有不准确之处,敬请高手指正. 目录: 1--HelixServer的安装及汉化破解 2--HelixServer的初级设置 3--HelixServer之I ...

最新文章

  1. 从概念到应用,终于有人把数据挖掘讲明白了
  2. POJ1564 Sum It Up(DFS)
  3. java httpinvoker漏洞_Spring HttpInvoker 服务端安全验证的和客户端请求配置
  4. 配置CAS应用客户端
  5. 学习iBatis时的一个苦逼经历
  6. 【Qt】New Features in Qt 5.15
  7. 学习笔记之-Activiti7工作流引擎,概述,环境搭建,类关系图,使用Activiti BPMN visualizer,流程变量,组任务 网关,Activiti整合Spring SpringBoot
  8. COSCon'20 Apache Roadshow- China 精彩收官 | 数据篇
  9. 计算机在线应用分为,在线计算器的分类和使用方法
  10. 用法 the_英语冠词:不定冠词a,an和定冠词the的用法
  11. 实例分割和语义分割使用labelme制作的数据集如何转换为voc和coco格式的数据
  12. Mysql Too many connections解决方案
  13. Android随笔-include、merge、ViewStub
  14. BAT算法工程师的成长之路,超详细的学习路线
  15. Python包导入时重命名
  16. Tivoli TSM产品功能详述
  17. excel对同一个单元格中的内容去重
  18. setHeader的参数种类
  19. c语言程序设计教程上机报告,华中科技大学标准C语言程序设计上机试题、答案及报告格式...
  20. 长期表现决定了最终结果--leo看赢在中国第三季(8)大结局

热门文章

  1. java聚合_Java™ 教程(聚合归纳操作)
  2. multisim页面不够大_微信订阅号页面改版,iOS 14.2存在严重耗电问题,贾跃亭再成被执行人,特斯拉回应被判欺诈,这就是今天的其他大新闻!...
  3. 在Ubuntu 18.04中更改时区
  4. Python Tkinter教程–第1部分
  5. easymock参数_EasyMock捕获参数
  6. angularjs双向绑定_AngularJS隔离范围双向绑定示例
  7. 使用zk可以实现Master选举,实现原理是什么?
  8. 教你前端面试技巧,教你如何涨薪!
  9. 游戏开发需要掌握的法则有哪些?
  10. qml中对于动态遮照效果的封装