Host vs Audience Modes - Flutter
Before diving into implementation, it's important to understand the two core modes of participation in an Interactive Live Stream (ILS)
session powered by VideoSDK:
1. SEND_AND_RECV
โ Host / Co-host Modeโ
This mode is designed for Hosts or Co-hosts who need to broadcast their audio and video to the audience and potentially interact with other hosts. Following is the list of everything a host is capable of:
- Publish and receive media (audio/video/screen share)
- Participate in conversations with other hosts
- Engage with the audience using chat, polls, reactions, and more
- Moderate the stage and manage participants
- Invite audience members on stage to become temporary broadcasters
๐ข Scales to 2,000+ real-time viewers (Need more? Contact support@videosdk.live)
2. RECV_ONLY
โ Audience Modeโ
This mode is optimized for audience members who are viewing the live stream and engaging via non-verbal interaction tools. Following is the list of everything audience is capable of:
- Receive media from all active hosts in real time (audio/video/screen share)
- No media publishing โ cannot share their own audio/video unless promoted
- Engage via:
- Live chat
- Polls and quizzes
- Reactions (emojis, claps, hearts, etc.)
- Virtual gifts
- Hand raise to request stage access
๐ข Scales to 2,000+ real-time viewers (Need more? Contact support@videosdk.live)
Seamless Transition Between Modesโ
VideoSDK offers a dynamic role management system, making it easy to transition a participant from audience to stage. If a host invites an audience member on stage, they can seamlessly switch from RECV_ONLY
mode to SEND_AND_RECV
mode. This allows them to publish their audio/video and interact like a host or co-host. Once their role is revoked, they can return to the audience mode.
Mode Architectureโ
Hereโs a visual representation of how these modes function within an ILS session:

By clearly separating hosts from viewers, and offering seamless transitions between roles, VideoSDK ILS ensures high performance, low latency, and exceptional flexibility for all live streaming scenarios.
Throughout the rest of this documentation, whenever we mention "Host", we are specifically referring to a participant in the SEND_AND_RECV
mode. Similarly, when we mention "Audience" or "Viewer", we are referring to participants in the RECV_ONLY
mode. These distinctions are important, as each mode comes with its own set of capabilities and limitations.
Got a Question? Ask us on discord