Quick Start

1. Install dependencies

./scripts/setup.sh

Takes 10-20 minutes. Installs GStreamer and builds the LiveKit plugin.

2. Configure

cp config.yaml.example config.yaml

Edit config.yaml:

livekit_url: "wss://your-livekit-server.com"
livekit_auth_token: "YOUR_JWT_TOKEN"
livekit_room: "robot-room"

camera_count: 1
camera_0_device: "/dev/video0"
camera_0_width: 1920
camera_0_height: 1200
camera_0_fps: 50

3. Generate a token

./scripts/generate_token.py \
  --api-key YOUR_API_KEY \
  --api-secret YOUR_SECRET \
  --room robot-room \
  --identity asimov-robot \
  --role robot \
  --ttl 8760

Copy the output to livekit_auth_token in config.yaml.

4. Build and run

bazel build //:asimov-manager
./bazel-bin/asimov-manager

5. View the stream

Generate an operator token:

./scripts/generate_token.py \
  --api-key YOUR_API_KEY \
  --api-secret YOUR_SECRET \
  --room robot-room \
  --identity operator-001 \
  --role operator

Go to meet.livekit.io:

  • URL: wss://your-livekit-server.com

  • Token: (paste the operator token)

You should see the camera feed.

Next Steps