chromecast sdk声明支持Widevine内容。通过测试,我确定在chromecast设备上运行的浏览器中未安装Widevine浏览器插件。知道了,如何使用chromecast sdk播放宽幅视频内容?我正在尝试使用子类化MediaProtocolMessageStream的路径,并试图弄清楚需要将哪些ContentMetaData传递给loadMedia()。任何指导都会很棒!
最佳答案
当前,您必须从头开始编写自己的(javascript)播放器,以支持DRM内容,包括Widevine。 chrome浏览器(在Chromecast设备中)支持EME,因此您可以利用它。
为了进一步说明,这是一个需要进行的非常高层的过程:您需要为video元素注册一个侦听器,以获取“ needkey”事件,该事件在浏览器检测到受保护的内容时将触发。然后,您必须调用video.generateKeyRequest(..)并传递适当的“密钥系统”和“初始化数据”(initData)。 needkey事件包含initData,但应用程序可以在调用generateKeyRequest()之前对其进行修改。浏览完内容解密模块(CDM)后,浏览器将触发“ keymessage”事件,该事件包含应用程序需要捕获并发送到许可证服务器的请求密钥。如果一切顺利,许可证服务器将返回一个密钥,然后应通过调用video.addKey()将应用程序传递给浏览器。浏览器会将此密钥传递给内容解密模块(CDM),以用于解密传递给它的帧。
关于android - Widevine视频播放,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19215296/