如何在 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?
cordova android - 如何播放位于项目本身内部的视频文件