2017-03-06 92 views
0

我一直试图在ShakaPlayer中播放加密的.WEBM媒体文件,但没有取得太大的成功,我在这里寻求来自任何通过此操作的人的建议。如果这个真棒开发者社区中的某个人可以在这里指导我,那将是非常棒的。沙加播放器中的加密.webm视频文件的DASH播放

回合1 - 我想什么(编码&虚线):

  • 编码的MP4文件,多流视频.WEBM(VP9)& 单流音频.WEBM(Vorbis格式)文件使用FFMPEG。
  • 与WEBM_TOOLS/WEBM_DASH_MANIFEST创建DASH MANIFEST.MPD文件

结果:我能够在沙卡播放器来播放没有任何问题。

回合2 - 我想什么(编码,加密&虚线):

  • 编码的MP4文件,多流视频.WEBM(VP9)&单流音频.WEBM( Vorbis)文件使用FFMPEG。

  • 加密生成.WEBM文件与WEBM_TOOLS/WEBM_CRYPT

  • 与WEBM_TOOLS/WEBM_DASH_MANIFEST

    创建DASH MANIFEST.MPD文件

结果:我不知道我应该怎么玩这个内容在Shaka Player中。在哪里以及如何向Shaka Player提供上述步骤2中生成的.key文件。我想在浏览器上使用带有CENC的Clearkeys。我不想编码为多流.MP4,但只有.WEBM。

非常感谢!

回答

0

如果您只想测试内容,那么您可以直接在Shaka播放器中配置清除密钥。从他们的文档在https://github.com/google/shaka-player/blob/master/docs/tutorials/drm-config.md

player.configure({ 
    drm: { 
    clearKeys: { 
     'deadbeefdeadbeefdeadbeefdeadbeef': '18675309186753091867530918675309', 
     '02030507011013017019023029031037': '03050701302303204201080425098033' 
    } 
    } 
}); 

如果你想有玩者的请求从密钥服务器,它是像一个典型的DRM互动的钥匙,那么你需要有一个许可证服务器(密钥服务器),您请求密钥。如果所有你想做的都确保你正确地打包和加密内容,那么你并不需要这样做 - 上面的本地clearkey配置可能会对你有用。

+0

嗨米克,谢谢你的回复!我已经使用webm_crypt(https://github.com/webmproject/webm-tools/tree/master/webm_crypt)来加密.webm文件,同时它会生成一个.key文件(如这里所述http:// wiki.webmproject.org/zz-obsolete/instructions-to-playback-a-webm-dash-presentation)。如果我必须使用上面提到的ClearKeys,那么我应该如何加密我的.webm文件?请告知 –

+0

这些说明有点过时,但不幸的是似乎没有更新的版本。您能否包含您生成的密钥文件的示例(不是您实际使用的文件!),以便我们快速查看并帮助将其映射到shaka DRM配置? – Mick

+0

嗨米克,非常感谢您的回复!我创建了一个名为enc.key的文件,其中包含以下行:'mykey = mykeyvalue'。然后我用这个命令加密编码webm文件:'webm_crypt -i video_640x360_750k.webm -o video_640x360_750k_encrypted.webm -video_options base_file = enc.key'我觉得我不应该使用webm_tools/web_crypt,而应该使用shaka-packager代替。我也会尝试使用它。 –