cs2_dataset_render
收藏资源简介:
OpenCS2 — POV Renders 是一个专注于《反恐精英2》(Counter-Strike 2)第一人称视角(POV)训练片段的数据集。每个数据行包含≤1分钟的一名玩家的视角,每回合的10个玩家视角共享相同的时间轴。数据集包含以下内容:视频(1280×720分辨率,32帧/秒,近乎无损的H.264编码)、音频(每个玩家的立体声音频,根据其位置和方向混合)、输入(每个时间点的按键、鼠标移动、视角角度、开火/跳跃/使用动作、武器切换等)和世界状态(每个时间点所有10名玩家的位置、速度、视角、生命值、护甲、武器、存活状态等)。数据集提供四种配置:`previews`(默认,低分辨率预览)、`chunks`(完整的训练数据)、`matches`(比赛元数据)和`rounds`(回合元数据)。适用于视频分类、强化学习等任务。数据集使用CC-BY-4.0许可证,源数据受原始比赛条款约束。
OpenCS2 — POV Renders is a dataset focused on first-person perspective (POV) training clips of Counter-Strike 2. Each data row contains ≤1 minute of a players perspective, with all 10 player perspectives per round sharing the same timeline. The dataset includes the following: video (1280×720 resolution, 32 FPS, near-lossless H.264 encoding), audio (stereo audio for each player, mixed according to their position and orientation), input (key presses, mouse movements, view angles, fire/jump/use actions, weapon switches at each time point), and world state (position, velocity, view angles, health, armor, weapons, alive status of all 10 players at each time point). The dataset offers four configurations: `previews` (default, low-resolution previews), `chunks` (complete training data), `matches` (match metadata), and `rounds` (round metadata). Suitable for tasks like video classification and reinforcement learning. The dataset uses the CC-BY-4.0 license, with source data subject to original match terms.
OpenCS2 — POV Renders 数据集概述
基本信息
- 许可证: CC-BY-4.0
- 任务类型: 视频分类、其他
- 语言: 英语
- 标签: Counter-Strike, CS2, 电子竞技, HLTV, 视频, 音频, Parquet, 强化学习
- 数据集名称: OpenCS2 — POV Renders
数据集描述
该数据集包含基于 ticks 对齐的《反恐精英2》(CS2)第一人称视角(POV)训练片段,源自 blanchon/cs2_dataset_demo 数据集。每一行数据代表一名玩家视角中不超过1分钟的视频片段;每局比赛(round)中10名玩家的POV共享同一 tick 时钟。
每个数据块包含
- 视频: 1280×720 分辨率,32 fps,近无损 H.264 编码
- 音频: 每名玩家的立体声,根据该玩家的位置和朝向混合
- 输入: 每个 tick 记录:按键、鼠标移动、视角角度、开火/跳跃/使用、武器切换
- 世界状态: 每个 tick 记录所有10名玩家的位置、速度、视角、生命值、护甲、武器、存活状态
配置与数据划分
| 配置名称 | 说明 | 用途 |
|---|---|---|
previews(默认) |
低分辨率 preview.mp4 + 1 Hz 输入/世界侧数据 |
浏览、快速检查 |
chunks |
仅包含路径的 video.mp4 + audio.wav,嵌入输入/世界数据 |
训练 |
matches |
每行对应一个 (match_id, map_name),包含队伍/赛事元数据 |
筛选/索引 |
rounds |
每行对应一个 (match_id, map_name, round),包含 tick 边界 |
筛选/索引 |
数据仓库结构
data/ match_id=<id>/map_name=<map>/player=<0-9>/ chunks-preview-<machine>-<uuid>.parquet chunks-full-<machine>-<uuid>.parquet chunks/chunk_<n>/{video.mp4, audio.wav} previews/chunk_<n>/{preview.mp4, inputs.preview.json, world.preview.jsonl} index/ manifest-<machine>-<uuid>.parquet # 每行对应一个 (match, map) rounds-<machine>-<uuid>.parquet # 每行对应一个 (match, map, round)
行语义
player: 规范化的0-9玩家索引,对于同一场比赛保持稳定spec_slot: 临时的 CS2 观众位编号,仅用于调试- 录制从可玩回合开始(
freeze_end_tick)开始,在玩家死亡 tick 处停止,幸存者则在回合结束时停止。同一局中不同POV的时长可能不同 inputs和worlds在 chunks parquet 中是结构体数组格式- 可用于
chunks的热门筛选列:match_id,map_name,player,round,chunk_index,primary_weapon,player_side,survived_chunk,damage_taken,shots_fired,distance_traveled,weapons_used
数据创建流程
- Demo文件: 从
blanchon/cs2_dataset_demo拉取 - 渲染: 使用无头 CS2 + 自定义插件回放每个 demo,逐 tick 捕获每名玩家的POV,并将原始帧流式传输到 NVENC
- Parquet: 将小于等于1分钟的块按
(round, chunk_index)排序写入 - 上传: 每个渲染工作线程写入自己的
<machine>-<uuid>分片
引用
bibtex @misc{blanchon2026opencs2, author = {Julien Blanchon}, title = {OpenCS2 Dataset}, year = {2026}, publisher = {Hugging Face}, howpublished = {url{https://github.com/julien-blanchon/opencs2-dataset}} }




