帧提取器

从任何视频中提取完美的一帧

一帧一帧地真正步进,按间隔取出一整批,或者让差异曲线替你找出切换点。一切都在这个标签页里解码,文件哪儿也不去。

实测帧率截取会等待该帧批量与镜头切换内容不离开设备

拖放视频或点击上传

MP4 · WebM · MOV,以及你的浏览器能解码的其他格式 —— 文件不会离开你的设备

工作方式

1

放入视频

只要浏览器能解码就行。尺寸、分辨率和真实帧率都从文件本身读出 —— 那个 fps 输入框没了,因为它本来就是猜的。

2

定位到某一帧

方向键按整帧步进,每一步都会等画面真正变化。用滚轮放大检查焦点,按住 Alt 与上一次截取对比。

3

或者取出一整批

每 N 秒、均匀取 N 张,或某个区间内的每一帧。镜头扫描会把采样之间的差异画出来,让你去调阈值,而不是盲目相信它。

4

导出

PNG、JPG 或 WebP,原尺寸或缩小,逐张或打包成 ZIP。图库会告诉你它占了多少内存,并能把某一帧直接交给下一个工具。

截取会等待该帧

跳转是异步的,所以刚移动完就去画视频,拿到的是之前画面上的内容 —— 通常是前一帧。这里每次截取都会等到真正呈现的那一帧。

帧率是实测的

requestVideoFrameCallback 会报告每一帧的呈现时刻,所以帧率来自视频本身,而不是一个要你填的输入框。常见帧率会吸附,但 23.976 依旧是 23.976。

批量提取

每 N 秒、在区间内均匀取 N 张,或两点之间的每一帧。开始前就告诉你会取多少张,随时叫停随时停。

镜头切换检测

对缩小后的采样计算亮度差,画成一条可以点击的曲线。阈值是你能调的数字,不是藏起来的判断。

以光标为中心缩放

滚轮放大到 12×,拖动平移,双击复位 —— 在决定用哪一帧之前,先看清焦点或读清小字。

内存看得见

原尺寸 blob 累积得很快,所以列表只显示缩略图,每一帧都报出自己的体积,总量会在标签页变沉之前提醒你。

不上传任何内容

视频由浏览器从本地 object URL 解码。没有服务器,没有排队,也不对你处理的素材做遥测。

交接给套件里的其他工具

把某一帧直接送到 CropSnap、CompressSnap、抠图工具或 MemeBolt,无需下载再上传。

视频帧提取

你看到的那一帧,而不是它前面那一帧

帧率是从视频本身测出来的,而且每次截取都会等到该帧真正显示出来 —— 你保存下来的,就是你当时看到的那一帧。

由你已经有的浏览器来解码

视频从本地 object URL 播放,帧被画到 canvas 上,所以提取的速度就是你自己解码器的速度,前面没有任何编码队列。不上传、不在服务器上排队,想丢掉这个文件,关掉标签页就够了。

封面图、佐证、参考

封面图、佐证、参考

为封面挑出最干净的一帧、抓住 bug 出现的确切那一帧、为设计收集参考、或者记录 00:04:11 到底发生了什么 —— 这些都需要你当时看到的那一帧,而不是它前面那一帧。帧率实测、跳转有等待,屏幕上的帧号就是文件里的帧号,来回步进每次都会回到同一张画面。

100% 私密且安全

你的视频保留在你的设备上。没有上传、没有数据库、没有跟踪——文件只存在于本地内存中,关闭标签页即消失。

常见问题

Q我的视频会被上传吗?+

不会。浏览器从本地 object URL 解码,帧在同一个标签页里画到 canvas 上。没有服务端,关掉页面文件就没了。

Q它怎么知道帧率?+

它去测。视频会静音播放极短一瞬,同时 requestVideoFrameCallback 报告每一帧的呈现时刻,间隔的中位数就是帧率。浏览器不提供这个回调时,工具会照实说明,而不是假装知道。

Q为什么步进比以前慢?+

因为现在每一步都会等新的一帧真正呈现,才算完成。这个等待,正是「保存你看到的那一帧」和「保存前一帧」之间的差别。

Q可以一次提取很多帧吗?+

可以。批量标签页支持每 N 秒一张、在区间内均匀取 N 张,或两点之间的每一帧,单次最多 500 张。开始前会告诉你数量,按「停止」或 Escape 立刻中断。

Q镜头检测到底在测什么?+

在宽 64 像素的缩略图上,相邻采样之间的平均绝对亮度差。所有数据都会画出来,你能看到每个采样离阈值有多远,从而去调阈值,而不是相信一个看不见的分数。

Q导出的帧是什么质量?+

默认使用视频的原始分辨率,可选无损 PNG,或带质量滑块的 JPG/WebP。当你要的是一张联系表而不是母版时,也可以按 50% 或 25% 导出。

相关搜索

视频帧提取从视频提取帧视频转图片逐帧视频截图镜头检测批量导出帧保存视频静帧
oLoveTools 套件的一部分
oLoveTools

从任何视频里取出精确的帧,实测,且全在本地。

由你已经有的浏览器来解码

视频从本地 object URL 播放,帧被画到 canvas 上,所以提取的速度就是你自己解码器的速度,前面没有任何编码队列。不上传、不在服务器上排队,想丢掉这个文件,关掉标签页就够了。

