测试源
ffmpeg lavfi 的 gradients、mandelbrot、testsrc2,各 5s。
文件大小直接取自编码产物,单位为 KB。SSIM 越高,表示越接近原视频。
| 测试片 | GIF | MP4(H.264) | WebP |
|---|---|---|---|
| 低运动(gradients) | 2958 | 39 | 11 |
| 高运动(mandelbrot) | 5132 | 423 | 915 |
| 细节图案(testsrc2) | 1248 | 205 | 463 |
| 测试片 | GIF | MP4 | WebP |
|---|---|---|---|
| 低运动 | 0.872 | 0.998 | N/A |
| 高运动 | 0.942 | 0.988 | N/A |
| 细节图案 | 0.967 | 0.994 | N/A |
WebP SSIM 未测,因此只标 N/A,不据此推断质量。
GIF 体积是 MP4 的 6-75×、是 WebP 的 3-270×。
三段测试中,GIF 的 SSIM 均低于 MP4,文件却更大。
MP4(H.264)在本次测试里同时取得更小体积与更高 SSIM。
WebP 在低运动测试中最小,为 11 KB;另外两段则是 MP4 更小。
结果来自标准合成测试片,不代表每一段真实视频都会得到同样的排序或差距。
ffmpeg lavfi 的 gradients、mandelbrot、testsrc2,各 5s。
全部统一为 480×270、15fps,再分别编码为三种格式。
GIF 使用 palettegen/paletteuse 两遍调色板与 bayer dither;MP4 使用 H.264 crf23;动画 WebP 使用 q75。
GIF 与 MP4 对原视频测 SSIM。WebP 未测,表中明确记为 N/A。
格式事实参考: MDN image format guide / MDN autoplay guide
GIF 与 WebP 是图片格式,MP4 是媒体容器。网页嵌入方式会直接影响自动播放、控件与平台接受度。
| 能力 | GIF | MP4(H.264) | WebP |
|---|---|---|---|
| 色深 | 256 色索引调色板 | 全彩视频 | 全彩 |
| 透明 | 1-bit:完全透明或不透明 | H.264 MP4 无透明通道 | Alpha 透明 |
| 动画 | 原生图片动画 | 视频播放 | 原生图片动画 |
| 音频 | 不支持 | 支持 | 不支持 |
| 浏览器/平台内联自动播放 | 直接作为图片嵌入,通常自动播放 | 需要 video 元素或播放器;自动播放受策略限制,通常还要 muted 和 playsInline | 现代浏览器可直接作为图片嵌入;旧平台兼容性不如 GIF 一致 |
| 循环 | 动画内含循环设置 | 由 video 元素或播放器设置 | 动画内含循环设置 |
| 本次测试的体积/质量 | 三段均最大;SSIM 均低于 MP4 | 三段均小于 GIF,且 SSIM 更高 | 低运动测试最小;SSIM 未测 |
没有一种格式适合所有投放位置。编码结果与嵌入方式要一起考虑。
当目标位置接受视频,并且体积与画面还原更重要时,本次数据支持优先考虑 H.264 MP4。它需要 video 元素或平台播放器,带声音的自动播放还会受到浏览器策略限制。
动画 WebP 支持全彩与 alpha,在低运动测试中也是最小文件。它是图片式嵌入与现代压缩之间的折中,但旧平台兼容性不如 GIF 一致。
GIF 在这三段测试中又大又糊,原因是 256 色调色板与较弱的 LZW 压缩。不过它能像普通图片一样到处嵌入、自动循环且无需播放器,这种兼容性与使用惯性仍然有价值。
选择与下一步最匹配的本站工具。处理均从明确的任务入口开始。
不能从三段测试推广到所有素材。但在本次统一设置的三段测试中,MP4 都比 GIF 小,SSIM 也都更高。
不是。本次低运动测试中 WebP 为 11 KB,是三种格式里最小;高运动与细节图案测试中 MP4 更小。
GIF 每帧使用最多 256 色的索引调色板。全彩视频需要量化与抖动来模拟更多颜色,因此渐变和复杂画面更容易受影响。
这组原始测试没有测 WebP SSIM。为保持数据边界,页面不补算、不估计,也不添加其他未测质量指标。