我让 AI 「扒视频」,从此再也不用手动扒视频和讲稿了 最近我们团队一直在落地 AI Native 的 SDD 的团队研发工作流,疯狂学习各路最佳的实践经验。上周末晚上,我在 YouTube 上刷到一个讲 AI 编程工作流的视频,十二分钟,中文,讲得挺好。 我想把里面的内容整理成文字存下来。按照过去的做法,要么手动边听边敲,要么找个在线转录网站试试运气。YouTube 这个视频没有字幕,在线工具直接歇菜。 我知道有个牛逼的 github 项目 yt-dlp,然后我想让 Claude Code 帮我造一个skill,利用这个现成工具的能力,以后动动嘴就可以下载自由。 这个 Skill 干的事情很直接:你给它一个视频链接,不管是 YouTube、B站、抖音、头条还是小红书,它自动把视频下载下来,提取音频,用 Whisper 做语音识别,最后生成一份干干净净的 Word 文档。 从动念到第一版可用,大概二十分钟。 如果大家觉得有需求,可以留言,我把 skill 分享给大家。我也还在打磨,如果大家都觉得有用,我后续放到 github 上开源。 一个视频引发的需求 事情的起因很朴素。那天晚上我在看的是一个关于 Superpowers 工作流的介绍视频。视频作者演示了如何用这套开源的 Skill 系统在 Claude Code 里做 TDD开发,从需求澄清到代码审查全流程自动化。内容密度不低,我想存一份文字版方便回看。 打开 yt-dlp 一查——没有字幕。YouTube 上很多中文视频都是这样,作者不上传字幕,平台的自动字幕对中文的支持也时好时坏。 如果是两年前,这事就到这了。没字幕就没字幕,手动扒太累,算了。 但现在的情况不一样了。Whisper 已经是一个非常成熟的本地语音识别模型,base 模型 74MB,中文识别准确率相当不错。ffmpeg 提取音频是标准操作。yt-dlp能下载几乎所有主流视频平台的内容。这些工具都在,缺的只是一个把它们串起来的流程。 而 Claude Code 的 Skill 系统,恰好就是干这个的。 Skill 是什么,为什么它有意思 这里有必要解释一下 Claude Code 的 Skill 机制,因为这是整件事的关键。 Skill 本质上是一份 Markdown 文档,里面写的是一套工作流程的详细描述:什么时候触发、需要哪些工具、按什么步骤执行、异常情况怎么处理。当你在 Claude Code里提到相关需求的时候,它会自动加载对应的 Skill,然后按照流程一步步走。 有意思的是,Skill 不是代码库,不是 API,不是插件。它更像是一份「给 AI 看的 SOP」。你把经验和流程写成文档,AI 读了之后就知道该怎么做。 我之前在 Claude Code 里用过不少 Skill——有做 TDD 的,有做代码审查的,有做计划编写的。这些 Skill 的共同特点是:它们把一个有经验的工程师的工作方式固化下来,让 AI 在执行任务时不会乱来。 但那些都是别人写的 Skill。这一次,我想自己造一个。 造一把瑞士军刀 第一版很简单,只处理 YouTube 视频:用 yt-dlp 下载字幕,解析 VTT 格式,去掉时间戳,生成 Word 文档。五分钟搞定。 但我很快发现一个问题:YouTube 的字幕覆盖率没有想象中那么高。我日常看的中文技术视频,大概一半以上是没有字幕的。一个只能处理有字幕视频的工具,使用范围太窄了。 于是加了 Whisper。这是第一次升级:当 yt-dlp 拿不到字幕时,自动提取音频,跑 Whisper 做语音转文字。这一下子把适用范围拉宽了——理论上,只要视频里有人说话,就能出文字。 然后我想到另一个问题。 我平时看的视频不只是 YouTube。B 站的技术分享、头条上的新闻解读、抖音上偶尔刷到的好内容、甚至微信视频号里的直播回放——这些平台各有各的防盗链机制,各有各的视频格式。一个只支持 YouTube的工具,等于只覆盖了我需求的三分之一。 我之前做过一个脚本,专门用 Playwright 浏览器自动化来下载头条视频。原理不复杂:用 headless 浏览器打开视频页面,从 DOM 里找到 <video> 标签的 src 属性,拿到真实视频地址后用 requests下载。这个方案的好处是通用性强,几乎任何能在浏览器里播放的视频都能这么抓。 于是第二次升级:我让 Claude Code 参考这个头条脚本,把 Playwright 方案整合进来,作为 yt-dlp 的兜底策略。 最终的架构变成了这样: 1. 自动识别视频平台(YouTube、B 站、抖音、头条、西瓜、小红书、知乎、微信视频号、快手、微博,以及任何未知平台) 2. 优先用 yt-dlp 下载(它原生支持上面大部分平台),失败则自动切换到 Playwright 浏览器方案 3. 转录走三层:先试字幕,没字幕跑 Whisper,Whisper 也不行就从视频元数据里提取摘要 4. 最后生成格式规范的 Word 文档 从一个只能处理 YouTube 有字幕视频的小脚本,变成了一把支持十多个平台、能处理任何有人声内容的瑞士军刀。而且因为是 Skill的形式,以后每次用只需要说一句「帮我提取这个视频的讲稿」,它就自动跑起来了。 一个体感:造工具比用工具更有意思 我自己用这个 Skill 处理了二十多个视频,有几个体感可以分享。 第一,Whisper 的中文识别能力比我预期的要好。base 模型跑一个十分钟的视频,在 M 系列 Mac 上大概三四分钟(我是 M5),准确率能到 85% 以上。主要的错误集中在专有名词上——「Claude Code」会被识别成「cada code」,「Skill」会变成「scale」,但上下文语义是对的,手动改几个关键词就行。(我试验过程中没翻车) 第二,yt-dlp 对中国视频平台的支持比想象中完善。B 站、抖音、头条、西瓜、小红书、知乎,它都有对应的 extractor。唯一需要 Playwright兜底的是微信视频号,因为它的视频地址需要在浏览器环境里才能解析。 第三,也是我觉得最重要的一点:造工具这件事本身,比我预想中快得多。 过去,如果我想做一个支持十个平台的视频转录工具,光是调研每个平台的反爬机制、调试各种 edge case,没有一两周下不来。现在的情况是:我描述清楚需求和约束,Claude Code帮我写代码,我来做架构决策和质量把关。四十分钟出第一版,隔了一天花一个小时做了多平台扩展。 这里有个微妙的变化值得注意。 过去我们用 AI 编程助手,大部分时间在让它帮我们写业务代码——实现某个功能,修某个 bug,重构某段逻辑。这些都是「在项目内部」的事。 但造 Skill 是另一回事。你不是在写一个项目的代码,你是在造一个工具。这个工具以后可以反复使用,可以给别人用,可以不断迭代。而且因为 Skill 的载体是 Markdown +脚本,它天然就是可移植的——今天在我的 Claude Code 里用,明天可以搬到 OpenCode 里用。 从「AI 帮我写代码」到「AI 帮我造工具」,这中间差了一个认知台阶。 这件事背后更大的图景 我的判断是这样的:AI 编程的下一步,不是写更多代码,而是贴合自己的团队及项目场景实际情况,建更多可复用的工作流。 现在大家谈 AI 编程,还是主要在说「AI 生成代码的准确率」「一次通过率」「能不能处理大型项目」。这些当然重要。但如果你真的在日常工作中深度使用 AI编程助手,你会发现一个规律:重复出现的需求,用 Skill 固化一次,以后就是零成本复用。 我做视频转录的需求,第一次花了十分钟。第二次、第三次、第一百次,每次只需要一句话加一个链接。 这跟软件工程里「不要重复自己」的原则是一回事。只不过过去我们 DRY 的对象是代码,现在 DRY 的对象变成了工作流。 而且 Skill 这个形态有一个特别好的属性:它是声明式的。你不需要精确控制每一步的实现细节,你只需要描述「这件事应该怎么做」,AI 会根据当前环境选择最合适的执行方式。比如我的视频转录 Skill里写了「如果 yt-dlp 失败,则使用 Playwright 兜底」——至于 Playwright 具体怎么查找 video 标签、怎么处理协议相对 URL,这些实现细节是 AI 根据 Skill 描述自己搞定的。 这意味着,即使你不是一个很强的程序员,只要你能把一个工作流程描述清楚,你就能造出有用的工具。 我能感觉到,这件事的想象空间比「让 AI 帮我写一个函数」大得多。 几个实用场景 最后说几个我自己在用的场景,供参考。 技术学习:看到一个不错的技术分享视频,提取讲稿存到笔记里。视频内容的检索性很差,但文字可以全文搜索。 内容创作:做播客或者视频内容的人,可以用这个工具快速生成初稿。Whisper 出的文字虽然有些许瑕疵,但作为初稿已经省了大量工作。 会议记录:把录屏或者会议录像丢进去,自动出文字版。比市面上很多收费的会议转录工具都好用,因为它跑在本地,数据不出本机。 跨语言内容:Whisper 支持多语言自动检测。英文视频转录后,还可以让 AI 翻译成中文。一条龙。 竞品分析:想了解某个竞品的产品发布会讲了什么,但没时间看完一小时的视频。提取文字后五分钟扫完。 这些场景有一个共同点:它们都不是什么惊天动地的大需求,但每一个都在日常工作中反复出现。过去我们要么忍着手动做,要么花钱买 SaaS 服务。现在,一个 Skill 就够了。 这大概就是 AI 工具链真正有用的地方——它不需要解决多么宏大的问题,它只需要把那些你一直在忍受的小摩擦消除掉。 日积月累,这些省下来的时间和精力,会是一个可观的数字。 2026 年 5 月 12 日以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文字,我们,下次再见。