原文地址:https://blog.csdn.net/weixin_36495794/article/details/93190679
FFmpeg 压缩效率低,时间长,使用繁琐,增大apk体积 silicompressor完胜。轻巧占用小压缩速度快前提看你设置的压缩帧率。并且可以压缩图片等等。项目地址https://github.com/TangfeiJi/SiliCompressor-master
Gradle引入方法不建议使用会出现apk文件名重名装不上
1.Gradle
implementation'com.iceteck.silicompressorr:silicompressor:2.2.1'
2.添加相关权限(手机得动态申请权限)
3.使用
使用很简单,直接调用相关方法传入文件路径就能获得压缩之后新文件的路径
<1> 视频压缩(需要在子线程中使用)
压缩视频文件并返回新视频的文件路径(参数传入原视频videoPath和压缩后destinationDirectory存放的文件夹,返回压缩后图片绝对路径)。横屏视频的outWidth宽度 outHeight高度 bitrate比特率(码率)越高数据大 体积越大一般450000
StringfilePath=SiliCompressor.with(Context).compressVideo(videoPath, destinationDirectory,outWidth,outHeight,bitrate);
StringfilePath=SiliCompressor.with(Context).compressVideo(videoPath, destinationDirectory);默认720 480 450000
<2> 图片压缩(需要在子线程中使用)给大家分享几个压缩图片地址吧
https://tinypng.com/ 单次压缩20张 多的话要会员
http://zhitu.isux.us/ 单次压缩20张 多的话要会员
https://zh.recompressor.com/ 免费的我认为最好用的推荐
压缩图像并返回新图像的文件路径
StringfilePath=SiliCompressor.with(Context).compress(imagePath, destinationDirectory);
压缩图像并在删除源图像时返回新图像的文件路径
StringfilePath=SiliCompressor.with(Context).compress(imagePath, destinationDirectory,true);
压缩图像可绘制并返回新图像的文件路径
StringfilePath=SiliCompressor.with(Context).compress(R.drawable.icon);
压缩图像并返回新图像的位图数据
BitmapimageBitmap=SiliCompressor.with(Context).getCompressBitmap(imagePath);
压缩图像并在删除源图像的同时返回新图像的位图数据
BitmapimageBitmap=SiliCompressor.with(Context).getCompressBitmap(imagePath,true);
如果有的项目和你这样引用一致(会出现apk文件名称相同 打包后安装失败 也就是provider命名重名了,改名字得module导入修改)以下是module里的AndroidManifest.xml
Module的导入(apk文件名称相同其实导入后就会取你项目的applicationId 无须设置能关联你项目)
module地址 https://github.com/TangfeiJi/SiliCompressor-master
1.把下载好的项目module通过Import module导入到项目中(注意module的sdk版本小于等于主项目版本)
在项目Gradle中加入implementation project(':silicompressor')
2.在工程Gradle中加入
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
3.增加相关的权限(手机得动态申请权限)
4.用法和上述的一样记住在子线程中使用
https://github.com/TangfeiJi/SiliCompressor-master
https://github.com/Tourenathan-G5organisation/SiliCompressor
格式 分辨率 行频 规格
480i 720×480 15.25kHz 数字标清(SDTV)
480p 720×480 31.5kHz 数字标清(SDTV)
1080i 1920×1080 33.75kHz 数字高清(HDTV)
720p 1280×720 45kHz 数字高清(HDTV)
1080p 1920×1080 67.5kHz 全高清(Full HDTV)