视频抽帧截图

SKILL前端设计
前端设计 未标注权限 许可证不明确
安装这个技能

视频抽帧工具箱:固定间隔抽帧、场景切换关键帧提取、指定时间点截图、均匀抽 N 张做封面候选,支持等比缩放与 jpg/png 输出,按时间戳命名并打印“文件↔时间点”清单。当用户提到“视频抽帧、视频截图、视频转图片、封面图、关键帧提取、每隔几秒截一张、抽出关键画面、把视频转成图片”时使用。不适用于:视频画面剪辑/拼接(video-editor-toolbox)、视频体积压缩(video-toolbox)、视频转逐字稿/字幕(video-to-srt)、配音生成(voiceover-tts)。

一句话选型结论

按资料字段整理

视频抽帧截图是前端设计类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类前端设计 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_3637dc8c/nhao-video-frames-toolbox
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

前端设计
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_3637dc8c仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量6.9 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
出页面与组件

按描述生成页面结构和组件草稿。

调整样式与布局

改间距、配色与响应式布局。

生成设计说明

把设计稿整理成开发能接的说明。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在前端设计场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
视频抽帧截图当前 未标注权限 未标注 未标注 未标注 有
前端设计 只读 GitHub 仓库 882.3 万 Codex、Claude、Cursor 有
Vercel 组合模式 联网访问 GitHub 仓库 385.9 万 Codex、Claude、Cursor 有
Vercel React native skills 前端 只读 GitHub 仓库 246.9 万 Codex、Claude、Cursor 有
adapt 搜索 浏览器控制 GitHub 仓库 202.7 万 Codex、Claude、Cursor 有
使用我的浏览器 浏览器控制 GitHub 仓库 184.8 万 Codex、Claude、Cursor 有

SKILL.md 全文

6.9 KB
模型实际读到的说明书原文,来自技能仓库

视频抽帧工具箱(Video Frames Toolbox)

把视频变成图片序列:一条命令完成抽帧,产出按时间戳命名的图片文件,并打印每张图对应的视频时间点,拿到就能直接用(封面、预览、素材、找画面)。

脚本位置:scripts/extract_frames.py(依赖 ffmpeg/ffprobe,调用前无需加载任何参考文件)。

四种模式速查

模式 参数 行为 典型用途
every --every 5 每 5 秒一张,全片覆盖 定时截图、批量素材、间隔摄影
scene --threshold 0.3 只在画面突变处取帧 找转场/高能画面/关键帧,粗剪选点
at --at 00:01:30,00:02:00 指定时间点精确截图 按时间截图、用户指名要某时刻画面
count --count 10 整段均匀取 N 张(取等分区间中点) 封面候选、视频预览九宫格

通用选项:--width 1280(等比缩放)、--format jpg|png(默认 jpg)、-d 目录(自动创建,默认 ./frames)。

工作流程

  1. 确认输入:拿到用户给的视频路径(本地文件)。文件不存在时报错并让用户确认路径;用户只有视频链接时,先用下载类技能(如 videodl-download)落盘再抽帧。
  2. 选模式(按用户目的判断,不确定时直接问一句):
    - 要"封面/预览图/缩略图" → count(均匀取样最不挑画面)
    - 要"每隔 X 秒一张/全部截图" → every
    - 要"找转场、精彩瞬间、关键画面" → scene
    - 用户给出明确时刻("第 1 分 30 秒那张") → at
  3. 执行命令:输出目录建议放在 workspace 内用户可见的位置(如 ./frames_<视频名>),并按需加 --width(封面一般 1280 即可)。
  4. 汇报结果:脚本结束会打印"序号 + 文件名 + 时间点"清单。向用户复述:共几张、在哪个目录、关键帧分布在哪些时间点。
  5. 后续加工:用户若要拼成一张长图/九宫格 → img-stitch-toolbox;若图片太大 → img-compress-toolbox;若只要其中一张做封面 → 报告对应时间点让用户确认。

命令参考

# 每 5 秒一张
python3 <技能目录>/scripts/extract_frames.py video.mp4 -m every --every 5 -d ./shots

# 场景切换抽帧(阈值 0~1,越小抽得越多;找不到帧时先降到 0.2)
python3 <技能目录>/scripts/extract_frames.py video.mp4 -m scene --threshold 0.3 -d ./keyframes

