0
0
0
视频转webp参数
文章摘要
|
FFmpegFreeUI本质是ffmpeg的底,加了一个壳子,他这个软件压缩转换还可以,就是参数晦涩难懂,项目是开源的,github地址:
https://github.com/Lake1059/FFmpegFreeUI (注:需要科学上网!)
ffmpeg -i 输入.mov -c:v libwebp_anim -an -vf "scale='if(gte(iw,ih),720,-2)':'if(gte(iw,ih),-2,720)':force_original_aspect_ratio=decrease,pad=ceil(iw/2)*2:ceil(ih/2)*2,fps=15" -q 55 -lossless 0 -compression_level 9 -loop 0 输出.webp
参数逐个说:
-c:v libwebp_anim:用 libwebp 的动画编码器。关键在这个 _anim,它会做帧间差异预测,静态画面几乎不占体积,比逐帧拼 GIF 小一个数量级。
-vf 滤镜链:
scale=...720...:短边压到 720,横屏出 1280×720,竖屏出 720×1280,自动判断横竖。
pad=ceil(iw/2)2:ceil(ih/2)2:把宽高补成偶数,WebP 编码器对奇数尺寸会报错或出黑边。
fps=15:统一压到 15 帧,动图 15fps 人眼够顺,再高体积翻倍。
q 55:质量档,0–100,越低越小。55 是我这边试下来 720p 下 1.5–2MB 档的甜点,文字边缘还能看。
lossless 0:有损模式,开无损体积直接起飞,不用考虑。
-compression_level 9:压缩强度,0 最快最大,6 以上会被 clamp 到上限,慢一点但每帧体积能再小 10–15%。
-loop 0:无限循环。
-an:丢掉音频轨,动图本来就不发声。
踩过的坑:
别用 -quality 75这种写法,**libwebp_anim **对它响应很迟钝,50 和 100 出来字节数一样,真要控体积得用
-q。别先抽 PNG 再用 Pillow 拼,绕一圈慢还没帧间预测,体积直接翻 3–5 倍。
480p 别用,从 1080p 缩下来文字必糊,720p 是体积和清晰度的实际分水岭。


