首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用透明密钥加密webm文件,与Google的Shaka播放器玩?

如何使用透明密钥加密webm文件,与Google的Shaka播放器玩?
EN

Stack Overflow用户
提问于 2017-01-20 07:55:59
回答 1查看 2.8K关注 0票数 3

我正在开发一个小型系统,它将用于使用MSE/EME在web上传输受保护的内容。

这是我正在使用的一些工具:

我可以创建.webm文件,并将它们打包使用shaka-packager到mpd文件,以便提供给沙卡-播放器。但是在清除沙卡文档中的关键部分之后,我必须加密webm文件,这需要一对KeyIdKey。通过使用webm_crypt,我可以通过跟踪关于2.2.7的本文件创建加密的内容,但是我不知道如何获得shaka-player DRM系统的密钥对。

EN

Stack Overflow用户

发布于 2017-01-23 03:47:34

如果使用的是透明密钥,则使用密钥服务器列表配置播放机。播放机向密钥服务器(请求在这种格式中)发出JSON请求,密钥服务器提供“许可”-- 包含Base64 64编码的对称密钥和keyId的JSON响应。然后使用该对称密钥解密内容。

更新

要将密钥ID与要用ClearKey调试的不受保护的内容键关联起来,请为drm.clearKeys提供一个JSON元素,该元素使用十六进制编码的keyId(s)作为映射的“密钥”,“值”是十六进制编码的内容加密密钥。

代码语言:javascript
运行
复制
player.configure({
  drm: {
    clearKeys: {
      'deadbeefdeadbeefdeadbeefdeadbeef': '18675309186753091867530918675309',
      '02030507011013017019023029031037': '03050701302303204201080425098033'
    }
  }
});

在加密媒体文件时或在伴随它的清单文件中,将相同的keyId与媒体文件关联。

用mp4split加密媒体文件

代码语言:javascript
运行
复制
#!/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命令行标志完成的。

代码语言:javascript
运行
复制
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_01234567‌​89012345.webm 
票数 6
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41758639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档