Rooms Overview
Rooms provide an advanced broadcasting infrastructure that enables interactive live streaming with co-hosting capabilities. This page covers the core concepts, data models, and architecture of the room system.Overview
The Room feature extends traditional livestreaming by supporting collaborative broadcasting where multiple users can participate as co-hosts. Rooms handle video/audio synchronization, participant management, and provide comprehensive moderation controls.Key Features
Co-Hosting
Multiple broadcasters in one stream
- Invite co-hosts to join the broadcast
- Real-time audio/video synchronization
- Host and co-host role management
- Participant limit controls
Room Types
Flexible streaming architectures
- Co-Hosts: Multiple broadcasters with LiveKit
- Parent-child room relationships
- Isolated or linked chat channels
Lifecycle Management
Complete room state handling
- Idle → Live → Ended lifecycle
- Waiting for reconnection states
- Live viewing and recorded playback
- Automatic cleanup
Moderation & Safety
AI-powered content moderation
- Real-time content flagging
- Automatic termination rules
- Moderation label tracking
- Stream safety controls
Room Types
Co-Hosts Room
Multi-participant broadcasting using LiveKit infrastructure: Characteristics:- Multiple simultaneous broadcasters
- Real-time audio/video mixing
- Interactive participant management
- Requires LiveKit tokens for each participant
- Panel discussions
- Interviews and Q&A sessions
- Collaborative workshops
- Multi-host shows
Room Lifecycle
| Status | Description | Actions Available |
|---|---|---|
| Idle | Room created but not broadcasting | Start stream, invite co-hosts, delete room |
| Live | Room is actively broadcasting | Stop stream, invite/remove co-hosts, moderate content |
| Waiting Reconnect | Temporary disconnection | Auto-reconnect, manual stop |
| Ended | Broadcast finished | View recording, delete room |
| Recorded | Recording available | Playback, download, delete |
Status Flow
- Creation → Idle: Room created, awaiting first broadcast
- Idle → Live: Broadcaster starts streaming
- Live → Waiting Reconnect: Temporary disconnection (automatic)
- Waiting Reconnect → Live: Reconnection successful
- Live → Ended: Broadcast stopped (manual or automatic)
- Ended → Recorded: Recording processing complete
Room Participants
Participants represent users who can broadcast in the room:| Role | Description | Permissions |
|---|---|---|
| Host | Creator of the room | Full control, invite/remove co-hosts, end stream |
| Co-Host | Invited broadcaster | Broadcast audio/video, leave stream |
| Viewer | Watching the stream | View only (not a room participant) |
For detailed co-host invitation and management workflows, see Co-Host Management.
Room Targets
Rooms can be created for different contexts:Community Room
User Room
Room References
Link rooms to other content types: Supported References:- Community: Room associated with community content
- User: Room on user’s timeline
- Event: Room linked to a scheduled event
Channel Integration
Rooms can have integrated live chat channels for viewer interaction. Channels must be manually created after the livestream post is created.- Live chat during broadcast
- Host/Co-host badges
- Moderation tools
- Message history
Moderation System
AI-powered moderation monitors room content in real-time:Parent-Child Room Relationships
Rooms can have hierarchical relationships for complex streaming scenarios:- Breakout sessions from main room
- Multi-language streams
- Regional broadcasts
Room Data Model
Complete room object structure:Integration with Posts
Rooms are linked to posts for social distribution. See Room Posts for detailed post creation.Best Practices
Room Setup
Room Setup
Configure rooms appropriately for your use case:
- Use Co-Hosts type for interactive sessions
- Enable channels for viewer interaction
- Set clear titles and descriptions
- Upload thumbnails before going live
- Configure participant limits
Co-Host Coordination
Co-Host Coordination
Manage co-hosts effectively:
- Invite co-hosts before going live
- Set clear moderation rules
- Monitor participant count
- Have backup hosts ready
- Test audio/video before live
Moderation
Moderation
Implement safety measures:
- Review moderation labels regularly
- Have moderation guidelines
- Monitor flag labels proactively
- Respond to violations quickly
- Keep logs of moderation events
Performance
Performance
Optimize streaming performance:
- Test network bandwidth
- Use appropriate video quality
- Monitor connection stability
- Have reconnection strategies
- Clean up ended rooms