[DESCRIPTION]
主要介紹mtk支持的DRM Widevine Level; WV與DRM feature option的開關;play movies play videos popups couldn't fetch license (error 43)html
[SOLUTION]java
1、DRM 基本信息:android
1. MTK DRM support Level:app
OMA DRM V1.0
Widevine L3.ide
2. OMA DRM support MIME format:測試
a. DRM content MIME:fetch
application/vnd.oma.drm.content ---- .dcf
application/vnd.oma.drm.message ---- .dmui
b. 權限文件的MIME:google
application/vnd.oma.drm.rights+wbxml ---- .drc
application/vnd.oma.drm.rights+xml ----- .drspa
c. MTK支持的非DRM protected的Image/Audio/Video格式,DRM就支持此media格式。DRM只是作了權限控制而已,DRM能支持的media格式就是Decoder能支持的格式。
3. OMA DRM support types:
Default support ForwardLock, Combined Delivery, Seperate Delivery,
ForwardLock_SeperateDelivery Total 4 types.
2、WV與OMA的feature option
Please follow the description section 2.3 below:
1 Introduction
Currently on JB SW packages, we've got 2 DRM features supported: OMA DRM v1.0 and Widevine DRM Level 3. By default these 2 DRM features are enabled.
This document describes how to disable these 2 features separately, or both.
2 Steps
2.1 Disable Widevine DRM Level 3 but keep OMA DRM v1.0 enabled
>> Define "MTK_WVDRM_SUPPORT=no" in your source file:
[alps/mediatek/config/$project/ProjectConfig.mk]
This overrides the default value.
>> Fully remake your software codebase.
2.2 Disable both Widevine DRM Level 3 and OMA DRM v1.0
>> Define "MTK_WVDRM_SUPPORT=no" and "MTK_DRM_APP=no" in your source file:
[alps/mediatek/config/$project/ProjectConfig.mk]
This overrides the default value.
>> Fully remake your software codebase.
2.3 Disable OMA DRM v1.0 but keep Widevine DRM Level 3 enabled
>> Define "MTK_DRM_APP=no" in your source file:
[alps/mediatek/config/$project/ProjectConfig.mk]
This overrides the default value.
>> Find the source file:
[alps/packages/providers/DrmProvider/src/com/android/providers/drm/BootCompletedReceiver.java]
In the overridden method "public void onReceive(...)", you shall find an "if (FeatureOption.MTK_DRM_APP) {...}" judgment part. Remove the "if" judgment so that those code can be executed at boot-up time.
>> You also need to make sure some utility libraries are installed on
device.
Find the source file:
[alps/build/target/product/common.mk]
You shall then find the following part:
--------------------------------------------------------------------------
--
ifeq ($(strip $(MTK_DRM_APP)),yes)
PRODUCT_PACKAGES += \
libdrmmtkplugin \
drm_chmod \
libdcfdecoderjni
endif
--------------------------------------------------------------------------
--
Modify it as below to make sure "libdrmmtkplugin" & "libdrmmtkutil.so" is installed on device when "MTK_DRM_APP" is disabled.
--------------------------------------------------------------------------
--
PRODUCT_PACKAGES += libdrmmtkplugin
ifeq ($(strip $(MTK_DRM_APP)),yes)
PRODUCT_PACKAGES += \
drm_chmod \
libdcfdecoderjni
endif
--------------------------------------------------------------------------
--
>> Fully remake your software codebase.
3、打開FL_ONLY的方法
You'll need to add "PRODUCT_PROPERTY_OVERRIDES" definition in order to set system property which enables "Forward-lock-only".
For example, you may modify the file: alps/build/target/product/common.mk And add the following, which add the system property
[drm.forwardlock.only], and set its value:
ifeq ($(strip $(MTK_DRM_APP)),yes)
PRODUCT_PROPERTY_OVERRIDES += \
drm.forwardlock.only=true
endif
Then it will disable the support for CD/SD of OMA DRM v1.0 feature.
4、OMA drm 測試網址
http://202.108.92.230
5、DRM專利問題
OMA不涉及到什麼權限專利的問題, widevine見下面一點。
6、Widevine白名單問題
Widevine若是是要播google play store上的視頻,須要加入google白名單,與google籤協議。
log中有couldn't fetch license (error 43)的字樣,表示是此問題。
如下引用Google早前答覆的內容:
「...the devices must be offcially approved in order to be whitelisted and,therefore, be able to access the production WV contents. ...(one of the OEM) is our partner and they are not supposed to have Google Play in the first place. Please let them know they cannot use Google Play without license.」
文章轉自×××論壇,原文連接:http://bbs.×××/thread-53861-1-1.html