Android 视频压缩

最近项目中用到了视频压缩的东西,由于之前没有涉及过,于是各种百度 谷歌,各种尝试,在此做个记录也希望能帮到一些需要的人,少走一些弯路。

方案一:使用FFmpeg

缺点:压缩效率低,时间长,使用繁琐,增大apk体积,直接废弃

方案二:使用七牛SDK

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

PLDroidShortVideo: Pili-System:unauthorized !  
compressVideoResouce: transcode failed: 8 

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

方案三:使用开源库SiliCompressor,也是我最终采用的一种方案

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

最大的优点就是可以导入源码根据自己的需求进行更改,而且经过测试压缩效率也不错,使用起来比较简单,一行代码就可以搞定

public static void compressVideo(Context mContext, final String videoPath) {
    try {
        String newVideoPath = SiliCompressor.with(mContext).compressVideo(videoPath,
                new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), TAG).getPath(),
                960, 544, 1000000);
    } catch (URISyntaxException e) {
        e.printStackTrace();
    }
}

你可能感兴趣的:(Android)