Video Recording 用于交付一段实际运行中的应用的可播放录像,并附带证据证明它捕获了所请求的行为且保留了时序。录制过程独立于导航和检查工具。
用途与捕获:先确认所请求的应用、窗口或设备、流程和输出位置,复用已有的应用会话,将捕获范围限定在指定界面;多窗口应用需要精确选择目标窗口,而不是取任意前台窗口。选择连续录制器:原生 macOS 读取 macos.md 并使用此处提供的窗口录制器或已可用的原生录制器;其他目标读取 platforms.md。优先使用环境指定的录制工具,未经相应授权不得安装软件或更改权限。
帧率与时序:动画审查在支持时以 60 fps 为目标,普通流程 30 fps 可能足够。目标或导出的帧率标签不是捕获运动的实测值。录制器暴露源采样时间戳时应保留它们。绝不要将 UI 工具截图拼装成视频来判断动画流畅度:工具等待、焦点变化和请求时间戳会扭曲运动。
资源与权限:开始前验证捕获权限和可用磁盘空间,遵守会话预留,写入期间至少每 30 秒监控一次,保留进程句柄并限制录制时长。未经授权不得删除产物。遇到权限或容量故障即停止,暴露阻塞点,而不是静默替换为低速率捕获。
校准:先录制 3–5 秒已知连续运动的校准片段,并在完整运行前验证它。不要接受黑帧或静态截图作为校准。
录制流程与验证:开始录制并等待录制器的就绪信号后再导航。允许短暂前导,以刻意停顿遍历流程,然后留出尾部。跨工具调用不间断录制;检查可以等待 UI 稳定,但录制器不能等待。始终停止/完成录制,包括出错后,并验证本线程的录制器已停止。
保留并交付:保留原始录制。可选编辑可以裁剪已知的设置或稳定停顿,但须保留待审查的运动、失败和转场的时序。不要插值运动、加速动画或替换丢失帧来掩盖捕获失败。披露任何编辑。
读取 verification.md,对最终导出的视频在预期运动的区间上运行校验器,并在可用时使用源时序:
python3 scripts/verify-video.py flow.mp4 --motion 1.2:2.4 --motion 5.1:6.3
--timings flow.mp4.frames.jsonl --report flow.quality.json
在支持的视频播放器中以正常速度观看每个请求的转场。缩略图联系表只证明覆盖范围,不证明流畅度。自动检查会标记停滞;单靠它们无法确定原因或证明视觉质量。区分观察到的应用行为、捕获缺陷和未解决的不确定性。不要仅凭导出或解码成功就报告验证通过。
嵌入或链接最终视频,简要报告时长、实际节奏证据与限制、请求的流程覆盖、编辑和大体积中间产物。如果录制被阻塞,交付确切的阻塞点和准备好的命令或流程,而不是将静态截图当作忠实视频呈现。
回归检查在该技能目录中运行:python3 scripts/test-macos-lifecycle.py(macOS)和 python3 scripts/test-verify-video.py。