看 YouTube 上的技术演讲时,遇到讲得特别好的内容,总想把关键要点记下来。但之前的流程非常繁琐:先找在线工具下载视频,再找工具提取字幕,得到的字幕格式往往乱七八糟,还需要手动清理。一套操作下来,光是找工具就花了半小时,真正的笔记整理还没开始。
另一个更折腾的场景是录制产品 DEMO。画面录好了,但需要后期配音,自己录音总是难以把握节奏,口误和卡壳频频出现,导致反复重录和剪辑。每次都在想,既然 Claude Code 能帮我写代码,为什么不能让它也帮我处理这些视频任务呢?
思考之后,决定干脆自己动手写一个解决方案。
Video-Skills:一个开源的视频处理技能包
于是,就有了这个开源的 video-skills。它是一个为 Claude Code 设计的视频处理技能(Skill)集合,目前包含三个核心功能:
download-video:从 YouTube、Bilibili、Twitter/X 等超过 1000 个平台下载视频。
transcribe-video:提取视频字幕。它会优先使用视频内嵌的硬字幕或软字幕,只有在没有字幕的情况下才会调用 AI API 进行语音转录,既快又准。
narrate-video:为静音视频自动生成配音,并能将语音节奏与画面内容进行对齐。
这三个技能既可以独立使用,也可以串联起来形成一个自动化工作流。例如,我最常用的流程是:下载一个 YouTube 视频 → 将其转成文字稿 → 拿着干净的文本去整理笔记。或者,录完一段产品 DEMO 后 → 让 Claude 分析画面并撰写解说词 → 自动生成配音并合成到视频中。
安装与前置依赖
安装方式非常简单。在 Claude Code 环境中,可以直接使用以下命令:
/plugin marketplace add feiskyer/video-skills
/plugin install video-skills@video-skills
或者,通过 npx 全局安装:
npx skills add feiskyer/video-skills
它的前置依赖只有两个命令行工具:yt-dlp 和 ffmpeg。在 macOS 上,用 Homebrew 一键安装即可:
brew install yt-dlp ffmpeg
对于其他操作系统,可以让 Claude Code 帮你生成对应的安装指令。
下面,就通过两个我最常用的实战场景,来展示它的具体用法。
场景一:将 YouTube 视频快速转为文字笔记
上周看到了 Andrej Karpathy 的一个新访谈,时长一个多小时。我想先拿到文字稿,以便快速浏览重点。在 Claude Code 中,我直接丢入视频链接:
帮我下载这个视频 https://www.youtube.com/watch?v=kwSVtQ7dziU
download-video 技能会调用 yt-dlp,将视频下载到 ~/Downloads/Videos/ 目录。如果你想只下载音频,或者指定下载 720p 画质,直接用自然语言描述即可,例如“只要音频”或“下载720p版本”。
下载完成后,紧接着进行转录:
把刚下载的视频转成文字
transcribe-video 技能会先智能检查视频是否包含内嵌字幕。许多 YouTube 视频都自带高质量的字幕,使用它们不仅准确率更高,而且速度极快,最关键的是完全免费,无需消耗任何 API 额度。只有当视频没有字幕时,它才会调用 OpenAI 的 gpt-4o-transcribe 模型进行语音识别。转录出的文字稿会自动清理掉时间戳和各种格式标签,直接输出为干净的纯文本。拿到文字稿后,再让 Claude 帮你总结摘要,整个流程一气呵成,效率大大提升。
对于确实没有内嵌字幕、需要调用 AI 转录的视频,你需要配置 API Key。只需创建一个 ~/.transcribe_video.env 文件,并填入你的密钥:
OPENAI_API_KEY=your-key-here
它也支持其他兼容 OpenAI API 的平台,只需在环境变量中额外加上 OPENAI_API_BASE 即可。
场景二:为产品 DEMO 视频自动生成配音
下载和转录解决了“消费”视频内容的问题。但当你需要“创造”内容时,比如录制了产品 DEMO 但忘了录音或需要后期配音, narrate-video 技能就派上用场了。
过去自己录制视频 DEMO,常常被口误、卡顿和节奏不匹配困扰,后期剪辑耗费大量时间。现在,你只需要录好视频画面,然后用一句话就能搞定配音:
给这个 DEMO 视频加上中文配音 demo.mp4
Claude Code 会执行以下智能流程:首先,每隔几秒对视频进行截帧,分析每个时间点屏幕上显示的内容,并建立一份详细的“场景时间表”。接着,它会根据画面内容,撰写带有精确时间戳的解说词,并且会控制每段文字的长度,只占用对应时间窗口的 80%,为语音留出自然的停顿间隙。最后,调用 Azure TTS 服务逐段生成高质量语音,再严格按照时间戳将这些语音片段合成到原始视频中,实现音画同步。
使用时,你需要配置 Azure 语音服务的密钥。创建 ~/.narrate_video.env 文件,并设置以下变量:
AZURE_SPEECH_KEY=your-key-here
AZURE_SPEECH_REGION=eastus
总结与后续
从技术实现上看,video-skills 所做的事情并不复杂,本质上它是对 yt-dlp、ffmpeg 以及 Azure Speech 等命令行工具和云服务 API 的封装与流程整合。但正是这种封装,将复杂的参数和操作步骤转化为了简单的自然语言指令,使得在 Claude Code 中使用它们的体验变得无比流畅。这正体现了 AI 时代 AI编程 和 开发者工具 的一种演进方向:降低技术组件的使用门槛,让开发者更专注于创造本身。
如果你对这个项目感兴趣,可以直接安装试用:npx skills add feiskyer/video-skills。
项目的完整代码和文档已开源在 GitHub:https://github.com/feiskyer/video-skills。欢迎大家在 云栈社区 或 GitHub 上交流使用心得,也欢迎提交 Issue 和 Pull Request 来共同完善这个工具集。