回退式 JPEG:把整段视频塞进一张图片里
来源:maurycyz.com — 2026-07-17
📋 概述
这篇文章介绍了如何利用 JPEG 渐进式扫描机制,把多张图像甚至一段短视频“打包”进单个 JPEG 文件中:通过让后续扫描覆盖已经渲染出的数据,浏览器在缓慢下载过程中会逐帧显示不同画面。作者还探讨了浏览器对扫描数量的限制,并给出用 DC-only 扫描压缩帧数、避免残影的技巧,最终承认这更多是一种有趣的恶作剧而非实用技术。
🔑 核心要点
- 渐进式 JPEG — 文件将压缩数据分成多次扫描(scan),先传低频分量,半载时也能显示低分辨率预览。
- 扫描覆盖 — 每次扫描显式指定频谱范围,因此后续扫描可以覆盖已渲染的图像数据,实现画面切换。
- 拼接多图 — 去掉起始/结束标记后把多张同分辨率 JPEG 拼接起来,慢速网络下会呈现“动画”效果。
- DC-only 最小化 — 用仅含直流分量的扫描把每帧降到 1/16 分辨率,Chrome 大约能渲染 90 帧才放弃。
- 无实用价值 — 无法嵌入时间信息,播放完全依赖网络延迟,本质上只是 Rickroll 和恶作剧的素材。
💡 金句
由于每次扫描都会显式设置其频谱范围,因此可以构造出一种 JPEG 文件:后续扫描会覆盖已经渲染出的图像数据。
👍 0
👎 0
← 返回 HN 首页