id β€” Author camera mappingsΒΆ

s6 id previews the live camera feeds declared in a pipeline config, shows the views ordered by device id, offers every valid one-to-one camera-key mapping in the terminal, and writes the selected mapping back into that same config file.

UsageΒΆ

# Auto-select the only configured live source in the config
s6 id --config configs/pipeline.config.yaml

# Use the remote gst client block explicitly
s6 id --config configs/pipeline_t1.config.yaml --input gst

# Use the local combined-source preview explicitly
s6 id --config configs/pipeline.config.yaml --input gst-local-v2

BehaviorΒΆ

  • s6 id loads the selected pipeline config through PipelineLoader.load_config().

  • --input auto chooses the only configured live source:

    • gst when only platform.gstreamer.client is present

    • gst-local when only platform.gstreamer.local is present

    • it errors if both remote and local live sources are configured

  • The preview window labels each view with its device id and any currently stored built-in camera mapping for that source.

  • The terminal prints all valid mapping permutations for the platform camera keys (LL/LR, L/R/B, or UL/UR/LL/LR) and asks for a numbered selection.

  • The mapping is written back under platform.camera_mappings.client for gst, and under platform.camera_mappings.local for both gst-local and gst-local-v2.

NotesΒΆ

  • Built-in mappings are source-specific, so remote and local capture can keep different device-id assignments in one config file.

  • When a built-in mapping is present for the active live source, the runtime uses it directly and bypasses heuristic camera identification.

  • YAML configs are updated with comment-preserving round-trip edits; JSON configs are rewritten in standard formatted JSON.