Open source · MIT License

CarMaker
CameraRSI Recorder

从 CarMaker / MovieNX 的 RSDS TCP 数据流采集多路 CameraRSI,保存分段视频、定时采样图片和完整会话记录;可自动探测 GPU 硬件编码并在不可用时安全回退。

Python 3.10+ PySide6 GUI RSDS TCP OpenCV NVENC · QSV · AMF 中文 / English Windows / Linux
CarMaker 演示地图中六路 CameraRSI 的实际录制回放画面
真实录制结果 · 演示地图中的六路 CameraRSI 回放
Capabilities

围绕多相机采集建立完整的数据链路。

程序在收到第一帧有效数据后创建独立会话,并持续记录每个相机与写入器的运行状态。

多端口采集

同时连接一个或多个 RSDS 端口,各端口独立重连,单路断开不会阻塞其他数据流。

硬件编码与回退

可探测 NVENC、Intel QSV 与 AMD AMF;也可指定后端,并在允许时回退到 OpenCV CPU 编码。

仿真时间采样

依据每路 CameraRSI 的仿真时间保存静态图片,不受界面预览刷新频率影响。

实时监控

显示吞吐率、队列高水位、丢帧、写入状态和磁盘余量,异常不会被静默忽略。

会话清单

每次采集写入 session_manifest.json,保存配置、时间范围、相机统计与降级状态。

双语 GUI 与 CLI

PySide6 界面首次运行按设备语言选择中文或英文,偏好会保存且可实时切换;自动化环境可使用 CLI。

Data flow

从 RSDS 数据流到可追溯的采集会话。

接收、解析、缓存和写入分别处理;原生 BGR 帧以只读 NumPy 视图传递,减少 RSDS 负载和图像数据的重复复制。

01CarMaker / MovieNX

CameraRSI 通过一个或多个 TCP 端口输出。

02独立接收器

校验报文边界、限制负载大小并处理重连。

03顺序处理器

解析图像、识别相机 ID 与仿真时间。

04相机写入器

选择硬件或 CPU 后端,分别写入视频、图片并统计队列。

05会话目录

汇总 Videos、Images、日志与 Manifest。

Interface & output

真实界面与六相机采集结果。

界面截图与录制画面均来自开源项目实际运行或输出,不是生成的示意图。

Quick start

Windows 与 Linux 均可直接启动。

需要 Python 3.10 或更高版本,以及已配置 CameraRSI 输出的 CarMaker / MovieNX。

Windows

使用随仓库提供的脚本创建环境并启动图形界面:

git clone https://github.com/Xzeng666/IPGCarMaker_Camera_Recorder.git
cd IPGCarMaker_Camera_Recorder
.\scripts\windows\start_gui.bat

Linux

授予脚本执行权限后启动图形界面:

git clone https://github.com/Xzeng666/IPGCarMaker_Camera_Recorder.git
cd IPGCarMaker_Camera_Recorder
chmod +x scripts/linux/*.sh
./scripts/linux/start_gui.sh
命令行模式:只需安装 requirements-core.txt,然后运行 python run.py --config config.json。图形界面使用 python run_gui.py --config config.json。
Configuration

严格配置,明确拒绝拼写错误与旧字段。

默认 config.json 使用 schema v5。网络端口、输出策略、相机命名、编码后端和故障策略集中配置,未知或缺失字段会在启动时报告。

  • network:主机、端口、超时、重连与负载上限。
  • video / images:auto、OpenCV、NVENC、QSV 或 AMF 后端,以及 H.264、HEVC、AV1、码率、分段和图片采样。
  • reliability:磁盘阈值、写入故障策略与仿真时间回退阈值。
Session output
carmaker_videos/
├── logs/
│   └── recorder-YYYYMMDD.log
└── YYYY.MM.DD-HH_MM_SS_mmm-scene-NNNN/
    ├── Videos/
    ├── Images/
    └── session_manifest.json

会话目录只在收到第一帧有效 CameraRSI 数据后创建。

MIT 开源

源码、文档与测试均已公开。

仓库包含架构与配置说明、单元和集成测试、项目自检脚本,以及 Windows 便携版构建脚本。验证覆盖硬件编码选择与回退、BGR 只读视图、语言检测、偏好保存和实时切换;运行 python verify_project.py 可执行完整流程。

前往 GitHub

本项目是独立开发的开源工具,与 IPG Automotive GmbH 无隶属或授权关系。CarMaker 和 MovieNX 是其各自权利人的商标。