制作毕业设计视频
将学生的项目材料转化为视频,使混合评审委员会能够在一眼观看后理解并记住。该方法源自一个实际成功的展会视频:将项目自身的图表重新绘制为简洁的矢量动态图形,使用自然的AI旁白,每个动画提示都与对应的口语单词精确对齐,诚实标注已构建与计划中的内容,并在交付前进行严格的验证。
学生应尽可能少做:回答几个问题,提交文件,将脚本粘贴到免费的语音工具中,并对设计方案表示同意。其余一切由你完成。
八个阶段
将此检查清单复制到你的任务列表中并保持更新:
- [ ] 1 接收:收集材料,识别领域,询问缺失内容,确定规则和规格
- [ ] 2 理解:阅读所有材料,研究领域,撰写事实清单和声明分类账
- [ ] 3 工艺研究:检查当前的评审期望和当前的Remotion实践
- [ ] 4 设计:概念、视觉系统、故事板、脚本;自我批评;学生审批
- [ ] 5 语音:学生选择语音路径;语音文件到达;转录并检查每个单词
- [ ] 6 构建:Remotion项目,基于单词时间戳的时间线、场景、静帧审查循环
- [ ] 7 渲染:分块渲染,响度和色彩母版处理,带字幕/干净版本
- [ ] 8 验证与交付:通过QA检查清单,移交文件和简短报告
<skill> 下面指的是该技能自身的文件夹(这个SKILL.md所在的文件夹);除非另有说明,否则脚本从视频项目文件夹运行。
两个关键节点需要学生参与:设计方案的审批(第4阶段末)和语音录制(第5阶段)。其他所有工作无需等待。当学生忙的时候(录音、收集文件),继续推进不依赖他们的工作,例如使用临时语音构建场景。
阶段1 · 接收
立即阅读 references/intake.md。其中包含开场问题、通用材料清单以及如何以最少的来回询问。
- 接受学生最初给你的任何材料(报告、海报、幻灯片、仓库链接、一段文字),并在提问前先快速浏览。不要索要你已经收到的内容。
- 识别领域(超大规模集成电路/硬件、嵌入式/物联网、软件/网页/移动、人工智能/机器学习、网络/安全、机器人/机电一体化、电源/电气、机械/土木、生物医学,或混合领域),然后阅读 references/domains.md 的匹配章节。其中列出了使该领域视频更具吸引力的输入以及评审员期望的视觉效果。
- 一次性、批量化地询问:视频类型和时长限制、官方规则或评分标准、截止日期,以及仍然缺失的特定领域材料(图表、规格文件、实现文件、结果、截图或屏幕录制、Logo、团队和导师姓名)。在可行的情况下使用 AskUserQuestion 工具进行选择,对于文件则使用纯文本检查清单。将每个项目标记为 必备 或 最好有,以便学生了解重要性。
- 确认项目的阶段。 "提案/进行中/已完成" 决定了时态以及哪些声明是允许的(参见第2阶段的声明分类账)。搞错这一点是项目视频可能犯下的最具破坏性的错误。
- 在工作文件夹中编写
brief.md:视频类型、时长上限、观众、截止日期、阶段、已收到材料、缺失材料、约束条件。用几行显示并继续;除非缺少关键材料,否则不要等待回复。
默认视频类型(当学生不确定时,详情见 references/storytelling.md):
| 类型 | 时长 | 目的 |
|---|---|---|
| 展会推介 | 2:00–3:00(在任何限时下至少留出5秒余量) | 主要提交内容;海报二维码 |
| 展位循环播放 | 0:60–1:30,无缝循环 | 在展位静音播放;必须无需声音也能工作 |
| 演示视频 | 3–6 分钟 | 完成的项目运行:真实镜头加说明性图形 |
| 演示视频 | 6–15 分钟 | 取代现场演讲的带旁白演示 |
| 预告片 | 0:30–0:60 | 社交媒体或开场幻灯片 |
阶段2 · 理解项目
- 完整阅读每个提供的文件,包括图表(查看图片)、代码入口点、规格表格和结果日志。项目中充满了报告忽略的细节,而这些细节恰好能制作出最佳的视觉效果。
- 研究你已经不了解的领域:项目依赖的标准、算法或物理原理,以及专家通常如何描绘它们。在可用时使用网络搜索。优先使用主要来源(标准、数据手册、论文、官方文档)。
- 产出三个文件:
fact-sheet.md:用通俗语言解释问题、方法、架构、结果和影响的一页说明,每个数字都注明来源文件及页码/章节。claims-ledger.md:可能出现在屏幕上的每个数字或声明,标记为 已测量、模拟、目标/估计、计划中 或 背景(引用)。只有分类账中的条目才能出现在视频中。标签决定了措辞(“达到” vs “目标” vs “将”)。glossary.md:缩写和名称及其发音(例如 “RISC-V → risk five”, “ML-KEM → em-el kem”)。语音脚本和字幕都依赖于此。
- 如果某些重要信息矛盾(两个不同的时钟频率,报告和海报中命名不同的总线),请询问学生哪个来源是当前的。不要猜测。
阶段3 · 工艺研究
此工作量应适度投入:快速检查,而非文献综述。
- 搜索学生实际参加的活动:其评分标准、时长限制、格式以及任何过往获奖视频。评审员根据评分标准打分,因此脚本应明确满足每个标准。
- 如果 references/remotion-build.md 中的内容看起来过时,请检查当前的 Remotion 版本和 API 说明。如果官方 Remotion 代理技能可安装(在 Remotion 项目内运行
npx remotion skills add),则安装它以获取权威的 API 细节。 - 在设计之前阅读 references/visual-design.md。它包含了使参考视频成功的关键动作语法、场景原型和反”AI幻灯片“规则。
阶段4 · 设计视频
阅读 references/storytelling.md 和 references/visual-design.md。
- 概念。 一句描述和一个视觉创意,支撑整个视频(例如:“海报活了起来:摄影机飞过的一个连续图表”)。它应源自项目本身,而非通用的科技美学。
- 视觉系统 来自项目自身的标识:海报/报告的颜色、字体、Logo和图表风格。为每种颜色分配一个含义并贯穿始终(例如,琥珀色 = 仅限目标)。
- 故事板 在
video-design.md中使用 assets/storyboard-template.md:场景ID、时间段、旁白、画面、屏幕文字、声音,以及它使用的分类账事实。计划3-5个“掌声时刻”:抽象概念变得显而易见的视觉回报。 - 脚本 每分钟约140-150个口语词,在时长限制下留出5-10%的余量。为耳朵而写:短句,每句一个想法,按人们习惯的方式说出数字。
- 自我批评循环。 以一名该领域外的怀疑评审员的身份,根据 references/storytelling.md 中的评分标准为草稿打分。修改直到每一行都得分良好,至少两次。常见修复:剪掉前20秒的行话,添加一个具体例子,让回报视觉化而非口头化。
- 审批关卡。 向学生展示概念、场景表和完整脚本,以及三张风格帧静帧(如果构建进展顺利)。等待批准或修改。这是改变方向成本最低的节点。
阶段5 · 语音
阅读 references/voice.md。提供三种路径及其诚实的权衡,推荐第一种:
- Google AI Studio (Gemini TTS)。 免费、自然且富有表现力;大约需要学生15分钟。给他们基于 assets/voice-sheet-template.md 构建的复制粘贴语音表:精确点击步骤、风格指南、为正确发音而拼写的脚本块、文件命名,以及一个收听检查清单。
- 学生自己的声音。 最真实的选择,评审员会奖励。提供录音技巧和相同的脚本块。
- 这里生成的本地TTS。 学生无需任何努力,但听起来明显更合成。使用可用的最佳引擎(参见 voice.md),并直白地告知与选项1相比,它听起来会像机器人。
不要空闲等待语音文件:使用临时语音(本地TTS)构建动画小样,并在真实语音到达时重新调整时间。语音文件到达后,转录它们(scripts/transcribe.mjs)并逐字与脚本对比:缺失的单词、读错的名字、被念出来的暂停标签以及节奏。你无法收听,因此这个转录检查就是你的耳朵;如果需要,明确告知学生哪一行需要重新录制。
阶段6 · 构建
阅读 references/remotion-build.md。然后:
- 运行
node <skill>/scripts/check_env.mjs检查 Node、磁盘、内存、Chrome 和 Python。磁盘或内存不足会影响渲染方式(参见 references/troubleshooting.md);现在就发现,而不是在第三个小时。 - 使用
node <skill>/scripts/init_project.mjs <folder>创建项目。它会复制 Remotion 模板和辅助脚本,然后你在其中运行npm install。 - 将语音文件放入
public/audio/voice/takes/,然后运行node scripts/transcribe.mjs获取单词时间戳(scripts/words.json)。 - 编写
video.spec.json(场景、字幕、作为口语短语的提示锚点)并运行node scripts/build_timeline.mjs。它生成src/data/timeline.json和.srt文件。每个动画提示都锚定在一个口语短语上,因此即使语音文件发生变化,画面仍能与单词对齐。 - 运行
python scripts/audio_tools.py清理和调整语音电平,并合成原创的音乐背景和音效。许可曲目是可选的,且必须是免版税的。 - 使用模板的工具包(盒子、线、瓷砖、标签、摄像机)在
src/scenes/中为每个场景编写一个组件。将项目的真实图表绘制为矢量图;切勿凭空捏造架构。 - 静帧审查循环。 这一步使结果变得出色。在关键提示时间渲染静帧(
node scripts/stills.mjs <Composition> t1 t2 …),检查每张图片,并修复重叠、裁剪文本、时序(物体在其对应单词之前出现)、不可读的尺寸和空白帧。重复直到完整一轮检查没有问题。预计需要3-5轮。当磁盘空间紧张时,在两次检查之间清理%TEMP%//tmp中的remotion-*包。
阶段7 · 渲染和母版制作
node scripts/render.mjs <Composition> <output.mp4> 以可恢复的15秒块进行渲染,合并它们,混入音频并对结果进行母版制作:−16 LUFS 综合响度,−1.5 dBTP,BT.709 有限范围,AAC 48 kHz,快速启动。渲染一个带字幕版本和一个干净版本。在拥有充足磁盘和内存的机器上,单次 npx remotion render 后接 scripts/master.mjs 也可以。
一次只渲染一个视频。并行渲染会耗尽学生笔记本电脑的内存和磁盘。
阶段8 · 验证与交付
运行 node scripts/qa.mjs <file.mp4> --max <seconds>,然后按照 references/verification.md 操作:时长在限制内、帧数、响度、无黑色或冻结片段、字幕同步、从最终文件(而非预览)中采样帧并检查、屏幕上每个数字均在声明分类账中、姓名拼写正确、以及致谢信息存在。
交付:
- MP4 文件(带字幕、干净版),
.srt文件,以及可编辑的项目文件夹 - 一份简短报告:每个文件的用途,验证了哪些内容,学生仍需用耳朵检查什么(发音、同步),以及以后如何更改一行
- 提供删除构建工具(
node_modules,缓存)的选项,如果学生需要回收磁盘空间
最重要的原则
- 事实胜于炒作。 一个未完成项目的看似完成的视频在问答环节是负担。将目标标为目标,计划标为计划,模拟标为模拟。仅使用声明分类账中的事实。
- 项目自身的标识,而非科技美学。 它的颜色、它的图表、它的模块名称。没有发光的电路板、粒子网络、带帽黑客或库存3D芯片。
- 每句口语一个想法。 突出一点;淡化其余。每个回报保持0.5-1.5秒。
- 提示与单词对齐。 动画由旁白的时间戳驱动,而非猜测的场景时间。
- 在投影仪和手机上都能阅读。 1080p 分辨率下标签 ≥ 24 px(首选28+),句子字幕位于下半部第五区域,任何重要内容距离边缘至少96 px。
- 验证你交付的内容。 检查从最终 MP4 中提取的帧。预览不是产品。
参考文件
| 文件 | 何时阅读 |
|---|---|
| references/intake.md | 阶段1:问题、材料检查清单 |
| references/domains.md | 阶段1–4:特定领域的输入、视觉效果、陷阱 |
| references/research.md | 阶段2:事实清单、声明分类账、词汇表格式 |
| references/storytelling.md | 阶段4:每种视频类型的结构、脚本规则、审阅评分标准 |
| references/visual-design.md | 阶段3–6:视觉系统、动作语法、场景原型 |
| references/voice.md | 阶段5:AI Studio步骤、自带声音技巧、本地TTS、语音质量控制 |
| references/remotion-build.md | 阶段6–7:项目布局、规范格式、场景代码模式 |
| references/verification.md | 阶段8:QA检查清单和交付报告 |