Interactive live streaming and RTMP output (traditional live streaming)
Daily's interactive live streaming refers to calls where up to 25 participants can turn on devices and a total of 100,000 participants can watch the call in real time.
Alternatively, Daily sessions can be broadcast to multiple live streaming platforms, using RTMP output.
Choosing between interactive live streaming and RTMP output for traditional live streaming
Both interactive live streaming and RTMP output can support large audiences. They are two different technologies that offer your audience different latencies and levels of engagement.
Interactive live streaming is useful when all participants need to view and hear the discussion in real time. Some examples include:
- Live commerce, where attendees need to bid or shop in real time
- A town hall, where an attendee doesn't need to have their camera on, but needs to be able to submit chat questions in real time
For these kinds of use cases, the ability for all participants to click on a link and join in real time is key. With Daily's interactive live streaming, up to 100,000 participants can join; they can watch/listen (as well as chat) in real time. Up to 25 participants can have their cams/mics on.
In contrast, you may not need full audience engagement in real-time. You only may need to "broadcast" an interview, where a broadcast delay is acceptable. For example, you can use Daily Prebuilt or build a custom app with our client SDKs to conduct the interview. You then can connect that Daily call to a streaming platform like AWS IVS, YouTube Live, Twitch, or your own custom embedded player via RTMP output. Your audience is watching the stream of the video call with latencies that range between 8 and 20 seconds (depending on the streaming platform you connect to). That is in contrast to the sub-400ms latency of a Daily interactive live stream.
In summary, Daily's interactive live streaming is more engaging and dynamic than RTMP. Up to 100,000 people can participate in real time. If your use case calls for larger numbers of passive viewers, you can use our RTMP output to stream to the audience.
Let's take a closer look at interactive live streaming, which accommodates the largest real-time call sizes.
Interactive live streaming: Up to 100,000 participants
Interactive live streaming is a type of few-to-many call. It allows up to 25 call participants to turn on their devices and up to 100,000 attendees to view the call in real-time.
General rules for 100,000-participant calls
Participants who can turn on their devices are considered "active" and participants who cannot turn on devices are considered "hidden."
Active participants are participants who have a "presence" in a call. They can turn on their devices during the call and have their participant information available in the participants()
method return value.
Hidden (or "passive") participants are considered to not have a "presence." They can view a real-time call but cannot turn on their devices and do not have their participant information returned by the participants()
method.
Active and hidden participant count totals can be retrieved via the participantCounts()
method and tracked via the "participant-counts-updated"
event.
There are a few key numbers to be aware of when supporting calls of up to 100,000 participants with Daily:
- Daily calls involving more than 1,000 participants should be configured as interactive live streams. Use the room configurations listed below once you plan to have 1,000+ participants in your call.
- At most, 25 participants can be active. This means 25 cameras and microphones can be on, as well as one screen share.
- All other participants must have cameras and microphones off.
- Every client will receive real-time video and audio, whether they're a speaker or attendee.
When we say "real-time", we mean it! We have a 82ms median end-to-end network latency for all sessions across our global user base.
Custom implementations can have their performance further optimized with our best practice suggestions below.
There are a few required room settings to support call sizes this large and create the active vs. hidden participant dynamic. Keep reading to learn about settings you'll need for Daily Prebuilt or custom apps.
Daily Prebuilt configurations to support 100,000 participants
To set up interactive live streaming with Daily Prebuilt, the following room and/or domain properties must be set to true
:
enable_mesh_sfu
enable_terse_logging
enable_hidden_participants
owner_only_broadcast
experimental_optimize_large_calls
Here is an example cURL command enabling these room properties:
Custom app configurations to support 100,000 participants
To set up interactive live streaming session with a custom Daily app, the following room properties must be set to true
:
Here is an example cURL command enabling these room properties:
To control who starts a call as a presenter and who starts as a viewer, consider using the start_audio_off
and start_video_off
meeting token properties.
- Presenters should have these properties set to
false
, the default. This means their devices will start by being on. - Viewers should have these properties set to
true
, so their devices are off when they join the call.
You can also limit who can turn on devices via the is_owner
meeting token property, and only allow meeting owners to access their devices.
Balancing the number of total participants with the number of devices turned on is important for managing app performance. To host calls with more than 12 active participants (i.e. with devices on) and more than 200 total participants, contact our support team.
Daily sessions can be broadcast to multiple live streaming platforms, like AWS IVS or YouTube Live. Live streaming can be the best option for a large call if hundreds of thousands of people or more could be tuning in, or if providing a viewing link to attendees is preferred to managing silent participants on a call. For more details on Daily live streaming and how to implement it, head to the guide.
To learn more about customizing the layout of Daily live streams or adding custom graphics, read our guide on using Daily's Video Component System (VCS).