无需上传、100% 本地处理、无需账户

提取视频帧

从视频中抓取静止图像。选择每秒多少帧和图片格式,一切都在浏览器中运行。

提取视频帧 的工作原理

直接在浏览器中从任意视频提取 PNG 或 JPG 格式的静态图像,ffmpeg WebAssembly 在你的设备上运行 fps 滤镜。你可以提取每一帧、每秒一帧,或以自定义的秒数间隔提取帧。你还可以将提取范围限制在片段内的特定时间段。ffmpeg 完成后,每张提取出的图像都会以各自独立的下载链接提供,不会打包成压缩包。

PNG 输出会完全按照视频帧中的样子精确保留每个像素,适合图像分析、缩略图生成或机器学习数据集准备。JPG 输出会应用有损压缩以减小单个文件体积,代价是画质略有下降,更适合视觉预览或只需要快速参考的场合。提取速度取决于所请求的帧数和设备的 CPU 性能;从短片段中提取几个关键帧几乎是即时的,而从一段较长的 4K 录像中提取每一帧则可能需要几分钟。

提取视频帧 的分步使用说明

  1. 拖入或选择你要从中提取帧的视频。
  2. 选择提取间隔(每一帧、每秒一帧或帧间自定义秒数)。
  3. 可选地设置开始时间和结束时间,将提取限制在特定范围内。
  4. 选择输出格式(无损选 PNG,较小文件选 JPG)。
  5. 点击「提取帧」,ffmpeg 完成后逐个单独下载每一帧。

常见使用场景

  • 从产品演示视频中提取帧,用作文档中的说明截图。
  • 从延时摄影录制中每秒提取一帧,创建完整序列的联系表。
  • 从短视频片段构建图像数据集,用于计算机视觉模型训练项目。
  • 从长屏幕录制中定期生成缩略图候选,找到最佳预览帧。

常见问题

提取帧时我的视频会上传到服务器吗?

不会。ffmpeg.wasm 在你的浏览器标签页内应用 fps 滤镜。你的视频被读入本地内存,帧经过采样并以 PNG 或 JPG 文件的形式写入你的设备,然后每一帧都会以各自的本地下载链接提供。没有任何内容会传输给 Sunasty 或任何第三方。

PNG 和 JPG 输出帧有什么区别?

PNG 使用无损压缩,因此提取图像中的每个像素与视频帧中的完全相同,没有数据被丢弃。JPG 应用 JPEG 有损算法(ffmpeg 中的 -q:v 2,接近无损),生成比 PNG 小 5-10 倍的文件,但代价是高对比度边缘和精细细节周围的轻微压缩失真。

我会得到多少帧,它们会占用多少磁盘空间?

帧数等于片段持续时间(秒)除以你选择的间隔。对于 30 fps、60 秒的片段进行每帧提取,那是 1800 个 PNG 文件。每个全高清 PNG 帧未压缩约为 1-3 MB,因此在从长片段最大速率提取之前,请检查可用磁盘空间。

可以只从视频的特定部分提取帧吗?

可以。在点击「提取」前设置开始时间和结束时间。ffmpeg 会定位到开始点并在结束点停止,只处理该片段。当你只需要某个特定时刻的图像时,这是减少输出帧数最有效的方式。

帧提取器接受哪些视频格式?

ffmpeg.wasm 可读取 MP4、MOV、WebM、MKV、AVI 以及大多数常见的容器格式。输入编解码器会被透明处理;你只需选择输出图像格式(PNG 或 JPG)。每个下载的帧会相应地使用 .png 或 .jpg 扩展名。

为什么从长视频提取每一帧需要这么长时间?

fps 滤镜必须逐帧完整解码压缩的视频流,才能为每张输出图像生成原始像素数据。对于一段 24 fps、时长 10 分钟的 1080p 视频,这意味着需要通过 WebAssembly(没有 GPU 加速)解码并编码 14400 帧图像文件。使用较低的提取频率(每 5 秒一帧而不是每帧都提取)能大幅减少处理时间和需要下载的文件数量。