如何在 Android 中播放加密的视频文件

Posted

技术标签:

【中文标题】如何在 Android 中播放加密的视频文件【英文标题】:How to play an encrypted video file in Android 【发布时间】:2012-02-29 21:21:33 【问题描述】:

我搜索了很多关于 SO 的问题,但我找不到答案,这就是我问以下问题的原因:

android 应用应该能够播放加密的视频文件(存储在 SD 卡上并从网络服务器检索)。 该文件必须存储在 SD 卡上,以便应用程序可以在没有有效互联网连接的情况下播放视频文件。 由于视频文件可能无法复制,因此计划是在将文件上传到网络服务器时在服务器端对其进行加密。

什么是最好的选择?

1) 我看到了有关运行本地网络服务器来解密文件的建议(以及如何执行此操作?)

2) 还是我们应该解密文件,将其保存为临时文件并将该临时文件设置为视频播放器的源?

3) 完全不同的东西?

【问题讨论】:

【参考方案1】:

您正在尝试实施一种 DRM 方案,但这是一个幼稚的方案。如果您无法实施不可能的事情,请查看 DRM 方案并报告。您所希望的只是混淆,并且有很多方法可以做到这一点(当然它们都不是安全的)。

【讨论】:

你能给出一些细节提示吗?【参考方案2】:

如果您选择事先解密整个大视频,您将使用户面临等待时间。出于安全性考虑,您可以猜测将内容清晰地​​保存在文件中是一个糟糕的主意,即使是暂时的。本地网络服务器是更好的选择,因为它是一种流式传输方法,因此无需文件存储。 SDK中没有http服务器的类,你必须自己实现一个,否则寻找一个类似于LocalSingleHttpServer的现有库。

【讨论】:

以上是关于如何在 Android 中播放加密的视频文件的主要内容,如果未能解决你的问题,请参考以下文章

哪些视频文件可以在 Android 上播放 QMediaPlayer?

分享EV加密视频播放器如何过防录像检测

cordova android - 如何播放位于项目本身内部的视频文件

在android中播放单独分割的视频文件

如何在 Android 应用程序的登录页面(背景)上播放视频文件?

Android:如何从资产中播放视频?