封面图、佐证、参考

为封面挑出最干净的一帧、抓住 bug 出现的确切那一帧、为设计收集参考、或者记录 00:04:11 到底发生了什么 —— 这些都需要你当时看到的那一帧,而不是它前面那一帧。帧率实测、跳转有等待,屏幕上的帧号就是文件里的帧号,来回步进每次都会回到同一张画面。

100% 私密且安全

你的视频保留在你的设备上。没有上传、没有数据库、没有跟踪——文件只存在于本地内存中,关闭标签页即消失。

视频帧提取从视频提取帧视频转图片逐帧视频截图镜头检测批量导出帧保存视频静帧

常见问题

我的视频会被上传吗?

不会。浏览器从本地 object URL 解码,帧在同一个标签页里画到 canvas 上。没有服务端,关掉页面文件就没了。

它怎么知道帧率?

它去测。视频会静音播放极短一瞬,同时 requestVideoFrameCallback 报告每一帧的呈现时刻,间隔的中位数就是帧率。浏览器不提供这个回调时,工具会照实说明,而不是假装知道。

为什么步进比以前慢?

因为现在每一步都会等新的一帧真正呈现,才算完成。这个等待,正是「保存你看到的那一帧」和「保存前一帧」之间的差别。

可以一次提取很多帧吗?

可以。批量标签页支持每 N 秒一张、在区间内均匀取 N 张,或两点之间的每一帧,单次最多 500 张。开始前会告诉你数量,按「停止」或 Escape 立刻中断。

镜头检测到底在测什么?

在宽 64 像素的缩略图上,相邻采样之间的平均绝对亮度差。所有数据都会画出来,你能看到每个采样离阈值有多远,从而去调阈值,而不是相信一个看不见的分数。

导出的帧是什么质量?

默认使用视频的原始分辨率,可选无损 PNG,或带质量滑块的 JPG/WebP。当你要的是一张联系表而不是母版时,也可以按 50% 或 25% 导出。

© 2026 oLoveTools关于

下一步

压缩帧图像 CompressSnap 去除背景 Background Remover

FrameSnap | 在线从视频提取帧

在浏览器中从视频里提取精确的帧。帧率是实测而非猜测,每次截取都会等待该帧真正呈现,批量提取与镜头切换检测都是标配。任何内容都不会上传。

为什么「后退一帧」比看上去难

HTML 的 video 元素根本没有「帧」的概念。它只有以秒为单位的当前时间,而设置它会启动一次异步跳转,等解码器到达那里才算结束。因此几乎所有浏览器里的取帧工具都在做两件靠运气的事:把一秒除以用户在输入框里填的帧率,以及在移动之后立刻把视频画到 canvas 上。这两件事都朝同一个方向出错。如果真实帧率是 23.976 而框里写的是 24,位置每四十二秒就会漂移整整一帧;而如果跳转还没落地,canvas 收到的就是移动之前那一帧。这个工具把两个猜测都去掉了:requestVideoFrameCallback 会报告合成器真正显示的每一帧的呈现时刻,于是帧率变得可测量,也让「等待某一特定帧」成为可能,而不只是期望它出现。

同样这个「等待完成的跳转」,让其余功能成为可能。批量运行就是一个「跳转并等待」的循环,所以你要求每两秒一帧,拿到的确实是间隔两秒的帧,而不是解码器碰巧准备好的画面。镜头检测是同一个循环,中间加了一次比较:每个采样缩到 64 像素宽,用平均绝对亮度差与前一个比较,所有分数都会画出来,于是阈值是你可以据理力争的东西,而不是工具替你拍板的结论。剩下的就是记账,而它比听上去更重要:十二张 4K PNG 就是半个 GB 的活跃 blob,所以图库只显示缩略图,每次截取都报出自己的体积,总量会告诉你什么时候该下载并清空。这一切都在标签页里完成,针对一个从不移动的文件。

常见问题

我的视频会被上传吗?

不会。浏览器从本地 object URL 解码,帧在同一个标签页里画到 canvas 上。没有服务端,关掉页面文件就没了。

它怎么知道帧率?

它去测。视频会静音播放极短一瞬,同时 requestVideoFrameCallback 报告每一帧的呈现时刻,间隔的中位数就是帧率。浏览器不提供这个回调时,工具会照实说明,而不是假装知道。

为什么步进比以前慢?

因为现在每一步都会等新的一帧真正呈现,才算完成。这个等待,正是「保存你看到的那一帧」和「保存前一帧」之间的差别。

可以一次提取很多帧吗?

可以。批量标签页支持每 N 秒一张、在区间内均匀取 N 张,或两点之间的每一帧,单次最多 500 张。开始前会告诉你数量,按「停止」或 Escape 立刻中断。

镜头检测到底在测什么?

在宽 64 像素的缩略图上,相邻采样之间的平均绝对亮度差。所有数据都会画出来,你能看到每个采样离阈值有多远,从而去调阈值,而不是相信一个看不见的分数。

导出的帧是什么质量?

默认使用视频的原始分辨率,可选无损 PNG,或带质量滑块的 JPG/WebP。当你要的是一张联系表而不是母版时,也可以按 50% 或 25% 导出。

相关搜索

视频帧提取, 从视频提取帧, 视频转图片, 逐帧, 视频截图, 镜头检测, 批量导出帧, 保存视频静帧