Skip to main content

Streaming Control

The ClientSDK provides powerful streaming capabilities that allow you to receive real-time data from your Aria Gen2 device. You can stream sensor data including camera feeds, IMU data, eye tracking, hand tracking, and machine perception outputs.

Overview

Streaming enables you to access real-time data from your device:

  • Real-time Data Access: Receive sensor data as it's captured
  • Machine Perception: Access on-device VIO (Visual Inertial Odometry), eye gaze, and hand pose data
  • Live Visualization: View streaming data in real-time using the streaming viewer
  • Custom Processing: Build applications that process streaming data

Choose Your Streaming Method

Select the streaming method that best fits your use case:

MethodBest ForProsCons
USB StreamingExtended sessions, highest qualityMost reliable, no thermal issuesRequires cable connection
WiFi Router StreamingUntethered development, mobilityWireless freedom, good for demosThermal concerns, requires network
On-Device Hotspot StreamingField work, no network availableNo external network neededHighest thermal impact, limited duration
Getting Started

New to streaming? Start with USB Streaming - it's the simplest and most reliable method.


USB Streaming

Stream data over USB connection for maximum bandwidth and reliability. This is the recommended method for getting started and for extended streaming sessions.

When to Use USB Streaming

  • Extended sessions: No thermal concerns - stream as long as you need
  • Highest quality: Maximum bandwidth and lowest latency
  • Simple setup: Just connect and stream, no network configuration
  • Development: Best for testing and development work

Quick Start

# 1. Connect device via USB and verify connection
aria_gen2 device list

# 2. Start streaming
aria_gen2 streaming start

# 3. In another terminal, visualize the stream
aria_streaming_viewer --real-time --interpolate --rerun-memory-limit 4GB

# 4. When done, stop streaming
aria_gen2 streaming stop

USB Streaming Details

Requirements:

  • Device connected via USB
  • Device authenticated (see Get Started guide)
  • High-quality USB 3.0+ cable recommended

Command:

aria_gen2 streaming start

Default Profile: The mp_streaming_demo profile is used by default, which provides smooth visualization with VIO, eye gaze, and hand pose data.

USB Troubleshooting

Device Not Found:

# Check device connectivity
aria_gen2 device list

# If not found, ensure device is authenticated
aria_gen2 auth check

Common Issues:

  • USB cable: Try a different high-quality USB 3.0+ cable
  • USB port: Try a different USB port on your computer
  • Authentication: Run aria_gen2 auth pair if device is not authenticated
  • Recording active: Stop any active recording with aria_gen2 recording stop

Wireless Streaming

Wireless streaming allows you to stream data from your Aria Gen2 device over WiFi, eliminating the need for a USB cable. This is useful for untethered development, demos, and testing in various environments.

USB Connection Required for Device Controls

All device controls, including starting and stopping streaming, require a USB connection. For wireless streaming:

  1. Connect the device via USB to start streaming
  2. Unplug the USB cable after streaming has started
  3. Plug the device back in via USB when you need to stop streaming
Thermal Considerations

Wireless streaming generates more heat than USB streaming due to WiFi radio activity. You must configure message batching using the --batch-period-ms option to manage thermal performance and prevent the device from overheating (thermal throttle at 42°C).

Message Batching

The --batch-period-ms option controls how messages are batched before being sent from the device. This reduces transmission overhead and optimizes thermal performance.

How it works:

  • Messages are collected and batched over the specified period (in milliseconds)
  • Batched messages are sent together, reducing WiFi transmission overhead
  • Higher batch periods = better thermal performance but increased latency
  • The batch period represents the worst-case delay for live streaming

Trade-off:

Batch PeriodThermal PerformanceLatencyUse Case
100msPoor (near thermal limit)LowShort demos, testing
200-400msModerateMediumGeneral wireless use
500-800msGoodHighExtended wireless sessions

WiFi Router Streaming

Stream data from Aria devices connected to the same WiFi network as your development machine.

When to Use WiFi Router Streaming

  • Untethered development: Move freely without cable constraints
  • Demos: Show live streaming without visible cables
  • Multi-room testing: Stream while moving between areas
  • Sessions > 30 minutes: With appropriate batch period settings

Prerequisites

  1. Same network: Both Aria device and computer must be on the same WiFi network
  2. Network ports: Ensure streaming ports are accessible on your network (default port: 6768)
  3. Device connected: Connect Aria to your WiFi network via the Companion App or via CLI

Quick Start

# 1. Connect device via USB first for initial setup
aria_gen2 device list

# 2. Verify device is on WiFi (check Companion App)

# 3. Start streaming with batch period for thermal management
# Use 200ms batch period for a balance of latency and thermal performance
aria_gen2 streaming start --batch-period-ms 200 --interface wifi_sta

# 4. Unplug the USB cable - streaming will continue over WiFi

# 5. In another terminal, visualize the stream
aria_streaming_viewer --real-time --interpolate --rerun-memory-limit 4GB

# 6. When done, plug the USB cable back in, then stop streaming
aria_gen2 streaming stop

These are preliminary testing results and may vary across environments and devices.

