Android之开源视频压缩框架RxFFmpeg的commands设置

1 Android视频压缩框架

地址:https://github.com/microshow/RxFFmpeg

2 问题

用ffmpeg进行压缩的时候,我们需要采用ffmpeg命令压缩官网给的命令如下

String text = "ffmpeg -y -i /storage/emulated/0/1/input.mp4 -vf boxblur=25:5 -preset superfast /storage/emulated/0/1/result.mp4";

支持libx264编码库,可以使压缩后的视频体积变的极小,清晰度还保持着很高清,简单的压缩命令 

ffmpeg -y -i /storage/emulated/0/1/input.mp4 -b 2097k -r 30 -vcodec libx264 -preset superfast /storage/emulated/0/1/result.mp4

但是我自己测试,发现第一个命令都把视频压缩模仿了,第二个命令虽然视频不模仿,但是2097K不知道为啥要设置这个值,不知道具体意思和后面根据视频大小到底怎么设置。

参数介绍如下

-i:input路径,传入视频文件的路径

-c:v:编码格式,一般都是指定libx264

-crf: 编码质量,取值范围是0-51,默认值为23,数字越小输出视频的质量越高。这里的30是我们经过测试得到的经验值

-preset:转码速度,ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow和placebo。ultrafast编码速度最快,但压缩率低,生成的文件更大,placebo则正好相反。x264所取的默认值为medium。需要说明的是,preset主要是影响编码的速度,并不会很大的影响编码出来的结果的质量。

-acodec:音频编码,一般采用libmp3lame

arg.thumbVideoPath:最后传入的是视频压缩后保存的路径

-y:输出时覆盖输出目录已存在的同名文件(如果不加此参数,就不会覆盖)

 

3 commands设置

但是我自己的命令设置如下

String secondText = "ffmpeg -y -i /storage/emulated/0/tencent/MicroMsg/WeiXin/1582259482299.mp4 -crf 35 -vcodec libx264 -preset superfast /storage/emulated/0/chenyu/RxffmPress4.mp4";

我一般设置crf的值为30、35、40,crf的值是30压缩视频大小一半左右,视频很清晰,设置为35的时候,压缩视频大小70%左右,视频一般清晰,设置为40的时候,视频很模糊了,压缩视频大小90%左右.

发布了1051 篇原创文章 · 获赞 638 · 访问量 291万+

猜你喜欢

转载自blog.csdn.net/u011068702/article/details/104433043