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验证方法与此类似,不再赘述。