EnvironmentBatch PeriodNotes
Cool environment (below 25°C)--batch-period-ms 100Near thermal limit, monitor closely
Normal room temperature--batch-period-ms 200Recommended starting point
Warm environment (above 28°C)--batch-period-ms 400More conservative for thermal safety
caution

With --batch-period-ms 100, we have observed the device nearly reaching thermal throttle (42°C) during WiFi router streaming. Actual thermal behavior depends on your operating environment temperature. Start with higher batch periods and reduce if you need lower latency.


On-Device Hotspot Streaming

Connect directly to Aria's built-in WiFi hotspot for standalone wireless streaming without requiring external network infrastructure.

When to Use On-Device Hotspot Streaming

  • Field work: No external WiFi network available
  • Quick demos: Simple setup without network configuration
  • Isolated testing: When you can't access local networks
  • Short sessions only: Due to high thermal impact
Important Thermal Warning

On-device hotspot streaming generates significant heat because the device acts as both a WiFi access point AND performs streaming simultaneously.

Even with aggressive batching (800ms), the device will overheat during extended use.

Recommendations:

  • Do NOT use for sessions longer than 20 minutes
  • Take breaks to let the device cool down
  • Monitor device temperature closely
  • Consider USB streaming for longer sessions

Prerequisites

  1. Enable hotspot: Enable the hotspot feature on Aria via the Companion App
  2. Connect computer: Connect your development machine to Aria's WiFi hotspot

Quick Start

# 1. Enable hotspot on Aria device via Companion App or CLI:
# aria_gen2 device hotspot start

# 2. Connect device via USB to start streaming
aria_gen2 device list

# 3. Connect your computer to Aria's WiFi hotspot

# 4. Start streaming with aggressive batching for thermal management
# 800ms batch period is recommended to extend usable time
aria_gen2 streaming start --batch-period-ms 800 --interface --wifi_sap

# 5. Unplug the USB cable - streaming will continue over WiFi hotspot

# 6. In another terminal, visualize the stream
aria_streaming_viewer --real-time --interpolate --rerun-memory-limit 4GB

# 7. When done, plug the USB cable back in, then stop streaming
# Stop before 20 minutes to prevent overheating
aria_gen2 streaming stop

These are preliminary testing results and may vary across environments and devices.

Session LengthBatch PeriodNotes
Under 10 minutes--batch-period-ms 500Short demo, higher risk
10-20 minutes--batch-period-ms 800Maximum recommended duration
Over 20 minutesNot recommendedUse USB streaming instead

Hotspot Streaming Limitations

LimitationImpactMitigation
High thermal loadDevice overheatsLimit to 20 min sessions max
Battery drainFaster battery consumptionKeep device charged
Higher latency500-800ms delayNot suitable for real-time critical applications
Single clientOnly one device can connectUse WiFi router for multi-client scenarios

Wireless Streaming Troubleshooting

If you encounter issues with wireless streaming, see the Wireless Streaming Troubleshooting Guide for common solutions.


Streaming Commands Reference

For complete streaming command documentation, including all available options, see the CLI Reference - Streaming Commands.

Quick Reference:

# Start streaming (USB)
aria_gen2 streaming start

# Start streaming (WiFi with batch period)
aria_gen2 streaming start --interface wifi_sta --batch-period-ms 200

# Stop streaming
aria_gen2 streaming stop

Visualize Streaming Data

Open the streaming viewer in a separate terminal while streaming is active:

aria_streaming_viewer --real-time --interpolate

The viewer shows:

  • Live camera feeds (RGB, SLAM, eye tracking)
  • Machine perception data (VIO trajectory, eye gaze, hand pose)
  • Sensor readings (IMU, magnetometer, etc.)
  • Performance metrics (frame rates, latency)

Example Visualization

Docusaurus themed imageDocusaurus themed image

Streaming vs Recording

Choose the right tool for your needs:

FeatureStreamingRecording
Real-time AccessYesNo
Data Saved on DeviceNoYes
Machine PerceptionVIO, Eye Gaze, Hand PoseVIO, Eye Gaze, Hand Pose
Connection RequiredDuring captureNo
Use CaseLive monitoring, real-time processingData collection for offline analysis
Best ForDevelopment, live demos, debuggingResearch data collection, post-processing
tip
  • Use streaming when you need to see data in real-time or process it live
  • Use recording when you need to save data for later analysis or offline processing

Best Practices

Choosing the Right Method

  • Development & Testing: Use USB streaming for reliability and ease
  • Demos & Monitoring: Use USB streaming with long cables for mobility during short sessions
  • Field Work: Use hotspot streaming when no network is available
  • Long Sessions: Always use USB streaming (no thermal concerns)

General Tips

  • Start Simple: Begin with USB streaming to verify everything works
  • Test First: Run a short streaming session before important captures
  • Monitor Temperature: Watch for device heating during wireless streaming
  • Keep Device Charged: Wireless streaming consumes more battery
  • Close Applications: Free up system resources for better performance
  • Use Quality Cables: USB 3.0+ cables for best USB streaming performance

Thermal Management

  • If device gets hot: Stop streaming and let it cool before continuing
  • Extended sessions: Always prefer USB streaming

Next Steps