【问题标题】:Play encrypted video in exo player android?在 exo player android 中播放加密视频?
【发布时间】:2023-06-19 12:25:01
【问题描述】:

我想要在我的服务器上播放加密视频。我想在exo播放器上玩。在 google 在https://github.com/google/ExoPlayer 上提供的示例中,仅播放您的电子管视频。我曾尝试使用更改 https://github.com/google/ExoPlayer/blob/master/demo/src/main/java/com/google/android/exoplayer/demo/Samples.java 文件中的 uri。但它不起作用可能是因为我的视频是加密的。那么如何播放我的加密视频。

【问题讨论】:

  • 发现任何有用的东西?

标签: github exoplayer


【解决方案1】:

这是一个老问题,但我希望这个答案会有所帮助。

加密视频

可以通过多种方式加密视频/媒体文件。它可以是简单的 AES 128 加密,也可以提供更标准的 DRM 保护。最后但并非最不重要的一点是,您也可以完成自己的自定义加密。让我们一一满足。

AES 128AES 是一个旧的加密标准,好在Exo Player 支持开箱即用。 您的清单/主文件必须有 ContentProtection 标签,其余的 ExoPlayer 会处理。它将访问您托管内容解密密钥的服务器。

DRMDRM 是关于内容保护的。有多家公司提供 DRM 许可证。就像谷歌的Widevine、苹果的FairPlay 或微软的PlayReady。 ExoPlayer 支持开箱即用的widevine。您需要向 ExoPlayer 提供许可证 url,然后它会小心处理。

查看this 使用 ExoPlayer 播放 Widevine 在线/离线内容的示例

您自己的加密:这是一个小技巧,应该避免。在这种情况下,原因主要是您必须首先解密设备上的视频,然后它将像任何本地视频/媒体文件一样由媒体播放器播放。您必须编写逻辑来检索解密密钥,解密内容,然后像播放任何本地视频一样播放。

【讨论】: