网上差值视频压缩,大多说都是说使用FFmpeg。于是就找例子,找来找去发现他们所用的代码都是一样的: 例如这个:这里写链接内容 看完代码,依然一脸懵逼,里面的参数不知道什么意思,根据代码可以知道,最主要的一段话是:
"-y -i /mnt/sdcard/kaishi.mp4 -strict -2 -vcodec libx264 -PReset ultrafast -crf 24 -acodec aac -ar 44100 -ac 2 -b:a 96k -s 640x352 -aspect 16:9 /mnt/sdcard/jieshu.mp4";这个个转码命令例如:将input.avi转码成output.ts,并设置视频的码率为640kbpsffmpeg -i input.avi -b:v 640k output.ts参照雷神给的文档:这里写链接内容 -I filename 输入文件 strict strictness 跟标准的严格性 -vcodec codec 强制使用codec编解码方式。如果用copy表示原始编解码数据必须被拷贝。 -acodec codec 使用codec编解码 -ar freq 设置音频采样率 -ac channels 设置通道 缺省为1 -b bitrate 设置比特率,缺省200kb/s -s size 设置帧大小 格式为WXH 缺省160X128.下面的简写也可以直接使用 -aspect aspect 设置横纵比 4:3 16:9 或 1.3333 1.7777
按照以往的作法,应该会在onexecprogerss里面获得压缩进度,但是根据打印的数据,他的内容是这样的。并且并不是所有的数据都是这样。
frame= 337 fps= 14 q=22.0 size= 2071kB time=00:00:11.74 bitrate=1444.2kbits/s dup=1 drop=0于是我想了一个比较笨的方法,截取字符串。size后面的数据是指压缩的大小,那么如果我们计算出压缩比例,也就是说压缩后视频的大小。然后相除,就会得到压缩的比例。 -b bitrate 设置比特率,缺省200kb 比特率乘以时长应该就是压缩后视频的大小,这样似乎就行的通了。
新闻热点
疑难解答