旅程视频制作技能
该技能提取自九寨沟 V6 的 Remotion 源代码,视频时长 77 秒,分辨率 1920×1080。这是一个可复用的新工作流;之前的 V6 视频是由单独的 Remotion 项目制作的,而非 HyperFrames。
内容与素材
- 从用户行程或已验证的来源获取日期、路线、景点和服务信息。在需要查询价格、出发日期或联系方式时,请查阅当前可用来源。不要自行添加价格或优惠信息。
- 撰写简短的介绍台词,包括吸引人的开头、每日体验部分以及咨询行动号召(CTA)。选择自然语言,并核实地名/机构名称的发音。
- 使用用户已选择/审核过的配音。将已通过现有工具生成的 WAV/MP3 文件导入;克隆数据、TTS 模型和账户不属于本技能范围。在计划中不接受语速非 1.0 的配音;如果更换朗读版本,请根据实际文件重新调整场景标记和字幕。
- 选择与景点和活动相符的场景。清晰区分实景/静态图片/示意图。不要将装饰性示意图呈现为精确的地理地图。列车仅在实际铁路段上运行。
- 在
media/sources.json中记录来源和使用权状态。在 TikTok 或 YouTube 上可查看/下载并不意味着拥有广告投放权。保留作者署名和原始地点 Logo(如有);不要删除这些标记来伪造自有素材。
计划
每个任务包含 media/、edit.json、analysis/ 和 out/ 目录。计划中的所有路径均为相对于 media 目录的路径。编写计划时请阅读 plan.md 和 V6 示例。未经要求,不要将示例中的行程、品牌或配音复制到其他旅游项目中。
配音决定时长;根据实际朗读时间点划分场景、标签和字幕。图片场景具有 Ken Burns 效果,场景切换为 12 帧淡变;文字动画为弹簧效果,开场包含路线图和明信片,路线场景有列车行驶,结尾有 CTA 和圆形图片。保持标签简洁,不要将字幕覆盖在每日进度条上。
运行与检查
python3 scripts/doctor.py
python3 scripts/render.py /path/to/job --check-only
python3 scripts/render.py /path/to/job --setup-only
python3 scripts/render.py /path/to/job final.mp4
python3 scripts/qa.py /path/to/job/out/final.mp4 /path/to/job/out/qa --expected-frames 2310
数字 2310 仅适用于 77 秒 × 30 fps 的示例;请根据实际旅游项目重新计算。可以使用 --frames=0-59 进行技术测试。不要自行打开预览/文件,使用默认线程并在导出后关闭任务进程。阅读 runtime.md 了解环境设置、可选的 ASR 和字体;reference-inputs.md 列出了如何为示例收集专属素材。
Tour Sans 字体(Be Vietnam Pro)已包含并基于 OFL 许可证。示例保留了 Avenir Next(如果在 macOS 上可用),并使用 Tour Sans 作为后备字体;不包含商用字体 Avenir,也不保证在不同平台上像素级一致。
交付前:完整解码 MP4,确认尺寸、时长和音频,检查所有场景切换点、路线、日期标签、Logo 和 CTA 是否在完整帧中显示。将字幕与朗读内容进行比对。仅在确实听到时才说“已监听”。如果素材权限或音频检查未通过验证,需说明限制;除非用户要求,否则不要自行通过 Zalo 发送或发布到网络。