发布于 2017-01-23 03:47:34
如果使用的是透明密钥,则使用密钥服务器列表配置播放机。播放机向密钥服务器(请求在这种格式中)发出JSON请求,密钥服务器提供“许可”-- 包含Base64 64编码的对称密钥和keyId的JSON响应。然后使用该对称密钥解密内容。
更新
要将密钥ID与要用ClearKey调试的不受保护的内容键关联起来,请为drm.clearKeys提供一个JSON元素,该元素使用十六进制编码的keyId(s)作为映射的“密钥”,“值”是十六进制编码的内容加密密钥。
player.configure({
drm: {
clearKeys: {
'deadbeefdeadbeefdeadbeefdeadbeef': '18675309186753091867530918675309',
'02030507011013017019023029031037': '03050701302303204201080425098033'
}
}
});在加密媒体文件时或在伴随它的清单文件中,将相同的keyId与媒体文件关联。
用mp4split加密媒体文件
#!/bin/bash
KID=10000000100010001000100000000001
CEK=3a2a1b68dd2bd9b2eeb25e84c4776668
LAURL="http://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&UseSimpleNonPersistentLicense=1"
PSSH=YOUR_PSSH
mp4split --package_mpd -o audio.mp4 \
--iss.key=${KID}:${CEK} --iss.license_server_url=${LAURL} \
--widevine.key=${KID}:${CEK} --widevine.drm_specific_data=${PSSH} \
oceans-64k.mp4
mp4split --package_mpd -o video-1.mp4 \
--iss.key=${KID}:${CEK} --iss.license_server_url=${LAURL} \
--widevine.key=${KID}:${CEK} --widevine.drm_specific_data=${PSSH} \
oceans-250k.mp4
mp4split --package_mpd -o video-2.mp4 \
--iss.key=${KID}:${CEK} --iss.license_server_url=${LAURL} \
--widevine.key=${KID}:${CEK} --widevine.drm_specific_data=${PSSH} \
oceans-380k.mp4对于webm_crypt,文档非常粗略,但我相信它是用-video_options中的content_id=0123456789ABCDEF命令行标志完成的。
foo@bar-linux:~/chromium_code/webm_crypt/webm_crypt$ ./webm_crypt
-i mediafiles/Chrome_44_5sec-chunks_video_only.webm -video true -audio false
-video_options base_file=bear.key,content_id=0123456789012345
-o /home/foo/www/no_crawl/eme/media/Chrome_44_5sec-chunks_video_only-enc_v_0123456789012345.webm https://stackoverflow.com/questions/41758639
复制相似问题