# SwitchWorld Inference Archive

这个静态前端把仓库当前的真实推理视频整理为可搜索、可筛选、可同步播放的归档页。

## 打开页面

在 `switchworld/` 目录运行：

```bash
python3 -m http.server 8000
```

浏览器访问：

```text
http://localhost:8000/inference_gallery/
```

本地页面不复制视频，直接读取仓库中的原文件。线上发布版本使用轻量 H.264 网页副本，
用于控制站点体积并保证浏览器播放与下载兼容。

## 更新索引

新增推理结果后运行：

```bash
python3 inference_gallery/build_manifest.py
```

脚本会：

- 扫描 `outputs/**/*.mp4` 与 `inference_results/**/*.mp4`；
- 合并视频同名 JSON、同目录 `metadata.json` 和可用的 metrics；
- 通过 `ffprobe` 读取尺寸、编码和时长；
- 通过 `ffmpeg` 为每段视频生成轻量 JPEG poster；
- 为浏览器通常无法播放的 MP4V 结果生成 H.264 网页代理，原视频保持不变；
- 写入 `inference_gallery/data/manifest.js`。

只更新文件和元数据索引、不生成缩略图：

```bash
python3 inference_gallery/build_manifest.py --no-thumbnails
```

跳过 H.264 网页代理的生成：

```bash
python3 inference_gallery/build_manifest.py --no-proxies
```

强制重做全部缩略图：

```bash
python3 inference_gallery/build_manifest.py --force-thumbnails
```

## 数据口径

- “全部视频”是上述两个目录中实际存在的 MP4 文件，包括生成结果、baseline、ground truth、
  并排 comparison、重建检查及 H.264 兼容副本；页面可按“结果角色”筛选。
- 场景、case、steps、视角序列、切换点和指标只在真实 sidecar 中存在时展示。
- 页面不补造指标，也不对视觉质量做人工排名。
