What is the difference between a Channel and a Room and when should I use them?
A Room can have multiple pieces of content, such as broadcast-type content and user-generated content (UGC). These content streams can carry the same content or can contain different content.
Some members can simultaneously generate and subscribe to content streams.
A Channel is a specific type of Room. A Channel has a single piece of content, in one or more streams, from one or more Publishers (each encoder or contribution path is a different Publisher).
If there are multiple streams, each stream is assumed to have the same content. This is used for high availability, where content is contributed via multiple redundant pathways to ensure delivery.
A Side-by-Side Comparison
|Use case: many-to-many, few-to-many, one-to-one
|Use case: one-to-many
|More than one piece of content in the room
|Only one active piece of content at a time (at most one audio & one video & one data)
|Typically used to create a group experience with more than one publisher
|Typically used to create a broadcast experience with a single publisher
|Rich set of APIs for creating a wide range of experiences
|Simplified set of APIs for publishing and viewing
|Customers need to build stream selection logic on Client if multiple streams
|Channel provides stream selection logic, including High-Availability (HA) logic