原生视频加密之android 端简单分享(不合适小白)

最近有个需求,那就是要在原生端对视频进行加密。逛了一圈论坛,发现还没人分享相关方案,这里就简单分享一下。

为啥只有 android,因为项目不上 ios ,不需要处理。同时也因为最近要带领团队,全部转到 unity开发去了,没有时间去处理(ios 端实现起来也不难,思路大致差不多)。

这里的方案,只是针对的 android 原生播放器。如果为了跨平台,不想写两套,可以嵌入 FFmpeg 或者开源的第三方库,比如说哔哩哔哩的 ijkpalyer 等等。

回到正题,基本上只要分四步走就可以了。

  1. 选一个高性能的加密算法或者手撸一个,这里就选了rc4(因为不需要跨平台,这里就用了 Java 来写, 同时做了特殊处理,高性能的话可以自己考虑用 c++ 来写,通过 jni 去做解密)。
    1

  2. 写一个类,继承 MediaDataSource, 只要实现它的 readAt 方法就行 (为了平衡性能,这里做了缓存和只加密补分数据处理)。



  3. 替换 Cocos 原本使用的播放器。

  4. 打包的时候,记得对视频进行加密。

大致就是这样。

5赞

牛哇

大佬666,dddd

小白::clown_face::clown_face::clown_face:

牛批 每天逛论坛都能学到新东西 超喜欢在里面

跟在大佬帖子下面留言混眼熟后别人也会误觉得我是大佬

不是大佬哈,只是项目做多了,积累了些经验,有需求,那就弄一下,分享而已。

这还不是大佬,那谁还是大佬

大佬互相叫大佬