最近没事看看网上视频压缩的框架,发现正常的混淆后视频还是不能播放和转码:
于是就看了一下,找到了正确的混淆方法:
- 首先看看Bilibili/ijkplayer的混淆方法:
-keep class tv.danmaku.ijk.media.player.**{*; }
-keep class tv.danmaku.ijk.media.player.IjkMediaPlayer{*;}
-keep class tv.danmaku.ijk.media.player.ffmpeg.FFmpegApi{*;}
如果你使用的是Bilibili/ijkplayer的开源框架,混淆时加上这几句就好了。
如果你使用的是mabeijianxi/small-video-record的视频压缩你就要注意了,除了上面的不能混淆外,还要加上几个不能混淆,最主要的是作者没有提供混淆的方法。哈哈哈……………….
好了混淆方法如下:
#######################视频录制########################
-keep class com.mabeijianxi.smallvideorecord2.jniinterface** { *; }
-keep class tv.danmaku.ijk.media.player.**{*; }
-keep class tv.danmaku.ijk.media.player.IjkMediaPlayer{*;}
-keep class tv.danmaku.ijk.media.player.ffmpeg.FFmpegApi{*;}
-keepattributes Exceptions,InnerClasses,Signature
-keepattributes SourceFile,LineNumberTable
这样视频压缩功能就可以正常使用了!
Bilibili/ijkplayer的github地址:https://github.com/Bilibili/ijkplayer
mabeijianxi/small-video-record的github地址:https://github.com/mabeijianxi/small-video-record