Summary
用 Remotion 制作可复用的口播视频工程:支持口播音频/视频、右下角圆形 PIP、底部同步字幕、顶部章节进度条、Studio 现代主题、SFX/BGM 规划和可运行 React composition。当用户要创建或修改口播视频工程、把现有 HyperFrames 口播模板迁移到 Remotion、搭建 Remotion 视频项目目录、或把脚本和素材变成 Remotion 成片时,??
liangdabiao/video-skills-toolkit · Archived
用 Remotion 制作可复用的口播视频工程:支持口播音频/视频、右下角圆形 PIP、底部同步字幕、顶部章节进度条、Studio 现代主题、SFX/BGM 规划和可运行 React composition。当用户要创建或修改口播视频工程、把现有 HyperFrames 口播模板迁移到 Remotion、搭建 Remotion 视频项目目录、或把脚本和素材变成 Remotion 成片时,?
npx skills add liangdabiao/video-skills-toolkit --skill talking-head-remotion
用 Remotion 制作可复用的口播视频工程:支持口播音频/视频、右下角圆形 PIP、底部同步字幕、顶部章节进度条、Studio 现代主题、SFX/BGM 规划和可运行 React composition。当用户要创建或修改口播视频工程、把现有 HyperFrames 口播模板迁移到 Remotion、搭建 Remotion 视频项目目录、或把脚本和素材变成 Remotion 成片时,??
This repository is archived — consider an actively maintained alternative.
用 Remotion 制作「纸片分层动画」视频:把背景、主角、?
4 installsConvert local audio/video files or public media URLs into subtitle files by uploading local fil…
3 installs用 Remotion 制作「小白学AI」系列的手绘?
3 installs用 Remotion 制作数学证明/几何动画视频:深底高饱和 + 精准 SVG 几何 + ?
3 installsRelated neighbors and high-traction skills in the same topics — useful to compare before installing.
Use when doing ANY task involving Supabase. Triggers: Supabase products (Database, Auth, Edge F…
263K installsOther skills from liangdabiao/video-skills-toolkit.
npx skills add liangdabiao/video-skills-toolkit
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
main
Files included with this skill beyond the listing page.
SKILL.md
11,024 B
README.md
3,560 B
SUMMARY.md
461 B
一个 Studio 风格的 Remotion 口播视频模板:脚手架一键生成可运行的 demo 项目,配一个跨项目公共素材库(字体、SFX、BGM、可复用动效组件)。
python3 ./skills/talking-head-remotion/scripts/scaffold_talking_head_remotion_project.py \
--project-dir "/path/to/new-project" \
--title "视频标题" \
--script "/path/to/script.md" \
--talking-head "/path/to/koubo.mp4" \
--screen-recording "/path/to/recording1.mp4" \
--screenshot "/path/to/screenshot1.png"
只有 --project-dir 是必需的;素材可以后补。生成的项目开箱即可 npm install && npm run still && npm run render:preview,并已播种字体和常用 SFX。
| 素材 | 位置 |
|---|---|
| 口播人像视频 | public/media/talking-head/talking-head.mp4 |
| 录屏 | public/media/screen-recordings/ |
| 图片/截图素材 | public/assets/screenshots/ |
| 人声音频 | public/assets/audio/voice.m4a |
| 音效 SFX | public/assets/audio/ |
| BGM | public/assets/music/ |
| 字体 | public/assets/fonts/ |
| 从素材库拷来的动效组件 | src/library/ |
| 脚本/字幕/规划文档 | work/ |
Remotion 入口是 src/index.ts,composition 在 src/Root.tsx 注册,demo 数据在 src/demoData.ts,设计变量和非阻塞字体注册在 src/theme.ts。
如果先在 notes vault 里生成了 TTS 或字幕,交付前要归档回对应视频工程项目。当前《两个提示词让 AI 少返工》项目目录是:
<VIDEO_WORKSPACE>/your-talking-head-project
归档时使用这些固定位置:
public/assets/audio/voice.m4a;同时保留 public/assets/audio/voice.mp3 给 ASR、剪辑软件或快速试听。work/audio/generated/。work/tts/。work/source/。work/captions/captions.srt、work/captions/captions.vtt。work/captions/captions.raw.srt、work/captions/captions.raw.vtt、work/captions/asr-result.json、work/captions/captions_aligned.json。跨项目复用的素材放在本 skill 的 assets/library/,清单和沉淀规则见 [assets/library/LIBRARY.md](assets/library/LIBRARY.md)。
TitleSlam.tsx)按需拷进项目 src/library/ 后 import 使用。合适才用:库组件和项目里已建好的组件都只是省成本手段,不是必须消化的库存——规格/分镜要求新画面时就新做,不许拿现成组件凑合替代(判断口径:假如没有这个现成组件,你会做出同样的画面吗)。ffmpeg -y -i public/media/talking-head/talking-head.mp4 -vn -c:a aac public/assets/audio/voice.m4a。检查开头静音/偏移,必要时先生成对齐后的 voice 和 PIP 资产,再转写字幕;不要在字幕或动画代码里零碎补偿。work/captions/captions_aligned.json,再同步到 src/demoData.ts。章节切换、关键词出现、录屏进入、CTA 都对齐到对应字幕的起点。work/制作规格.md(video-script 对动画管线项目的必交付物):有则逐表还原——组件按规格节实现、每镜内容按"逐镜状态表/内容表"配置、具象图形按"绘制配方"画,不自行发挥、不简化、不合并状态;规格里没写的细节才自己补,补完回写进规格。没有这份文件而场景里有仿真 UI/具象图形/随剧情演进的组件时,先停下来把规格补出来(按 video-script 的 references/production-spec.md),不要直接凭分镜表的文字描述写代码——历史教训是"仿真 UI 做成空框、面板静态剧透、鹦鹉画成墨团"(J-space 第一版)。npm run typecheck + npm run still;然后先跑低清 proof(默认 npm run render:preview)检查整条时间线、字幕、音频、场景节奏。对 proof 抽帧自查(每章节 + 高密度镜头各一帧):对照 work/制作规格.md 的验收清单逐项核;两条必查——多元素场景开场 0.3s 帧与中段帧元素数量必须不同;任一概念元素不得在其剧情点之前出现在任何帧(防剧透)。渲染前先跑音画对词审计:概念元素的 cue 必须按字幕文本查找(cueByText 式),禁止句序索引和固定延迟 fallback(那是"鹦鹉先于'鹦鹉'出现"的根因,装饰性骨架除外);逐元素核对 appearAt 落在 [字幕开始-0.3s, 字幕开始+1s] 窗口内;渲染后对每个概念首次出现行抽"前 1s / 后 0.5s"双帧,分别验证不在场/已在场。全片恒定偏移则查音频源头(开头静音、对齐音频与成片音频是否同一文件),不要在动画代码里零碎补偿。只有用户明确要求"生成最终版/正式导出"或低清 proof 已确认后,才跑 npm run render。work/lessons/LESSONS.md。renders/preview-low.mp4,通常 --scale=0.5 --crf=28 --concurrency=2 足够发现字幕错位、画面空帧、音量问题和场景节奏问题。npm run typecheck、关键帧 still、低清全片 proof。用户没有明确说"最终版/正式导出"时,停在 proof,不要主动消耗时间跑 full-res。work/render.log,只 tail 日志尾部;不要把几千行逐帧进度刷进对话上下文。remotion render --help。这个命令在某些版本/上下文会被当成默认 render 启动。要查参数时优先看 package.json 里已有脚本、项目 README、或官方文档;需要试命令时先确保它不会启动渲染。pgrep -fl "remotion|chrome-headless|Google Chrome for Testing|Chromium"。中断误启动的渲染,等待或清理 Remotion/Chrome headless,不要留下吃 CPU/GPU 的进程。PremiumGridBackground 必须实际调用 PerspectiveGrid。useCurrentFrame() + interpolate() + Sequence 帧驱动;不要 CSS animation/transition 或浏览器计时器(HyperFrames 的 GSAP timeline 不能照搬)。public/ 用 staticFile() 引用;字体默认用本地 @font-face 非阻塞注册或稳定系统字体栈。不要默认用 @remotion/fonts/loadFont() 阻塞全片渲染,因为它依赖 delayRender(),字体加载偶发卡住会让长视频在任意帧超时失败。只有确实需要阻塞字体一致性时才使用,并先用低清 proof 验证。放在画面完成之后。SFX 和 BGM 不是装饰,是防止节奏太平:每个声音都要能回答"解决了什么节奏问题",不要给每条字幕都加音效。
work/audio/audiocuesheet.md(音效、开始、时长、视觉事件、节奏目的、音量),再在 composition 里用 Sequence 包 <Audio> 放置,音量保守起步。volume={1} 永远第一优先级;BGM 预听 0.06-0.10,始终在人声下方。work/music/bgmbrief.md,生成后存 public/assets/music/ 并补 SOURCES.md;最终混音优先渲染后用 work/music/mixbgm.sh 做 ducking。