美文网首页音视频开发集锦
使用开源库SiliCompressor对视频进行压缩处理

使用开源库SiliCompressor对视频进行压缩处理

作者: 抬头仰望放肆的微笑v | 来源:发表于2018-11-15 15:21 被阅读375次

最近公司项目中需要上传视频,由于之前没有涉及过,初步可以上传了,但由于一般手机本地视频文件都很大,所以得在上传之前进行压缩处理,在百度,github上各种找。在此做个记录也希望能帮到一些需要的人,少走一些弯路。

关于视频压缩有以下几种方式可选:

第一种:使用FFmpeg

缺点:

1.压缩效率低,时间长,使用繁琐,增大apk体积

2.如果只是对视频进行压缩,不建议使用FFmpeg

第二种:使用七牛SDK

七牛短视频SDK链接: https://developer.qiniu.com/sdk#official-sdk

缺点:收费,只能试用,测试的结果:隔天就会提示未经授权

PLDroidShortVideo: Pili-System:unauthorized !

compressVideoResouce: transcode failed: 8

第三种:使用开源库SiliCompressor,一个强大的,灵活的,易于使用的视频和图像压缩库。也是我项目中所使用到的

开源库地址 https://github.com/Tourenathan-G5organisation/SiliCompressor

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> 视频压缩

压缩视频文件并返回新视频的文件路径

StringfilePath=SiliCompressor.with(Context).compressVideo(videoPath, destinationDirectory);

<2> 图片压缩

压缩图像并返回新图像的文件路径

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);

具体需要哪种压缩方式,根据具体需求调用相对应的方法就可以了

相关文章

  • 使用开源库SiliCompressor对视频进行压缩处理

    最近公司项目中需要上传视频,由于之前没有涉及过,初步可以上传了,但由于一般手机本地视频文件都很大,所以得在上传之前...

  • FFMPEG 入门

    前言 FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供...

  • FFmpeg命令大全

    前言 FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供...

  • ffmpeg命令大全

    前言 FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供...

  • 1.FFMPEG基本命令

    前言 FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供...

  • ffmpeg命令大全文档

    前言 FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供...

  • ffmpeg 常用命令

    前言 FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供...

  • FFmpeg常用命令

    FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供的工具...

  • ffmpeg 命令大全

    前言FFMPEG是特别强大的专门用于处理音视频的开源库。你既可以使用它的API对音视频进行处理,也可以使用它提供的...

  • python

    使用PIL库对图片进行等比例压缩

网友评论

    本文标题:使用开源库SiliCompressor对视频进行压缩处理

    本文链接:https://www.haomeiwen.com/subject/oityfqtx.html