进度条预览图生成器:缩略图雪碧图一键制作

在 B 站或 YouTube 上拖进度条,悬停处会弹出画面预览——这个体验的底层不是「每个时间点一张图的网络请求」,而是一张雪碧图(sprite sheet):把整段视频按固定间隔抽出的帧拼成一张大图,配一份「第 N 格对应第 M 秒」的映射 JSON。播放器悬停时按坐标裁切显示,零额外请求、毫秒级响应。ZWPlayer 的在线缩略图生成器把这个制作过程做成了一键操作。

原理三十秒

视频 ──按间隔抽帧──► N 张小图 ──拼接──► 1 张雪碧图
                                    └──► 映射 JSON(时间 → 坐标)
播放器悬停进度条 ──查表──► 裁切雪碧图对应格 ──► 显示预览

两个关键参数:抽帧间隔(每几秒一帧,决定预览粒度)与缩略图尺寸(决定单格清晰度与整图体积)。

三步制作

  1. 加载视频:粘贴 URL 或拖入本地文件——视频在浏览器内解析抽帧,不上传;
  2. 设置参数并生成:间隔、尺寸、列数,点生成,实时看到抽帧进度与成图;

雪碧图生成 图 1:生成完成——抽帧网格与统计一目了然

  1. 导出:下载雪碧图 + ZWMAP thumbnail JSON,两份资产交给播放器。

生成器界面 图 2:生成器主界面——左侧参数、中间预览

预览:播放器端效果

点「预览」进入真实 ZWPlayer——生成的雪碧图直接挂到播放器上:鼠标悬停进度条,对应时间点的画面预览即时弹出,这就是观众端的样子。

预览播放器 图 3:预览——悬停进度条,对应时刻的画面预览弹出

接入播放器

new ZWPlayer({
  playerElm: 'player',
  url: 'lesson.mp4',
  thumbnails: '/thumbs/lesson.json',   // ZWMAP thumbnail JSON(内含雪碧图地址与映射)
});

一个参数完成接入——悬停进度条即出预览。与章节标注、播放列表叠加时,章节分割线与缩略图预览同屏协作,导航体验直接对齐主流视频平台。

体积与体验的平衡建议

  • 间隔:教程/讲座类 5~10 秒一帧够用;影视内容 2~5 秒更顺滑;
  • 尺寸:160×90 是体验与体积的甜点;4K 素材也建议缩到这个档——预览图要的是「认出画面」不是看清细节;
  • 长视频:2 小时内容按 10 秒间隔约 720 帧,一张图偏大时可分多张雪碧图分段映射(JSON 支持多图条目);
  • 懒人路线:本地视频库批量生成可配合 ZWScan——扫描时自动匹配同名缩略图 JSON。

相关文章