HLS delivery is a standard, mature stream delivery protocol that makes it easy to take advantage content delivery networks (CDNs) to provide content to large numbers of viewers. HLS is a great choice for viewer scale and feature richness, while WebRTC might be your choice if low latency is your primary need.
WebRTC typically offers sub-500 millisecond latency with the added benefit of not requiring additional encoders or players since it runs from your browser using built-in cameras.
Because the maturity and technology for WebRTC is different than HLS, you'll want to consider the trade-offs for each protocol.
|Latency||15-20 seconds typical||500 milliseconds or less|
|Technology||TCP||UDP (primary), TCP (optional)|
|Features||Depending on the player you use, you can take advantage of:
||Industry-leading low latency|
|Player compatibility||Wide variety with varied features you can take advantage of.||Browser-based with a more limited feature set, that varies per browser.|
|Quality: Video quality vs speed||Prioritizes video quality through adaptive bitrate (ABR) renditions for highest quality playback for each viewer's device and connection speed.||
Prioritizes real-time latency.
|Security||You can implement the following security features for HLS streams:
||WebRTC always uses the following security features:
|Scale||Tens, thousands, up to millions of viewers||
Standard WebRTC-to-WebRTC streams are limited to approximately 300 viewers in Wowza Streaming Cloud because of the technology used.
WebRTC can be paired with HLS for broad distribution with WebRTC for limited low-volume, low-latency streaming. See Deliver WebRTC streams to viewers for HLS playback using Wowza Streaming Cloud and Deliver WebRTC streams to viewers for HLS playback using the Wowza Streaming Cloud REST API for more information.
|Cost||Incur CDN distribution costs per viewer||Distribution direct from transcoder. Incurs egress per viewer.|