Communitygithub.com

atultiwari/youtube-video-production

端到端 YouTube 视频制作指南,支持短视频或长视频,基于 Remotion 构建,使用克隆 TTS 语音旁白。提供三种模式:模拟应用界面的屏幕教程、医学/科学教学的手绘插画讲解、或混合模式,以及基于运动图形的新闻/事件讲解(使用 remotion-motion-explainer)。

youtube-video-production 是什么?

该技能提供了一套完整的、顺序化的 YouTube 视频制作指南,确保每个步骤都有明确的规则和失败依据。它支持四种模式:屏幕教程(基于真实应用截图)、插画讲解(使用 remotion-whiteboard 手绘)、混合模式以及运动图形讲解(使用 remotion-motion-explainer 构建新闻/事件可视化)。核心原则包括“语音优先于画面”,通过测量音频节奏来确定每个 beat、动画和剪辑;以及“两次捕获”策略(教程/混合模式)——先在脚本前进行侦察捕获以确保脚本可行性,再在定稿后进行最终捕获。项目通过 STATUS.md 文件跟踪进度,并设置了两个人工检查点(脚本审查和关键帧审查),以减少返工。该技能集成了多个辅助工具和脚本(如 sarvam-tts.py、check-script.py、focus-check.py 等),覆盖从选题、验证、参考捕获、脚本编写、语音录制、音画同步到发布的全流程。它适用于任何希望系统化、高质量地制作教学或解释性视频的开发者、教育工作者或内容创作者。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/atultiwari/youtube-video-production/tree/HEAD

在你喜欢的 AI 中提问

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

文档

端到端视频制作指南

一个运行指南:“下一步做什么”,按顺序列出,并附每条规则背后的失败原因,以便你可以质疑而非盲从。流程顺序对所有主题相同;模式决定具体实现。

0 · 选择模式

在开始任何工作之前决定,并在视频的 STATUS.md 中记录为 mode:。模式决定参考来源的选取以及画面的构成。

屏幕教程 tutorial插画讲解 illustrated混合模式 hybrid运动讲解 motion
教学内容如何使用某个应用或工具一个概念:病理学、生理学、任何科学一个概念,以及应用该概念的工具新闻事件、事故或案例及其教训
步骤 3应用界面的侦察捕获参考研究:图谱、显微照片、实物根据每个 beat 同时进行带来源的事实清单(屏幕上每个数字都有引用)
步骤 9最终捕获无仅针对应用相关的 beat无
画面基于捕获参考构建的应用截图通过 remotion-whiteboard 绘制的图画每个 beat 使用其对应模式排版、地图、报纸页面、仪表盘,通过 remotion-motion-explainer

motion 模式不替代任何事物:任何 绘制 的内容(笔、手、逐笔绘制的图画)仍属于 illustrated 模式,并仍通过 remotion-whiteboard 处理。motion 的关卡 2 是负责人批准带有临时字幕的静音预览。

根据观众必须看到的内容来选择模式,而不是按习惯。 如果某个 beat 不需要真实界面,就使用插画模式。在没有模式区分的情况下,曾有人为不显示应用的病理教学视频准备了应用捕获素材。

流程顺序及其原因

 0  选择模式               教程、插画或混合模式;以及风格
 1  确定选题               角度、受众、一个核心观点
 2  验证所有主张           在动笔写脚本之前完成
 3  参考收集               捕获应用界面,或研究需要绘制的素材
 4  撰写脚本               然后进行脚本检查
 5  ── 关卡 1 ──           在开始任何录制之前,必须有人阅读脚本
 5a 故事板                 插画模式:每个 beat 一张图,在关键提示词处标记事件
 5b 关键帧 ── 关卡 2 ──   负责人审批静态画面效果
 6  录制旁白               sarvam-tts.py:克隆声音,每个 beat 录制一次
 7  合成母版               输出到最终交付目标
 8  测量 → 网格 → 文字     根据录制的旁白决定所有时间点,精确到每个字
 9  最终捕获               教程和混合模式:脚本所需的精确操作流程
 10 构建                   在网格基础上构建插画(插画模式)或应用截图(教程模式)
 10b 音效                  根据画面添加音效,背景音乐,在旁白下方降低音量
 11 视觉质量检查           检查是否存在探测问题、焦点单一、画面填充、事件间隔、2 秒规则、静音审查
 12 渲染
 13 发布                   元数据、章节、上传、排期

语音优先于画面。 录制是时钟:每个 beat、动画和剪辑的定位都基于 测量的 音频,再根据每个单词转录的时间。此前曾出现单词计数估计在整段脚本上有 25% 的误差,且每个单词的中位数时间偏移达 1.3 秒。详见 references/mistakes.md。

捕获两次(教程、混合模式):在脚本之前进行侦察捕获,确保脚本只承诺应用能做到的事情;在流程明确后,进行最终的录制。

一次只聚焦一个内容。 按阅读顺序,一次只绘制或书写一个地方:笔记、图画、标签,然后是指针。视频必须能在静音状态下教学:focus-check.py 会测量这一点,并由新的智能体在静音状态下观察测试(09-motion.md, 11-visual-qa.md)。

两道人工关卡。 关卡 1:脚本检查,修改成本极低,而录制则不然。关卡 2:视觉效果检查,在构建每个 beat 之前,基于关键帧静态画面:没有它,v2 版本只能在空白的暗色背景上显示文字。

首先明确当前位置:通过 scripts/video-status.py 检查视频的 STATUS.md(status-and-resuming.md);在停止工作前,最后更新此文件。

