React native 在IOS和Android上使用Flatter/React本机播放DRM内容

React native 在IOS和Android上使用Flatter/React本机播放DRM内容,react-native,flutter,drm,widevine,playready,React Native,Flutter,Drm,Widevine,Playready,我正在搜索任何能够在IOS和Android上播放DRM内容的解决方案。我想开发一个跨平台的解决方案,可以播放受DRM保护的内容,无论是Widevine还是playready 对于颤振没有任何解决方案,所以我切换到RN 对于React Native,我刚刚发现Exoplayer能够播放widevine,但没有Playready DRM内容 也许你们中的某个人可以帮我找出,我是如何在两个平台上都做到这一点的 最好的祝愿要播放受特定DRM方案保护的加密内容,您需要在设备或浏览器上支持该DRM方案 一般

我正在搜索任何能够在IOS和Android上播放DRM内容的解决方案。我想开发一个跨平台的解决方案,可以播放受DRM保护的内容,无论是Widevine还是playready

对于颤振没有任何解决方案,所以我切换到RN

对于React Native,我刚刚发现Exoplayer能够播放widevine,但没有Playready DRM内容

也许你们中的某个人可以帮我找出,我是如何在两个平台上都做到这一点的


最好的祝愿

要播放受特定DRM方案保护的加密内容,您需要在设备或浏览器上支持该DRM方案

一般来说,以下DRM在设备和浏览器上本机支持-天真地说,DRM通常在购买设备时内置在操作系统或浏览器中:

  • 安卓设备-Widevine
  • PC或MAC上的Chrome浏览器-Widevine
  • iOS设备-公平竞争
  • Safari浏览器-公平竞争
  • Internet Explorer浏览器-PlayReady
要允许在多台设备上播放加密内容,您需要使用每个设备的方案对其进行加密。在过去,这意味着必须有单独的流,但DASH CENC允许通过多个DRM方案对单个流进行加密-规范位于以下链接:

不幸的是,如果您没有访问权限,则该规范的访问受到限制。您可能需要查看一些包装商网站,其中包括有关创建CENC流的信息,例如:

还有一件事需要注意,因为传统上iOS/FairPlay使用的AES加密模式与Widevine和PlayReady不同——它使用AES CBC模式而不是CTR模式。然而,Widevine和PlayReady最近也宣布支持AES CBC模式,因此在理论上,将在所有设备上播放单一加密格式的nirvana现在是可能的——然而,支持最有可能在所有设备上发挥作用还需要一些时间