Android 在运行时解密和播放 mp4

标签 android encryption mp4

我正在开发一个显示一系列 mp4 文件的应用程序。为了确保人们不只是从存储它们的 sdcard 中复制它们,我们要对它们进行加密(目前使用 DES)。大多数加密文件(如图像和 xml)都可以在运行时轻松解密以供使用,但我的视频有问题。它应该全部在内存中完成,因为在使用它之前先将它解密到 sdcard 会使整个想法变得无用。

有人知道我应该如何做到这一点吗?这些文件也非常大,因此请记住内存限制,最低应为 Android 2.3.3。

最佳答案

流式传输是您所说的“全部在内存中完成”的另一种方式。您可以为 VideoView 提供文件路径或流的 Uri。 libmedia是我为精确解决此功能而开发的库。

类似于:

mServer = new LocalSingleHttpServer();
mServer.setCipher(myGetCipher());
mServer.start();
path = mServer.getURL(path);
mVideoView.setVideoPath(path);
mVideoView.start();

请注意,本地 http 服务器并不是那么简单,因为它必须处理可能的 VideoView.seekTo() 跳转。

关于Android 在运行时解密和播放 mp4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9785312/

相关文章:

android - 如何使用android编程创建一个新的 Activity ,然后在其中显示文本

java - 启用了 proguard 的 Ormlite 找不到 id 字段

javax.crypto.BadPaddingException : Given final block not properly padded

iphone - 在 iPhone sdk 中使用 Des64 和 Des192 加密算法加密字符串?

asp.net - Web 服务开发从哪里开始?

java - 如何将 HttpUrlConnection 的逻辑拆分为多个方法?

java - 文本未保存到字符串变量

javascript - nodejs ffmpeg在特定时间播放视频并将其流式传输到客户端

video - FFMpeg 水印质量很差

video - FFmpeg mp4 到 m3u8 但音频不起作用