用途:在 Play Mode 运行时录制 Game View,或用 --window-name 录制任意编辑器窗口(如 Scene、Inspector、Console),随后把文件路径交给用户,或自行抽帧查看内容。
主要能力:uloop record-video 支持 start、status、stop 三个动作。start 用于开始录制并立即返回,编码在编辑器内继续;status 报告实时计数或在空闲时返回最近一次自动停止的录制;stop 用于结束录制并生成可播放文件。可选参数包括 --frame-rate(默认 30,范围 1–60)、--max-duration-seconds(默认 60,范围 1–600,自动停止保护)、--resolution-scale(0.1–1.0,缩小分辨率以降低体积与编码开销)、--quality(low/medium/high,码率预设)、--window-name 与 --match-mode(exact/prefix/contains,不区分大小写)、--output-path。输出扩展名必须为 .mp4(H.264)或 .webm(VP8),Linux 拒绝 .mp4。
使用方式:录制 Game View 前需确保 Play Mode 已运行且 Game View 已打开;用 --window-name 录制窗口则不需要 Play Mode,且 Play Mode 停止后仍继续。录制期间可用其他 uloop 命令驱动场景(simulate-keyboard、simulate-mouse-input、replay-input 等),但不要运行 uloop compile 或退出 Play Mode,二者会自动停止并完成文件。结束需调用 stop,文件才可播放。应从返回 JSON 中读取 OutputPath 并使用该确切路径,不要自行搜索目录。若要自行检查内容,可用 ffmpeg 抽帧,例如 ffmpeg -i "<OutputPath>" -vf fps=1 frames_%03d.png,然后查看 PNG。
限制与注意事项:一次只能有一个录制,第二次 start 会失败直到 stop。奇数尺寸会被向下取整为偶数(最后一列/行像素被丢弃)。录制按墙上时钟推进,暂停会出现静止画面而非空缺。默认输出在 macOS/Windows 为 .mp4,Linux 为 .webm,显式 .webm 路径在所有平台均用 VP8。默认目录 .uloop/outputs/Videos/ 每种扩展名只保留最新 20 个文件,自定义 --output-path 不会被清理。窗口录制在启用域重载时进入 Play Mode 会以 StoppedBy: "assembly-reload" 结束。Success 为 false 的常见原因包括已有录制进行中、Game View 的 RenderTexture 不可用、窗口标题未找到;SkippedFrameCount 增长而 EncodedFrameCount 不变通常说明 Game View 被关闭、隐藏或改变大小。StoppedBy 非 "cli" 表示录制自行结束,文件在此前仍有效。
适用场景:需要展示 Play Mode 动态交互、编辑器窗口操作流程,或在无法用截图表达时序变化时录制视频。未提供的细节包括具体安装步骤、依赖要求与收费信息。