Open source · MIT License · Version 1.5.0

CarMaker
CameraRSI Recorder

Capture multiple CameraRSI streams from CarMaker / MovieNX over RSDS TCP and save segmented video, simulation-time image samples, logs, and complete session records. Optional GPU encoding is probed automatically and can safely fall back to CPU.

Python 3.10+PySide6 GUIRSDS TCPOpenCVNVENC · QSV · AMFEnglish · 中文Windows / Linux
CarMaker CameraRSI Recorder English capture monitor
Real application interface · English capture monitor
Capabilities

An end-to-end pipeline for dependable multi-camera capture.

A session is created only after the first valid frame, while every connection, camera writer, and fallback state remains visible.

Multi-port capture

Connect to one or more RSDS ports concurrently. Each port reconnects independently, so one disconnected stream does not block the others.

Hardware encoding & fallback

Probe NVIDIA NVENC, Intel QSV, and AMD AMF; select a backend explicitly or allow automatic fallback to OpenCV CPU encoding.

Simulation-time sampling

Save still images by each CameraRSI stream's simulation clock, independent of GUI preview refresh timing.

Live monitoring

Observe throughput, queue high-water marks, dropped frames, writer health, and available disk space.

Traceable manifests

Each session_manifest.json records configuration, time range, camera statistics, fallback states, and the selected backend per camera.

Bilingual GUI & CLI

The PySide6 GUI detects the device language on first run, saves the choice, and switches live. Automation and remote workflows can use the CLI.

Data flow

From RSDS streams to a traceable recording session.

Network receive, parsing, buffering, and writing are separated. Native BGR frames are exposed as read-only NumPy views to reduce redundant payload and frame copies.

01CarMaker / MovieNX

CameraRSI streams are exposed over one or more TCP ports.

02Independent receivers

Validate message boundaries, constrain payload sizes, and reconnect.

03Ordered processing

Parse images, camera IDs, and simulation timestamps.

04Camera writers

Select hardware or CPU encoders and write videos and images.

05Session directory

Collect Videos, Images, logs, and the manifest.

Performance boundary: hardware encoding offloads the video encoder; it is not an end-to-end zero-copy pipeline. RGB, grayscale, JPEG, and GUI preview conversions still use the CPU.
Interface & recorded output

Real interfaces and real six-camera results.

These images come from the open-source application's interface and captured output; they are not generated mockups.

Quick start

Run directly on Windows or Linux.

Requires Python 3.10 or later and CarMaker / MovieNX configured to output CameraRSI streams.

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
Command line: install requirements-core.txt and run python run.py --config config.json. Use python run_gui.py --config config.json for the GUI.
Configuration

Strict schema, explicit encoder choices.

The default config.json uses schema v5. Unknown or missing fields fail early instead of being silently ignored.

  • network: host, ports, timeouts, reconnection, and payload limits.
  • video / images: auto, OpenCV, NVENC, QSV, or AMF; H.264, HEVC, or AV1; bitrate, segmentation, and image sampling.
  • reliability: disk thresholds, writer failure policy, and simulation-time fallback.
Session output
carmaker_videos/
├── logs/
│   └── recorder-YYYYMMDD.log
└── YYYY.MM.DD-HH_MM_SS_mmm-scene-NNNN/
    ├── Videos/
    ├── Images/
    └── session_manifest.json

The session directory is created only after the first valid CameraRSI frame.

MIT OPEN SOURCE

Source, documentation, and tests are public.

Validation covers encoder selection, fallback and failure, read-only BGR views, language fallback and persistence, and live language switching. Run python verify_project.py for the full project verification flow.

Open GitHub

This is an independently developed open-source tool and is not affiliated with or endorsed by IPG Automotive GmbH. CarMaker and MovieNX are trademarks of their respective owners.