VisionEncoder / data /12.4.6 /README.md
xiaomoguhzz's picture
Add V12.4.6 video decode manifest
f6fb8e9 verified
|
Raw
History Blame Contribute Delete
1.35 kB
# V12.4.6 S0 视频解码清单
本目录只保存复现 V12.4.6 S0 视频帧 cache 所需的数据清单和解码合同,不包含解码后的 233 GB shard。
## 文件
- `decode_manifest.jsonl.gz`:178,490 个成功视频的 canonical 顺序、相对路径、精确采样帧下标、FPS、总帧数、JPEG 大小与 CRC32。
- `failures.jsonl`:原始构建中跳过的 2 个视频。
- `metadata.json`:原始 cache 的数据合同和统计。
`video_path` 均相对于本地 `LLaVA-Video-178K/` 数据根目录。解码后必须保持 manifest 的行顺序,训练时的 `DistributedSampler(seed=42)` 依赖该顺序。
## 解码合同
1. 使用 PyAV 读取视频,video stream 设为单线程。
2. 直接使用 manifest 中的 32 个 `frame_indices`。这些下标对应全时长均匀采样:`np.linspace(0, total_frames - 1, 32, dtype=int)`
3. 将目标帧转为 RGB24,并以 Pillow `BICUBIC` 直接缩放到 `384 x 384`
4. 按帧序排列为 `2 x 16` contact sheet,保存为 JPEG,`quality=95`
5. 跳过 `failures.jsonl` 中的两个视频。
预期结果为 178,490 条成功记录和 2 条失败记录。`metadata.json` 中的 `index_sha256` 对应原始未脱敏 cache index,不对应本目录的 portable manifest。
读取示例:
```bash
gzip -dc data/12.4.6/decode_manifest.jsonl.gz | head -n 1
```