# 从 0 搭建口播视频 Skill(1)
**作者**: 实践哥MinLi
**日期**: 2026-07-23T13:15:12.000Z
**来源**: [https://x.com/MinLiBuilds/status/2081412645513818542](https://x.com/MinLiBuilds/status/2081412645513818542)
---

现在做一条口播视频,你要接触七八个工具:剪映 / CapCut、Remotion、HeyGen、Gamma、ElevenLabs……光这串名字就够劝退,其中好几个还得付费订阅。
更麻烦的是用一阵子之后总会出岔子:字幕对不齐、配音念飘了、画面不听话。这时候问题来了——该改哪里?你不知道,因为每个环节你按的都是别人封装好。
> 这是一个系列的第一篇。整个系列的终点,是一个「数字人口播 skill」——丢一个主题进去,出来一条有数字人、对得上口型的口播视频。但第一篇不做数字人。
我想学明白,也想给大家一套清晰好用的口播 skill。所以我定了个目标:从 0 搭,每个环节自己接,慢一点没关系,这一轮我要的不是成片,是把原理吃透。 搞清楚了原理之后,再去接一体化的工具,事半功倍。
读完这篇你会拿到三样东西:一条口播视频到底由哪几个环节构成、以及一条已经跑通、固化成 skill 的流水线。手痒了,今晚就能自己搭一条。
空口无凭,直接上成品:下面这条视频,画面、人声、字幕、背景音乐,没有一样是我手工拖出来的。
> **实践哥MinLi@MinLiBuilds**: [原文链接](https://x.com/MinLiBuilds/status/2080280568869360043)
>
> 梁文锋说克制,我看到的全是野心。
> 我把这 4 小时闭门讲话浓缩成 4 分钟视频,可以快速了解 Deepseek 为什么是 Deepseek。
> 他首次透露:DeepSeek 目前约有 2 万张 H 系列等效算力,接近训练 DeepSeek-V3 时的 10 倍,而且仍在激进扩张。
> 近 4 小时的闭门讲话,第一次把 DeepSeek 的 AGI
>
> 
这一版的效果已经满足一些基本的要求,后面我们可以持续迭代,把这个 skill 做好,这就是后面几篇需要做的事情。
## 导读:不用从头啃
按你现在的状态挑着看就行,全文一共 3 章:
- 搞清楚:一条口播视频由什么构成,看 1。
- 怎么做:强烈建议看 2, 可以搞清楚这个 Skill 的原理。
- 跑起来: 这张最简单,想看看 Skill 怎么用,或者自己写,看「3.你也能照着写一个」
## 1. 主流那条路长什么样
动手之前我先去 X 上翻了一圈,看这个领域现在的水位在哪。
最热闹的那几类,其实离「口播讲解」都还隔着一层:有人先用 3D 软件把运镜和调度预演出来、再让生成模型填画面;有人专攻角色一致性,锁脸锁运镜防人物漂移,做到分镜、口型、微表情级别;还有人在批量产seedance短视频和 AI 广告。这些都是 别人做的比较好的结果。
真正做「口播讲解」的那一档,几乎清一色是同一套组合:
> PPT / HTML/ Remotion/Hyperframe 做画面 + 配音 + CapCut 自动字幕
整条链路是封闭的,也就是开头那个问题:出岔子了你不知道该动哪一步。
顺带一提,把 HTML 当源文件、整条链路脚本化的做法公开分享的很少(偏工程向),所以你在 X 上会有种「这条路没人走」的错觉。其实有人走,只是这类人不爱发。
于是我准备从 0 搭建。
一听「从 0 搭,每个环节自己接」,脑子里是不是已经开始报红了:要写代码吧?要本地跑模型吧?要装一堆环境吧?
先深呼吸,完全不是那么回事。
## 2. 怎么做:口播 Skill 的原理
本章节最重要,看清原理,未来真到用的时候,就是「跟 AI 聊出一个框架 + 敲一条命令」。
本章节最重要,看清原理,未来真到用的时候,就是「跟 AI 聊出一个框架 + 敲一条命令」。
本章节最重要,看清原理,未来真到用的时候,就是「跟 AI 聊出一个框架 + 敲一条命令」。
写这种流水线最容易犯的错,是上来就跟 AI 说「帮我做一个口播视频」。它会把画面、配音、字幕、合成全塞进一坨,出来一条能看的,但哪不对你都改不动。
正确的第一步是先把活拆开,看每段谁最擅长。口播视频拆下来正好五个角色:
- HTML「画面」:幻灯片就是一个网页,字号、留白、翻页时机全是可写死的参数。
- TTS「嘴」:把口播稿念成人声。
- Whisper「耳朵」:反过来听这段人声,倒推每句的真实时间戳。
- Playwright「摄像机」:让网页自己播一遍,无头浏览器逐帧录下来。
- ffmpeg「剪辑台」:画面 + 人声 + BGM + 字幕,焊成一条。
连起来就是一条流水线:
① 概念讨论 ──► 讲解框架(framework.json)
② 框架 ──► HTML 幻灯 + 口播稿(一体产出)
③ 口播稿 ──► TTS 出人声 ──► Whisper 重对齐 ──► 字幕
④ 画面+声音 ──► Playwright 录屏 + BGM 混音 ──► ffmpeg 合成
下面逐个说:为什么每个位置,选这样的方案,没选商业化方案。
① 画面:手写 HTML,而不是 PPT / Gamma / 剪映
主流做法 我的选择 改一个字 打开软件手动改,重新导出 改文本文件,重跑脚本 做第二条 再拖一遍 换内容文件,模板不动 能否 diff / 回滚 不能 能,就是一堆文本文件
核心理由只有一个:画面能被代码精确控制。代价是要自己写 CSS,第一次比拖 PPT 慢——但这是一次性成本,模板写好之后每条视频都是纯收益。
② 人声:本地声音复刻
这里我使用了 voicebox,能复刻自己的声音,也能复刻别人的声音,只要简单说几句话就能复刻。他是本地的,免费的。里面集成了各种 audio 模型,做的最好的是 Qwen。它的字幕还自带 whisper。

③ 字幕:Whisper 听人声,而不是 CapCut /剪映 自动字幕
这里有个我一开始就搞错的概念,恰好证明了「手搓」的价值。我最初的说法是「用 whisper 或者其他的,生成音频」。这是错的:
环节 该用什么 方向 生成旁白音频 TTS 文字 → 声音 生成字幕时间轴 Whisper(STT) 声音 → 文字
Whisper 是 STT(听声出字),不是 TTS。它的正确位置是在 TTS 之后——先让 TTS 把稿子念出来,再让 Whisper 去「听」这段人声,倒推每句的真实时间戳。由此推出一条原理性结论:
> 字幕时间戳必须从「最终音频」倒推,不能从「稿子」正推。
因为 TTS 实际念出来的时长,和你按字数估的不是一回事。手填一版时间轴,前几句还对得上,越往后飘得越远。
如果我当初直接抄「CapCut 自动字幕」那一步,我到今天只会知道「有时候字幕会对不齐」,而不会知道为什么。
④ 录制:Playwright 无头浏览器,而不是手动录屏
手动录屏会录进鼠标、窗口抖动、手滑翻错页,每次结果还不一样。无头浏览器录是确定性的:固定 1920×1080 视口;翻页由脚本控制,每页停留时长直接来自音频对齐结果;想重录就重跑,逐帧一致。
⑤ 合成:ffmpeg 脚本,而不是剪辑软件
理由和选 HTML 一样:可复现。所有参数都是命令行里的数字,想调就改数字重跑。
## 4. 跑起来:三步,命令只有一条
说好的,原理过完,用起来就这么点事。
先跟 AI 聊。按照第 3 章原理,先跟 AI 聊,出 HTML和口播稿。基于口播稿生成配音,然后根据Whisper 生成字幕,最后用 ffmpeg 剪成视频。
当然,一切没有那么复杂。因为我已经做好了 skill,你直接跟 AI 去聊,它会一步一步引导你生成最终的视频。
Skill 的结构是这样的:
explain-video/
├── SKILL.md ← 唯一必需:给 Claude/Codex 的说明书 + 干活步骤(它的大脑)
├── scripts/ ← 干活的小工具(tts / srt / 录屏 / 混音 / 合成)
└── references/ ← 幻灯模板这类细节,用到再翻
你可能会问:我又不懂技术,怎么知道该用 Playwright、用 ffmpeg?这些可以全是跟 AI 聊出来的。我只把需求一说——「想让一个网页自己播一遍并且录成确定性的视频」——Claude/Codex 就把现成轮子挑出来、讲清各自干啥、还帮我比了几个方案。你负责说清楚要什么,技术选型交给它,这正是不懂代码也能写 skill 的原因。
如果你要做自己做一个 skill,我只要把这篇文章拷贝给你的 Agent。或者直接用我的 skill ,https://github.com/limin112/min-skill:
手搓完这一轮,再回头看开头翻过的那些方案,我看到的东西完全不一样了:
- 3D 预演那一路,解决的是运镜和调度的可控性——而我的画面是幻灯片,这问题在我这里根本不存在,那套对我是过度设计。
- 角色一致性锁定那一路,是生成式视频固有漂移的补丁;等我第四篇真接数字人时,这条就变成必修课了。
- 「草稿 → 幻灯片 + 逐字稿」,和我这条最同源,是真正可借鉴的。
# 总结
如果第一天就照着最火的那条抄,我今天手上会有一条能跑的管线,但没有上面任何一条判断。
这一篇不追求效果,我也不着急。地基清楚了,剩下的问题都好解决。
最后说一下系统大纲,我会在使用 2~3 篇来实践和讲述:
✅ 第一篇(本篇) 从 0 手搓:调研 → 技术选型 → 跑通全流程 → 口播 skill
🎯 第二篇 把画面做出高级感:设计系统固化 + 动画跟着口播时间轴编排
🎯 第三篇 把声音做自然:引擎/音色选型、中英混读、停顿与重音
🎯 第四篇 接入数字人 + 对口型,合成进现有管线
🎯 终点 一个「数字人口播 skill」:丢主题进去,出成片
如果你也喜欢这篇文章,后面要持续跟进,请给老哥@MinLiBuilds 点个赞,加个关注。
## 相关链接
- [实践哥MinLi](https://x.com/MinLiBuilds)
- [@MinLiBuilds](https://x.com/MinLiBuilds)
- [22K](https://x.com/MinLiBuilds/status/2081412645513818542/analytics)
- [Jul 23](https://x.com/MinLiBuilds/status/2080280568869360043)
- [7.3K](https://x.com/MinLiBuilds/status/2080280568869360043/analytics)
- [https://github.com/limin112/min-skill](https://github.com/limin112/min-skill)
- [@MinLiBuilds](https://x.com/MinLiBuilds)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [12:13 AM · Jul 27, 2026](https://x.com/MinLiBuilds/status/2081412645513818542)
- [22K Views](https://x.com/MinLiBuilds/status/2081412645513818542/analytics)
- [View quotes](https://x.com/MinLiBuilds/status/2081412645513818542/quotes)
---
*导出时间: 2026/7/27 23:33:20*