【问题标题】:Play DRM Content with Flutter/React Native on IOS and Android在 IOS 和 Android 上使用 Flutter/React Native 播放 DRM 内容
【发布时间】:2019-01-28 22:16:04
【问题描述】:

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

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

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

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

最好的问候

【问题讨论】:

    标签: react-native flutter drm widevine playready


    【解决方案1】:

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

    作为一般规则,设备和浏览器原生支持以下 DRM - 天真意味着 DRM 通常在您购买设备时内置于操作系统或浏览器中:

    • Android 设备 - Widevine
    • PC 或 MAC 上的 Chrome 浏览器 - Widevine
    • iOS 设备 - FairPlay
    • Safari 浏览器 - FairPlay
    • Internet Explorer 浏览器 - PlayReady

    要允许在多个设备上播放加密内容,您需要使用每个设备的方案对其进行加密。在过去,这意味着必须有单独的流,但 DASH CENC 允许通过多个 DRM 方案加密单个流 - 规范位于此链接:

    不幸的是,如果您没有访问权限,则该规范的访问权限受到限制,可能值得查看一些打包网站,其中将包含有关创建 CENC 流的信息 - 例如:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-05
      • 2018-05-17
      • 2022-09-03
      • 1970-01-01
      • 2017-06-01
      • 2021-12-30
      • 1970-01-01
      • 2015-06-11
      相关资源
      最近更新 更多