创建产品演示视频
制作一个连贯的产品故事,感觉像是由人操作的一样。推荐录制真实的界面,只添加演示所需的表层元素。
选择裁切方式
- 对于仓库、落地页或详细工作流,使用 1920×1080,30 或 60 fps。
- 对于 4:5 社交媒体帖,使用 1080×1350;对于竖屏故事/Reels,使用 1080×1920。
- 完整工作流默认 45-90 秒,社交预告默认为 8-15 秒。
- 为时长差异显著的内容创建独立的剪辑版本;不要简单加快长版本的速度。
构建故事
在编写之前,先检查应用、可用素材、现有脚本和品牌设计。编写一个简短的节拍表,包含:钩子、问题、动作、可见结果和行动号召。每个节拍保持一个有意义的动作。让重要的状态停留足够长的时间以便阅读。
对于完整工作流,展示人的意图、智能体的动作、审查过的结果和解决方案。对于预告,以结果开场,只使用最少的 UI 来证明它。
动画模拟人类交互
在实现指针、输入或相机动画之前,请阅读 motion-language.md。使用 human-motion.mjs 生成确定性的指针路径和时间线,然后将其输出适配到录制工具。
应用以下要求:
- 保持光标在场景内连续移动。不要在可见动作之间瞬移光标。
- 沿着一条轻柔的曲线移动,带有加速、减速和小的最终修正。
- 根据距离和目标大小变化持续时间。避免使用单一的全局光标速度。
- 到达后短暂停顿,动画化指针按下和点击涟漪,然后执行点击。
- 逐字符输入,延迟有变化,在空格和标点处停顿稍长。
- 当文本字段获得焦点时,渲染一个闪烁的插入光标,包括输入前、中、后的停顿。
- 避免模拟打字错误,除非它们支持故事。
- 在硬场景切换时,如果无法保持光标位置的连续性,则淡出指针。
录制和合成
当需要浏览器自动化时,使用 Playwright 技能。以最终目标分辨率或更高分辨率录制。优先使用真实应用、真实布局和真实状态转换,而不是重新创建的模拟。如果必须搭建,请清晰保留产品的视觉标识。
使用克制的镜头移动:
- 平移或缩放是为了引导注意力,而不仅仅是增加动感。
- 动画化一个稳定的相机包装器;不要独立过渡多个页面子元素。
- 保持固定的变换原点,并从当前渲染的变换继续,以防止跳跃。
- 缓入和缓出缩放,在目标上保持,并让返回移动拥有自己的缓动效果。
- 避免同时向相反方向移动相机、光标和主要 UI 元素。
- 保持文本覆盖在安全边距内,且无音频也可读。
- 字幕和进度指示器的动画化应与产品的视觉语言一致。
编码
优先使用 H.264 MP4,使用 yuv420p 和 faststart,以获得广泛的播放兼容性。保留高分辨率母版,并从中衍生出较小的交付版本。保持文字清晰,避免 UI 边缘过度压缩。
审查和迭代
检查完整的视频,而不仅仅是第一帧。提取一张联系表以及每次点击、转换、缩放端点、文字输入完成和最终 CTA 处的帧。检查:
- 光标移动感觉有目的但不够完美;
- 每次点击都有可见的反馈并落在目标上;
- 指针速度和输入节奏自然变化;
- 在聚焦的文本字段中,光标闪烁;
- 缩放在其开始、焦点保持、反转和端点处保持连续;
- 标签保持足够长的可读时间;
- 没有光标、工具提示、模态框或字幕被裁剪;
- 转场保持空间连续性;
- 尺寸、时长、编解码器和文件大小与所选裁切方式匹配。
在交付前修改任何仓促的动作。提供最终视频、海报帧、时长、尺寸以及本地或仓库路径。仅在要求时更新仓库文档。