最近公司做海外项目中的活体检测会对用户进行活体检测并上传视频到服务器,存在海外手机和网络的问题就要求对视频进行压缩后上传,其实吧我个人认为视频拍摄完17s才2m也不大,后来找了三方的工具压缩silicompressor。它的优点和其他对比:
FFmpeg 压缩效率低,时间长,使用繁琐,增大apk体积 silicompressor完胜。轻巧占用小压缩速度快前提看你设置的压缩帧率。并且可以压缩图片等等。项目地址https://github.com/TangfeiJi/SiliCompressor-master
Gradle引入方法不建议使用会出现apk文件名重名装不上
1.Gradle
implementation'com.iceteck.silicompressorr:silicompressor:2.2.1'
2.添加相关权限(手机得动态申请权限)
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
3.使用
使用很简单,直接调用相关方法传入文件路径就能获得压缩之后新文件的路径
<1> 视频压缩(需要在子线程中使用)
压缩视频文件并返回新视频的文件路径(参数传入原视频video