Android tv DRM介绍  ATV drm

DRM技术简介

  DRM(Digital Right Management)是数字权限管理的简称,又可以称为“内容数字版权加密保护技术”,是目前应用最广泛的内容版权保护技术。其主要针对媒体文件在使用过程中的版权保护,打击盗版,保护版权所有者的合法权益。

ATV DRM

Android设计了一个通用的DRM软件框架,不同的DRM解决方案可通过Plugin的方式集成到Android系统中。DRM Framework API模块通过Binder机制和DRMserver进程中的DRM Manager模块通信,DRM Framework API模块是Framework层暴露给App的接口,其中最主要的类是DrmManagerClient。DRM Manager加载并管理系统中所有的DRM插件。媒体播放时,DRM Manager需找到对应的DRM Plugin进行解密。如下图为Android DRM软件框架:

Android TV 有一个比较受欢迎的功能,它可以支持用户将手机里面的电影或者短片等媒体直接投射到电视机上面显示。为了可能安全的传输媒体,Android TV通过Android MediaDrm框架和WebView中的HTML5加密媒体扩展(EME)支持两个主要的DRM - Widevine和PlayReady 。除此之外,Android TV 还要求要支持HDCP2.2 。

playready

ATV设备必须支持PlayReady 2.x安全级别2000 DRM,并且非常推荐支持PlayReady Security Level 3000.

数字版权保护系统(DRM),它可让用户对多种不同设备播放的收费内容交纳单一费用,即在手机、电脑和其他设备上共享受版权保护的内容。 PlayReady基于一种名为“域名”的虚拟环境,人们可在自己的域名中登录多种设备。如果手机运营商、网络服务商或广播商登录了PlayReady,它们的用户即可通过该系统购买内容,然而把内容传输到其他的域名登录设备上。作为一种选择,用户可以将内容多次下载到不同设备上

如何内置playready

1、海思平台

在与微软签署playready 协议之后,可以向海思申请 playready 的补丁:HiSTBAndroidV800R001C00XXXXXX_PlayReady.tar.gz ,每个Android 版本的这个补丁版本也不一样。可根据版本向海思提出要求,海思会根据版本提供对应的补丁包

补丁包拿到之后,需要将补丁合入 主干代码中。由于补丁包中的代码路径与主干代码中的路径相同,添加补丁时,只需要将补丁包中的文件复制到主干代码的根目录中,然后选中合并替换即可。

2、amlogic 平台

在于微软签署协议之后,可由商务向amlogic申请 playready的git下载权限。获得下载权限之后,amlogic会提供下载源码说明文档。主要的操作是:进入SDK vendor amlogic目录,根据不同的Android版本,将playready 代码放置在指定位置即可。

widevine

ATV 设备必须 支持 Widevine,Level 1。

Widevine是google在ICS版本上新推出的一种DRM数字版权管理功能,有这个功能的话,就能从google指定的服务器上,下载经过google加密的版权文件,例如视频、应用等等。

1、海思平台

在与微软签署playready 协议之后,可以向海思申请 playready 的补丁:HiSTBAndroidV800R001C00XXXXXX_widevine.tar.gz ,每个Android 版本的这个补丁版本也不一样。可根据版本向海思提出要求,海思会根据版本提供对应的补丁包

补丁包拿到之后,需要将补丁合入 主干代码中。由于补丁包中的代码路径与主干代码中的路径相同,添加补丁时,只需要将补丁包中的文件复制到主干代码的根目录中,然后选中合并替换即可。

2、amlogic 平台

amlogic widevine 平台一般在SDK下载时候,一并放在SDK中提供客户下载。不需要做其他的操作即可使用。

HDCP 2.2

HDCP(High -bandwidth Digital Content Protection):高带宽数字内容保护技术。HDTV(高清电视)时代即将来临,为了适应高清电视的高带宽,出现了HDMI。HDMI是一种高清数字接口标准,它可以提供很高的带宽,无损地传输数字视频和音频信号。为了保证HDMI或者DVI传输的高清晰信号不会被非法录制,就出现了高带宽数字内容保护技术,即HDCP技术。HDCP技术规范由Intel领头完成。当用户进行非法复制时,该技术会进行干扰,降低复制出来的影像的质量,从而对内容进行保护。

HDCP2.2是目前的一个主流规范,该规范是一种基于硬件的版权保护机制,通常需要硬件、接口及软件均支持该功能。从HDCP版本区分来说,HDCP 2.2更专为保护4K内容不被直接复制而制定的新一代保护协定。基本上如果你要播放受HDCP 2.2保护的影像内容。HDCP 2.2 除了 ATV 机顶盒必须支持之后,接收端,例如电视机也必须支持HDCP2.2的规范。两者有其中一种不支持的话,影像质量都会从4k降低到1080p或者以下质量播放。

hdcp2.2内置,也是必须签署相关协议之后,向芯片厂申请 hdcp2.2 内置的库文件。目前amlogic在9.0 之后需要单独申请hdcp2.2 库, 9.0 之前则不需要单独申请。

烧录key

当然,在内置完毕三个drm的代码或者库之后,仅仅是代表机顶盒有了支持drm的能力。并不代表拥有了drm的权限。需要是drm起作用。还需要向机顶盒中烧录由drm供应商提供的key文件。如hdcp2.2 key等。这个key才是drm的授权证明。

如何验证DRM是否内置成功

