3

我想要在我的服务器上播放加密视频。我想在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 。但它不起作用可能是因为我的视频是加密的。那么我该如何播放我的加密视频。

4

1 回答 1

7

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

加密视频

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

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

DRMDRM是关于内容保护的。有多家公司提供 DRM 许可证。像谷歌的Widevine、苹果的 FairPlay 或微软的 PlayReady。ExoPlayer 支持开箱即用的widevine。您需要向 ExoPlayer 提供许可证 url 并休息它会照顾。

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

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

于 2018-06-30T03:24:55.923 回答