Viewing
1. LiveKit Meet (Browser)
Quickest way to test.
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
Enter:
URL:
wss://your-livekit-server.comToken: (paste the token)
Click Connect
2. LiveKit CLI
For debugging or headless testing.
livekit-cli join-room \
--url wss://your-livekit-server.com \
--api-key YOUR_API_KEY \
--api-secret YOUR_SECRET \
--room robot-room \
--identity viewer
3. Custom Web App
Use the LiveKit JavaScript SDK.
import { Room } from 'livekit-client';
const room = new Room();
await room.connect('wss://your-livekit-server.com', token);
room.on('trackSubscribed', (track, publication, participant) => {
if (track.kind === 'video') {
const element = track.attach();
document.getElementById('video-container').appendChild(element);
}
});
Install:
npm install livekit-client
Token Roles
Role |
Can Publish |
Can Subscribe |
Use Case |
|---|---|---|---|
|
Yes |
Yes |
asimov-manager |
|
Audio only |
Yes |
Viewing + teleop |
Generate tokens with scripts/generate_token.py:
# Robot token (long-lived)
./scripts/generate_token.py --role robot --ttl 8760
# Operator token (short-lived)
./scripts/generate_token.py --role operator --ttl 24