Skip to main content
提取帧 (Extract Frame)

提取帧 (Extract Frame) · 截图待补

这个节点是做什么的

Extract Frame 是 ComfyTV 视频工具链的「定格」步骤:给定一段 COMFYTV_VIDEO,按 positionat_seconds 取一帧,保存为图片快照。常用于从生成视频里拿末帧做 ↪ Extend 续接、做缩略图、或送进 Image Edit / Upscale。 处理在本地用 PyAV(FFmpeg 库)读写文件,不经过 ComfyUI 的 GPU 图像/视频处理管线,速度快、VRAM 零占用。

适用场景

  • 从 AI 生成片段取最后一帧做 I2V 续接
  • 抽中间帧检查运动或构图
  • 视频 → 静态图 → 编辑 / 放大后再回视频

工作原理(为什么 ComfyTV 这样设计)

  • Stage + ▶ 运行:只对本节点上游视频快照抽帧,不 Queue 整图。
  • 快照:读上游 video 的 URL;上游变更后须重跑上游再 Run 本节点。
  • PyAV 后端:直接解析 /view? 指向的 mp4 等文件,解码单帧写 PNG。详见 video-and-audio.zh.md

类型说明(COMFYTV_* vs ComfyUI 原生)

术语提示COMFYTV_* 是 ComfyTV 保存在项目里的结果引用;ComfyUI 原生的 IMAGE/VIDEO/AUDIO运行时才在内存里的数据,二者不能直接连线,需用 Bridge 转换。
如何转换: 原生插件视频 → → ComfyTV Video;帧变成 ComfyUI 内存图像 → ← ComfyTV Image。见 bridges.zh.md

界面与参数说明

video(输入)

上游 COMFYTV_VIDEO。来自 Video StageLoad VideoVideo Clip 等。未连接时 Run 报错。

position

  • last — 末帧(续接常用)
  • first — 首帧
  • middle — 时长中点
  • custom — 用 at_seconds

at_seconds

自定义时间戳(秒),仅 position=custom 时生效。范围 0–3600。

输出说明

新手一步一步

  1. 画布上有带 COMFYTV_VIDEO 输出的节点(如 Video Stage),先 Run 出视频。
  2. Extract Frame,连 video
  3. positionlast(或 custom + 秒数)。
  4. ▶ 运行,在缩略图查看抽帧结果。
  5. 接到 UpscaleVideo Stage(I2V)继续。

完整教程(推荐阅读)

本页只说明这一个节点的参数与用法。端到端流程与多节点串联,请见 GitHub 上的 ComfyTV 用户指南

仓库与工作流

常见问题 FAQ

Q:提示 needs upstream video?
A:Run 上游视频 stage;确认 video 已连线。
Q:和 Load Video + Save Image 比?
A:Extract Frame 留在 ComfyTV 快照体系(下游 COMFYTV_IMAGE),且只跑本节点。
Q:自定义时间超出时长?
A:PyAV 会 clamp 到有效范围;可能落在末帧附近。

相关节点

  • Video Stage / Load Video —— 视频来源
  • Video Clip —— 先剪再抽帧
  • ↪ Extend(工具栏)—— 自动抽末帧并新建 Video Stage