在exo player android中播放加密视频?

Gau*_*arg 3 github exoplayer

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

the*_*ngo 6

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

加密视频

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

AES 128AES是一种旧的加密标准,好消息是Exo Player支持开箱即用。你的清单/主文件必须有ContentProtection标签,ExoPlayer 会照顾。它将访问您托管用于解密内容的密钥的服务器。

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

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

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