昨天遇到个小问题:要把一段 9MB 多的录屏发到群里,群文件限制卡得紧,而且那台机器上没装 FFmpeg,临时装一个又嫌麻烦。索性把整个过程记下来,顺便实测了一下在线压缩工具两个档位的真实压缩率,数据都在下面。
老办法:FFmpeg 命令行
本机有 FFmpeg 的话,一行命令就够了:
bash
ffmpeg -i input.mp4 -c:v libx264 -crf 28 -preset fast -c:a aac output.mp4
CRF 是恒定质量因子,数值越大压得越狠,常用范围 18(接近无损)到 35(高压缩)。问题就出在"那台机器没装",而且给不常碰命令行的同事讲 CRF、preset 这些参数,成本比压缩本身还高。
这次的做法:在线工具
我直接用浏览器打开了工具派上的视频压缩工具。页面很直白:三个压缩级别(轻度/标准/强力),下面是可选的目标分辨率、目标帧率、目标文件大小、输出格式,最底下还有 CRF 滑块和编码速度预设------基本就是把 FFmpeg 那几个核心参数做成了表单。
传的是一个 9.09 MB 的 MP4 录屏(美女 - 33000.mp4)。上传支持拖拽,单文件上限 100MB,传完会显示文件名和大小,确认后点"开始压缩":
两档实测数据
同一个文件跑了两遍,结果如下:
| 档位 | 参数 | 输出大小 | 相比原文件 |
|---|---|---|---|
| 原文件 | - | 9.09 MB | - |
| 标准压缩 | CRF 28 / fast | 8.00 MB | -12.0% |
| 强力压缩 | 体积优先 | 4.94 MB | -45.6% |
标准档处理完成:
强力档处理完成:
实测下来的几个结论
1. 标准档压不动,不是工具的问题。 源视频本身就是 H.264 编码过的成片,码率已经不高,CRF 28 重编码能挤出的水分有限,只瘦了 12%。如果源文件是相机直出或者无损录屏,同样参数压缩率会高得多。压缩率这件事,七分看源文件,三分看参数。
2. 有明确体积限制时,直接填"目标文件大小"。 比如要压到 5MB 以内,在目标大小里填 5M,系统会自动调参数逼近目标,比自己反复试 CRF 值省事。这次强力档压到 4.94MB 其实就碰巧达标了。
3. 画质损失集中在强力档。 标准档肉眼几乎看不出差别;强力档在快速运动的画面里能看到轻微色块,发群里给人看完全够用,但不适合当存档母版。
一个小吐槽:处理完成后页面只显示结果文件名,不显示压缩后的大小和压缩率,要知道瘦了多少必须下载下来看属性。希望后面能加上,对选档位很有帮助。
后记
整个过程没装任何软件,浏览器里两分钟搞定。对我这种"每台机器环境都不一样"的人来说,在线工具最大的价值不是功能多强,而是哪儿都能用。当然,如果是批量处理或者要精确控制编码参数,还是老老实实回 FFmpeg。
工具地址:https://gjupai.com/