Webinars and Virtual Events

Overview

A webinar use case is defined at Dolby.io as one or more users talking about a topic with a number of listeners (audience members). The number of listeners can be in the hundreds or in the hundreds of thousands. Listeners can be in real time or watching with a delay. A webinar can be interactive when the host asks questions (polls) to the audience and answer questions in real time. An audience member can also be promoted and join the host on stage and become a user who can speak and be seen. These events can also be recorded and replayed at a later time.

1920

Terminology

  • Users - a participant who can send and receive video and audio stream to/from the conference
  • Hosts - a participant or User with additional permissions to manage the conference and other participants
  • Listeners and Viewers - a participant who can only receive video and audio stream from the conference
  • Composition - A composition is a mixed audio and video stream based on a specific layout displaying the video tiles of hosts and other listeners in a video conference
  • RTMP - Real Time Messaging Protocol (RTMP) is a proprietary protocol used for real-time streaming of video, audio, and data between a servers. RTMP is used for by platforms like Youtube, Twitch, Wowza and others as a video input format to streaming video to viewers.

Solution Use Cases

Small audience (<10,000):

Hosting the audience on the Dolby.io Communications platform is limited to 10,000 divided by the number of users or simultaneous number of guests invited on stage (see the Conference Capacity guide). It allows a developer to use a single SDK to build the service and keep the latency very low. Bringing an audience member on stage is possible with a good user experience. Questions from the audience can be answered in real time using a chat messaging system, a raise your hand feature built on top of the CommandService, and then bringing the audience member on stage.

Large audience (<100,000):

Using Dolby.io Real-Time Streaming, the latency is generally under one second and allows for an audience member to be invited on stage without having to travel in time (as the delay between the users and the audience is very short). Using Dolby.io Real-time Streaming allows for the audience size to reach 60,000. What the audience sees is a mix (composition) of the host (and eventual guests). This composition can be automatically generated with a with a simple REST API call.

Very large audience (>100,000):

When the audience size grows past 100,000 or if there is no need for listeners to be in real time, the use of an RTMP provider is recommended, as the cost is usually lower. The Dolby.io platform will mix the conference and send an RTMP stream, with a simple REST API call, to the provider of your choice (Youtube, Mux, Wowza...) and it will transcode the stream into an HLS stream. Using RTMP will increase the delay for the listeners. An HLS stream can add an extra 12 to 30 second delay. This makes it difficult to have any kind of interaction between the host and the audience.

Hosting SolutionMax AudienceLatencyStreams*Interactivity
Dolby.io Communications APIs3,000 / Number Users< 300msIndividualExcellent
Dolby.io Real-time Streaming100,000< 500msMixedExcellent
RTMP providerLimited only by the RTMP providerLimited only by the RTMP providerMixedLimited

* Individual streams means that the audience will receive individual video streams for each user in the event. A mixed stream comes out of the mixer; the audience will receive one video stream per event.

The Dolby.io mixer technology creates a composition of the video participants in the conference and stream that to an endpoint, either Real-time Streaming or RTMP. That endpoint is in charge of delivering the mixed audio video to the listeners.

It is also possible to combine different paths for distribution. For example, you can bring a VIP audience in with Real-time Streaming so they can be brought on stage, and keep a larger audience behind an HLS stream.

Estimation Costs

There are multiple components that make up pricing for an interactive real-time streaming solution. The following outlines the pricing components for different sized solutions. For the full list of prices and more information visit our Pricing page or for custom pricing Contact Us.

Small audience

(Users + Listeners) x Minutes x Video Call Price

  • Users: Number of active participants in the conference
  • Listeners: Number of all the audience members in the conference
  • Recording: Video recording mix for the duration of the conference (Optional)

Large audience (sub-second Interactive Real-Time Streaming)

((Users + Listeners) x Minutes x Video Call Price) + (Minutes x Real-Time Streaming Mixing Price) + (Composition Audience x Minutes x Real-time Streaming Video Mixing Viewer Price)

  • Users: Number of active participants in the conference
  • Listeners: Number of all the audience members in the conference
  • Composition: Mixing of the video stream for the duration of the stream to real-time streaming listeners
  • Composition Audience: Real-time streaming viewers of the mixed video
  • Recording: Video recording mix for the duration of the conference (Optional)

Very large audience (RTMP output for Live-Streaming)

(Users x Minutes x Video Call Price) + (Minutes x RTMP Mixing Price) + (RTMP Provider Price)

  • Users: Sum of video call presence minutes from all the hosts
  • Listeners: Mixing of the video stream for the duration of the stream to RTMP listeners
  • RTMP Composition Audience: RTMP listeners or viewers of the mixed video (Contact your RTMP / HLS Provider for pricing)
  • Recording: Video recording mix for the duration of the conference (Optional)

Kickstart Development with Sample Apps

1) Small audience - Dolby.io Video Call Apps

Develop your own conferencing or webinar solution for small audience with the Dolby.io Video Call app. Designed for one-to-one or small-group live video conferencing, these open-source sample apps provide everything you need to build or integrate your own Video Call solution. These sample apps are available for web and mobile.

View source code:

Top features include:

  • Creating and joining a conference
  • Camera, microphone, and audio output configuration
  • Full conference view with grid display of user streams
  • Basic video conferencing interactions (muting, camera switching)
  • Screen sharing (Web Only)
  • Recording
  • Background blur (available only on desktop Chrome and Edge)

Experience a demo

2) Large audience - Dolby.io Virtual Event Sample App

Develop your own webinar solution with the  Dolby.io Event Sample Web Application. This open-source sample app built with React JS has everything you need to build or integrate your own live event or webinar application with Dolby-quality audio and video, and ultra-low latency.

View source code:

Top features include:

  • Large audience reach - Scale to100,000 concurrent viewers
  • Separate workflow and screens for event hosts and viewers
  • Easy event layout customization
  • Standard camera and audio controls
  • Screen share
  • Recording
  • Automatic background noise reduction
  • Learn more >

Experience a Demo

3) Very large audience - RTMP + Video Call Sample App

Learn how to use Real-Time Messaging Protocol (RTMP) to stream your event, conference, or video call solution through a third-party service such as YouTube, Facebook, or Twitch. Checkout the Live streaming a Video Call feature page to get started building the Dolby.io Video Call app that can be enabled for RTMP.

View source code:

Get Started

Follow the steps on this checklist to begin creating your webinar application.

  1. Build communications into your front-end web application for event hosts to use
  1. Launch streaming to broadcast to your audience from a back-end service triggered by your application

Small Conference

  • Extend your application and invite Guests directly into the conference session along with the Hosts. The Video Call for React Sample App has a demonstration of an interface that can support multi-party calls.

Large Audience

  • Use the Start Real-time Streaming REST API to start streaming. Use the server-side REST Client SDKs that enable you to make API calls easily with your chosen language such as Node.JS, Python, or .NET.
  • Enable more viewers by incorporating a real-time streaming viewer in an app for the Guests. The Viewer React Sample App (GitHub) has a demonstration for how to implement this.

Very Large Audience

Additional Features

Best Practices

The API calls to start an Real-time Streaming or RTMP stream require a backend for the customer application. The front end will contact its backend that will handle the conference creation as well as starting and stopping the external streams.

When creating a mix (Real-time Streaming or RTMP), the video is 1080p landscape mode. If the presenter is on a mobile device using the front facing camera in portrait, the rendering might not be optimal for the playback. The developer has to consider either rotating the video on the mixer or cropping the sides of the video when playing so it can be displayed without too much lost real estate.