File size: 1,348 Bytes
f6fb8e9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 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
```