Communitygithub.com

video-context

将视频URL或视频文件转换为智能体可读的上下文,作为一个包含帖文文本、字幕或Whisper转录文本以及去重帧的文件夹。当用户分享视频链接(x.com、YouTube、任何yt-dlp支持的网站)或视频文件并询问内容、要求总结或解释、或希望从中学习时使用。将所学内容整理为学习笔记属于learn技能。

video-context 是什么?

video-context技能专为智能体(如Claude Code)设计,使其能够像阅读文本和图像一样“阅读”视频。它将视频分解为三个信息通道:视频附带的帖文文本、视频中的语音内容(通过内置字幕或自动Whisper转录获得),以及视频中的视觉帧。该技能通过一个Shell脚本提取视频,生成一个包含README.md的文件夹,README.md列出了每个通道的状态(存在、缺失、空或跳过)。技能的核心优势在于其高效的资源管理:默认每3秒提取一帧,最多60帧,并自动调整间隔以适配视频长度。用户可以自定义提取参数(如帧间隔、最大帧数、分辨率限制、强制转录和Whisper模型)。对于需要更精细分析的片段,技能支持使用ffmpeg单独提取部分视频并以更小间隔重新处理。支持的平台包括x.com、YouTube以及任何yt-dlp支持下载的网站。最终输出是一个包含视频摘要、时间线(带时间戳的要点)以及缺失通道说明的summary.md文件。该技能通常与learn技能配合使用,用于将视频中学习到的内容整理为学习笔记。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ubeann/skills/tree/main/video-context

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

视频上下文

模型只能阅读文本和图像,因此视频被分解为三个通道:视频附带的帖文、语音内容(字幕,否则为转录文本)以及视觉内容(帧)。脚本会探测视频文件并根据找到的内容进行路由。无声屏幕录制或带有音效的动画不会生成转录文本,此时帧承担所有信息。首先阅读bundle中声明的可用通道,然后撰写总结,使后续读者无需打开视频即可了解内容。

步骤

1. 提取

sh ~/.claude/skills/video-context/references/extract.sh <url-or-file>

该命令会打印bundle路径(默认为/tmp/video-context/<slug>/)。默认设置:每3秒一帧,最多60帧,间隔自动拉伸以适应;下载分辨率限制为1080p。可在脚本顶部配置以下参数:INTERVAL、MAX_FRAMES、MAX_HEIGHT、FORCE_TRANSCRIBE、WHISPER_MODEL、SUB_LANGS。退出码2表示缺失某个工具;请从references/setup.md安装后重新运行。

当bundle中的README.md列出每个通道的状态为“存在”、“缺失”、“空”或“跳过”时,提取完成。

2. 读取通道

首先阅读README.md:帖文文本和通道表决定接下来打开哪些内容。

  • 语音。 完整阅读captions.txt或transcript.txt。自动字幕可能会拼错产品名称;帖文文本和帧可以纠正这些错误。
  • 视觉。 按时间戳顺序阅读frames/。如果超过20帧,先每三帧读一帧,然后回到问题所涉及的片段。当两个通道都存在时,对照帧检查转录文本中的说法:演示可能说一套,而屏幕显示另一套。

当每个标记为“存在”的通道都已读取,且每个帧要么已打开,要么位于您指定为跳过的片段中,则完成。

3. 总结

在bundle中写入summary.md:

  • 一段概述:格式(演示、对话、动画、屏幕录制)以及视频的核心观点。
  • 按[m:ss]顺序排列的时间线列表,每一点描述一个画面或一句话,转录内容直接引用原文。
  • 一行说明通道未携带的内容:无音频、赞助商片段、帧过于粗糙无法展示快速编辑等。

当每个时间线要点都对应一个帧文件或转录文本行,且空通道说明与README表一致时,总结完成。

4. 回复

按照用户提问的详细程度回答问题,并提供bundle路径以便用户打开帧。如果问题涉及学习,则继续使用learn技能,以summary.md作为其文章分支的获取源。

工作习惯

  • 需要更精细帧的片段应单独处理:使用ffmpeg -ss <start> -t <length> -i clip.mp4 -c copy part.mp4裁剪,然后以INTERVAL=1提取part.mp4。对整个视频使用更小间隔重新处理会成倍增加必须读取的帧数。
  • 转录文本默认使用英语。其他语言需要多语言模型;references/setup.md中说明了具体模型。
  • Twitter永远没有字幕,因此任何带语音的x.com剪辑始终会运行Whisper。预计处理时间约为剪辑时长五分之一。

相关技能