验证DRM有各种方式,可以使用带有drm保护的,对应的媒体文件在机顶盒中播放。如果播放成功则代表key内置成功了。

google提供了一个在线的apk,可以一次性验证多个key内置是否成功,是否拥有了对应的drm。这个apk的名字是Exoplayer Demo。界面如下:

操作也较为简单。如需要验证playready 是否支持,可以点击界面中的 Super speed (Playready)选项,他会播放一个在线的playready流,如果可以正常播放十秒以上则代表playready内置成功,其他drm验证方法与此类似,不再赘述。

ATV 开发 三 DRM技术简介相关推荐

  1. ArcGIS Engine 开发 (三)COM技术中的QueryInterface(接口查询)的实现原理和IUnknown接口

    IUnknown IUnknown 接口是组件对象模型(COM)中的基础接口.COM规格书中规定COM对象至少要实现此一接口,而且其他所有的COM接口都需要派生自IUnknown接口. IUnknow ...

  2. 《AR与VR开发实战》——第1章AR技术简介

    本节书摘来自华章出版社<AR与VR开发实战>一书中的第1章,第1.1节,作者 张克发 赵兴 谢有龙,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第1章 AR ...

  3. 腾讯再开源三项技术,提升企业开发及运营效率

    (2019年4月11日,深圳)在腾讯内部,工程师文化依然是主流,鼓励用代码.用技术说话--"talk is cheap, show me the code."而其中优质的技术,也正 ...

  4. 《自然语言处理实战入门》 第三章 :中文分词原理及相关组件简介 ---- 语言学与分词技术简介

    文章大纲 0.内容梗概 1. 汉语语言学简介 1.1 汉语与汉字的起源 1.2 汉字的统一与演变 1.3 印欧语系与汉藏语系 1.4 语言区别对于NLP 的影响 2. 词汇与分词技术简介 2.1 汉语 ...

  5. 移动APP开发的三种技术对比

    目前来说主流的App开发方式有三种:Native App .Web App.Hybird App.下面我们来分析一下这三种App开发方式的优劣对比: 一 :Native App 即 原生App开发 优 ...

  6. java swing 技术简介,javaswing开发简介

    本文介绍了利用 Java3D技术并结 合 Sw ing技术实现的 3D组件开发 ,并以石油数值模拟软件中 的应用为例体现了该组件具有的优势 . 图 1 3D 组件设计流程图 明...... Java ...

  7. python云计算开发技术_云计算开发学习笔记:Python3 面向对象技术简介

    来源:TechWeb.com.cn Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以 ...

  8. 【字节码插桩】AOP 技术 ( “字节码插桩“ 技术简介 | AspectJ 插桩工具 | ASM 插桩工具 )

    文章目录 一." 字节码插桩 " 技术简介 二.AspectJ 插桩工具 三.ASM 插桩工具 一." 字节码插桩 " 技术简介 性能优化 , 插件化 , 热修 ...

  9. 敏捷软件开发(Agile Software Development)简介之:什么是敏捷软件开发?

    http://www.ruby-lang.org.cn/read--tid-604.html 敏捷软件开发(Agile Software Development)简介之:什么是敏捷软件开发? 本文部分 ...

  10. java相关技术简介_java技术简介?

    java技术简介? 关注:186  答案:3  信息版本:手机版 电脑版 解决时间 2021-01-17 11:41 提问者坟地里唱嗨歌 2021-01-17 01:04 java技术简介? 最佳答案 ...

最新文章

  1. CAXA电子图板2020中文版
  2. java调用sql返回list_Hibernate执行原生SQL返回ListMap类型结果集
  3. U-Boot 之三 U-Boot 源码文件解析及移植过程详解
  4. oracle where in优化,【求助】为什么在where过滤条件中使用in这样子查询后速度变的非常慢?!...
  5. ES6-10 super、4种遍历方式、原型、symbol遍历
  6. 实验5 编写、调试具有多个段的程序
  7. php 10060,远程连接mysql 10060错误
  8. 【Elasticsearch】Elasticsearch:Searchable snapshot - 可搜索的快照
  9. Android通过泛型简化findViewById类型转换
  10. php打开retmsg,PHP截取发动短信内容的方法
  11. php操作mysql数据_详解PHP操作MySQL数据库
  12. android jar包下载地址
  13. 寻找(下载)微信音频文件
  14. 【Python网络爬虫实战篇】关于在青果教务网络管理系统爬取学生成绩的分析及代码展示——以郑州轻工业大学(zzuli)教务网络管理系统为例
  15. html站点文件命名规范,HTML文件命名规范大全
  16. 一个计算机专业女孩的求学之路——七年之痒,痒之感悟
  17. php strict,PHP 5.4中的E_STRICT和E_ALL有什么区别?
  18. nodejs之utility,crypto使用
  19. 推荐:碎碎念情境记忆法——最适合程序员的背单词方法
  20. python中util是哪个包_使用Python的package机制如何简化utils包设计详解

热门文章

  1. android修改机型cpu,mac,androidid....
  2. numpy_multiply函数
  3. 数据库课程设计 论坛系统—— 系统详细设计说明书
  4. SpringCloud
  5. CSS字体和文本相关
  6. 【数学建模】2 TOPSIS优劣解距离法
  7. 如何用java语言编写小游戏?(一)
  8. H3CSE路由-路由策略
  9. SP namespace (sp.js)
  10. 移动办公OA系统选型的任何疑问,这篇文章帮您搞定!