Multi-Device Recording & Streaming
The ClientSDK can orchestrate two or more Aria Gen2 devices from a single CLI invocation. Devices receive coordinated start and stop, and one device acts as a time-domain-mapping (TDM) broadcaster so the others can align their timestamps to a shared clock. Sessions are tracked on disk so you can inspect, stop, and download every recording in a session by ID later.
Prerequisites
- Client SDK installed and virtual environment activated
- Two or more Aria Gen2 devices connected via USB
- Every device authenticated with this PC (run
aria_gen2 auth paironce per device) - Every device provisioned through the Aria companion app and connected to Wi-Fi
Before using any multi-device commands, every device must be paired via aria_gen2 auth pair. See Device Authentication.
aria_gen2 device list
You should see one line per connected device. If only one shows up, run aria_doctor and re-check USB cables.
Concepts
Broadcaster and Receivers
Time-domain-mapping (TDM) requires one device to emit a periodic timing signal that the others lock onto. By default, the SDK selects the device with the smallest serial (lexicographic) as the broadcaster — this is deterministic across runs without requiring any configuration. Override with --broadcaster <serial>:
aria_gen2 recording start --profile profile8 --all --broadcaster 1M0YDD5H7K0047
The broadcaster does not have to be another Aria device. Timecode Bridge is an open-source hardware companion that re-broadcasts SMPTE LTC over the same sub-GHz protocol — set all your glasses as receivers on the Bridge's channel to align Aria captures with LTC-timecoded external gear (mocap systems, professional cameras, audio recorders).
If you only need coordinated start and stop without timestamp alignment, disable TDM entirely:
aria_gen2 recording start --profile profile8 --all --disable-time-domain-mapping
Sessions
Every multi-device start creates a session identified by a UUID. The session JSON lives at:
~/.aria/multi-device-session/<session-id>.json
It records the broadcaster, receivers, profile, TDM config, per-device recording UUIDs (for recording sessions), and the streaming cert name (for streaming sessions). The file is the source of truth for sessions info and download --session.
Regulatory Channel Rules
The TDM channel is a sub-GHz radio parameter and is regulated per country. The CLI validates the channel against the connected glasses' country code (read from each device's wifi_country_code) before forwarding it to the device:
| Region | Allowed channels | Example countries |
|---|---|---|
| ETSI | 0–2 | GB, DE, FR, ES, IT, IN, SG, ... |
| FCC | 10–40 | US, CA, TW, ... |
When --time-domain-mapping-channel is omitted, the CLI auto-picks the first allowed channel for the resolved region (0 for ETSI, 10 for FCC). If the channel you pass is not allowed for the resolved region, the CLI rejects with an actionable error naming the region, the country, and the allowed set.
If a device reports an empty country code (Wi-Fi not yet configured, or the device is not currently active in the Aria companion app), the CLI uses the country reported by any other device in the same multi-device session and logs a WARNING. In single-device mode the CLI errors out with a hint to configure Wi-Fi via the companion app.
Multi-Device Recording
Start a recording on all devices
aria_gen2 recording start --profile profile8 --all
Output:
Multi-device recording session: 60799c52-b095-4f53-8c19-053277e7a0cd
Broadcaster: 1M0YDB6H800117
Receiver: 1M0YDD5H7K0047
Recording started on 1M0YDB6H800117 (broadcaster)
Recording started on 1M0YDD5H7K0047 (receiver)
Session dir: /Users/you/.aria/multi-device-session