# 指定时间点截图(支持 00:01:30 / 90 / 90.5 三种写法,逗号分隔)
python3 <技能目录>/scripts/extract_frames.py video.mp4 -m at --at 00:01:30,00:02:00,00:03:15 -d ./stills

# 均匀抽 5 张封面候选,统一 1280 宽,png 无损
python3 <技能目录>/scripts/extract_frames.py video.mp4 -m count --count 5 --width 1280 --format png -d ./covers

输出约定:

  • 文件按时间戳命名:整秒如 frame_000030.jpg(第 30 秒),含小数如 frame_000012.500.jpg(第 12.5 秒);时间点取自 ffmpeg 实际输出的帧时间戳,不是估算值。
  • 极少数情况下时间戳解析失败会回退为序号命名并打印 [警告],此时清单中的时间点仅供参考。
  • 目录中若已有同名文件,自动追加序号(frame_000030_1.jpg)避免覆盖。

示例对话

示例 1:做封面候选
> 用户:帮我从这个视频里挑几张适合当封面的图。
> 助手:用 count 模式均匀抽 8 张:
> extract_frames.py lecture.mp4 -m count --count 8 --width 1280 -d ./frames_lecture
> 然后把清单(文件+时间点)报给用户,让用户按时间点挑选,或直接交付 8 张图。

示例 2:找视频里的转场/高能画面
> 用户:这个视频剪过好几段,帮我找到切换点在哪几秒。
> 助手:用 scene 模式:extract_frames.py vlog.mp4 -m scene --threshold 0.3 -d ./cuts
> 结果如 frame_000125.jpg → 00:02:05.000,即可告诉用户"2 分 05 秒处有一次切换";帧太少就降到 0.2 重跑,太多就升到 0.4。

示例 3:定期截图
> 用户:每隔 30 秒给我截一张,我发群 里播进度。
> 助手:extract_frames.py demo.mp4 -m every --every 30 --width 960 -d ./progress,交付序列图并说明每张对应的时刻。

运行环境

  • 脚本:scripts/extract_frames.py(相对技能根目录)
  • Python:3.9+
  • 外部命令:ffmpeg、ffprobe

开工前先跑一次自检,缺什么当场补,别等跑到一半报错:

command -v ffmpeg >/dev/null 2>&1 || echo "缺 ffmpeg,请先安装再重试"
command -v ffprobe >/dev/null 2>&1 || echo "缺 ffprobe,请先安装再重试"

> 缺依赖时用中文告诉用户缺什么、装完就能用,不要把 Python 的英文 traceback 原样贴给用户。

注意事项

  • scene 的边界:场景检测对硬切最有效;淡入淡出、缓慢运镜可能低于阈值而漏检(调低 --threshold),而高频闪动画面会多抽(调高阈值)。第一帧永远不算场景切换。
  • count 不取首尾:为避免 seek 失败,取的是每个等分区间的中点(如 15 秒抽 5 张 → 1.5/4.5/7.5/10.5/13.5 秒),不含 0 秒和结尾帧。
  • at 超时长的时间点会打印警告并跳过,不会中断整个任务;HH:MM:SS 是时分秒(如 00:09:00 = 9 分钟),不要当"分:秒"传。
  • 格式选择:jpg 体积小适合大批量;png 无损适合精修或后续加字。需要指定画质时可用 -q:v 2~5(脚本未暴露,可自行在 ffmpeg 参数层面扩展)。
  • 性能:4K 长视频全量抽帧很慢且占磁盘,优先 --width 缩放到 ≤1280 再抽;scene/every 模式是单次解码全片,at/count 按点 seek 更快。
  • 依赖:ffmpeg 与 ffprobe 必须在 PATH 中(本机位于 /usr/bin);脚本无需网络、无需 API Key。
  • 测试产物:开发验证时的测试视频与输出放在 /tmp(如 /tmp/vft/),不占用 workspace。

常见问题

5 问
答案由本站依据条目字段整理
视频抽帧截图怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_3637dc8c/nhao-video-frames-toolbox。安装方式为未标注。装完刷新技能列表或重开客户端。

视频抽帧截图支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

视频抽帧截图权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

视频抽帧截图收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

视频抽帧截图用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。