不可妥协的原则

  1. 在写出一个句子之前,必须先有原始出处。 二手来源错误的频率很高,这一点没有商量余地。
  2. 模拟界面必须基于捕获的参考构建,绝不能凭记忆(教程、混合模式)。一个应用的 composer 在重建三次后仍然错误,直到测量了真实应用后才修正。
  3. 虚构的输出必须在屏幕上标明(模拟 — 仅供示意);示意图需标注 简化图。
  4. 任何帧中不得出现任何私人信息:演示、侧边栏、真实账户引用或幻灯片标签中均不允许(12-pathology-visuals.md)。
  5. 在采信之前,必须重新读取书面表单字段的内容。 键入的值可能静默出错。
  6. 绝不手动编辑时间文件(beats.json, lines.json)。它们是由工具生成的。

该技能编排的其他技能

技能或工具包在视频制作中的职责
本技能的工具包node <skill>/scripts/install-kit.mjs <project> --style paper-notes:安装组件、样式、字体、QA 和构建工具。首先安装 remotion-whiteboard 的工具包。
remotion-whiteboard任何绘制或手写的内容必需:笔画、手写文字、画笔。
motion-design为非绘制元素提供缓动和编排
remotion-best-practicesRemotion API 使用最佳实践
remotion-motion-explainermotion 模式:其自身的模板、组件、语音/字幕/音效脚本及工作示例 (fridge-hack)
video-promo-kit步骤 13(所有模式):缩略图变体(负责人挑选)、1:1 轮播 + LinkedIn PDF、YouTube 描述/章节/标签、LinkedIn/Instagram/WhatsApp 文案
youtube-uploader步骤 13:通过 Data API 上传(先试运行,负责人确认后使用 --confirm)、缩略图、字幕、播放列表、排期

如果没有 remotion-whiteboard,请在构建步骤停止并说明原因;绝不要临时拼凑绘制组件。install-kit.mjs 会强制执行此检查。

详细文档存放位置:在对应阶段阅读相应文件,不要提前

文件对应阶段
references/01-plan-and-validate.md1–2
references/02-capture-reference.md3 和 9:捕获,或插画模式下的参考研究
references/03-script.md4–5,包括频道要求
references/07-art-direction.md0(风格)和 5a–10:作为数据存储的 house style
references/08-storyboard.md5a–5b,关卡 2
references/04-voice.md6–8
references/09-motion.md8(单词时间)和 10:元素入场,每 2–4 秒的事件
references/05-build.md10:教程截图、白板画笔和绘图库 (objects.tsx)
references/10-sound.md10b
references/11-visual-qa.md, references/rubric.md11
references/12-pathology-visuals.md3 和 10,用于医学图像
references/13-longform.md超过 12 分钟的视频和章节
references/06-publish.md12–13:渲染、ready-to-upload/ → youtube-uploader → _uploaded/(以及 video-promo-kit 的推广材料)
references/14-lessons-2026-10.md任何模式:测量的语音数据、Whisper 录制检查、单词提示、组件触发音效、来自 fridge-hack 构建的 QA 规则(E01 的经验教训已融入 04、05、06、09、11 和 mistakes.md)
references/status-and-resuming.md恢复视频制作或记录决策
references/mistakes.md出现异常行为时:调试前先阅读

随技能提供的脚本:每个脚本都支持 --help,且仅读取指定的项目

阶段脚本
状态检查video-status.py(根据模式显示视频当前步骤)
4–5acheck-script.py(TTS 陷阱检查),check-storyboard.py(每个 beat 一张图、提示词、间隔)
5bdraft-takes.py(在录制前生成草稿网格,仅用于关键帧)
6sarvam-tts.py(通过 API 录制克隆声音;需要 SARVAM_API_KEY 环境变量;--respell 可指定一系列口语形式的映射)
7–8check-takes.py(用 Whisper 检查每个录制是否与脚本一致),master-audio.py,build-audio-grid.py,word-timestamps.py(精确的单词时间)
10install-kit.mjs <project>(安装工具包、样式、字体、工具、Python 虚拟环境),make-paper.py;工具包中还有 makeBeat/HL (beatspec.tsx) 和对象库 (objects.tsx, 静态测试 kit-objects)
10bsound-design.py
11focus-check.py,frame-fill.py,event-gaps.py,gap-words.py(每个静态间隔中说的词),contact-sheet.py;工具包中的 tools/qa.mjs,tools/stills.mjs(中点、结尾、每 N 秒截图),tools/build-all.sh(如果画面过于静态则停止渲染)
13chapters.py(从网格生成 YouTube 章节),captions-srt.py(根据单词时间生成上传字幕)

模板:templates/ 目录下的 STATUS.md、STORYBOARD.md、MUTE-REVIEW.md。样式:styles/*.json。

格式

短视频:1080×1920,以 2160×3840 分辨率交付(使用 build-all.sh --deliver-4k)。时长 26–56 秒,一个核心观点;第一行和第一帧决定一切。底部 360 像素区域保持空白以放置 UI 元素。

长视频:1920×1080,30fps;时长 7 到 12 分钟,插画讲解授课模式为 15–30 分钟,以 3–5 分钟为章节构建(13-longform.md)。可选第二语言作为备用音轨。

过时内容

参考文件中的价格、模型名称、层级边界和法规定期日期均以头顶部的 measuredOn 日期为准。任何标记为 VERIFY 的内容在摄像机前说出之前,必须与其原始出处重新核对。切勿将本技能中的任何数字直接继承到脚本中。

相关技能