# 六条可替换输入样板 · 0.2.1 可替换输入样板 使用独立版本文件,不覆盖旧 0.1.1 下载。原创样板按 MIT 使用;Remotion 等依赖许可独立适用。 ## 运行 需要 Node.js 22+、FFmpeg/ffprobe 位于 PATH、可用 Chrome。首次安装 npm install(锁文件生成后使用 npm ci),随后 npm run typecheck。设置可选环境变量 P2_BROWSER 指向已有 Chrome;不设置时 Remotion 使用自己的浏览器查找机制。 示例: `npm run render -- P2-TimedCaption P2-TimedCaption-alternate-a.json output-caption landscape` 输出目录必须尚不存在;输入先经过严格 Zod 校验及媒体检查。只改输入文件副本,保留原样例用于对比。 ## 六条输入 - P2-ParticleLogo:透明 PNG 用 alpha;黑白 SVG 用 dark。运行 npm run logo -- logo.png points.json alpha,再把点数组放入输入的 points。固定点集,最多 2000 点,不识别照片主体。 - P2-EditorialCollage:image、fit、focal、headline(用 | 分两行)。不自动抠图;图片放 public/,路径不带 public/ 前缀。 - P2-RankRace:periods 与每个 series.values 等长;2–5 系列,2–6 期,非负数,名称唯一。source 必须改为实际数据来源;默认明确为模拟数据。替换 B 展示末位反超;全零用例保留在 presets.ts 的 rankZeroBoundary,不充当展示动效。 - P2-ScreenshotFocus:imageWidth/imageHeight 必须与图片像素一致;region 是图片内归一化矩形,不是像素坐标;maxZoom 限制推进。 - P2-ProductOrbit:仅程序化瓶体,可替换 label、finish、material、brand/name;不接受任意 3D 模型。 - P2-TimedCaption:video/audio 是本地文件;videoOffset/audioOffset 是源素材起点秒数;words 时间戳相对于输出视频。自动按末词+holdSeconds 决定片长。音频用外部 audio 或 sourceAudio 二选一;没有自动识别或声画对齐。 完整字段和边界见 schemas.ts;每条提供 default、alternate-a、alternate-b 三组 JSON。横竖输出分别用 landscape/portrait,固定 30fps。 ## 素材与声音 public/ 全部由程序生成的原创示意图、标签、Logo 几何和风景片段,不是实拍照片。timing-pulses.wav 是合成校时提示音,不是朗读字幕的人声;验证真实口播时需要用户提供有权使用的视频和准确词时间戳。素材来源和 SHA-256 见 public/manifest.json。字体来自运行系统,未随包分发,不保证跨系统像素一致。 ## 引用边界 只复制所需组件及它引用的 schemas/shared、必要 public 素材;通过对应 schema.parse 校验 props。不要把整个网站、统计或凭据搬进项目。保持帧驱动,先检查首三秒、横竖安全区及最后阅读窗口。 额外本地辅助依赖 sharp(Apache-2.0)、tsx(MIT)、@types/three(MIT)及 Remotion bundler/renderer 按安装包 LICENSE 独立使用,未捆绑进源码包。