This tech comparison will guide you to the best choice between live-streaming solutions: HLS, DASH, RTMP, RTP/RTSP and WebRTC.


To build live-streaming system for your business, the right technic choice is key to success.

For a typical business model with thousands of active users, there are plenty of open-source solutions to choose from.

You may heard of HLS, DASH, RTMP, RTP/RTSP and WebRTC. They are all for live-streaming, but what’s the difference? Let’s have a look at each other.

TL;DR

Tech comparison

RTMP and RTP/RTSP

  • Latency : Medium. Typical latency is 2~5 seconds, we can reduce the latency to around 1s.
  • Popularity : Most of the apps in the store use RTMP nowadays, big names include YouTube, Twitch, Facebook Live, etc.
  • System compatibility : There are many open source libraries and SDK to integrate with the app. But for the website, the client will have to support Flash — browsers like mobile Safari don’t support it.
  • Cost to scale : Medium.

HLS and Dash

  • Latency : High. They are both chunk based format, which means new segment is ready only after a fixed interval. Typical latency is between 5~60 seconds.
  • Popularity : Widely used in most of the streaming platform, websites and apps. TVs use HLS because they don’t need real-realtime-live-streaming.
  • System compatibility : Browser-friendly, easy to embed into webpages and apps, Safari has native support with HLS.
  • Cost to scale : Low. They are transport over http, and easy to scale with CDNs, which will reduce the total cost.

WebRTC

  • Latency : Low.
  • Popularity : WebRTC is used in live chat and online meeting.
  • System compatibility : WebRTC is currently supported by Google Chrome, Mozilla Firefox, and Opera. Microsoft’s Internet Explorer and Apple’s Safari have yet to add support for WebRTC, support for these browsers comes in the form of 3rd party plugins right now.
  • Cost to scale : Hard to scale. Some solutions will use WebRTC for input and RTMP/HLS/DASH as output.

Best Practices

  • RTMP is a good choice which balance performance and cost.
  • HLS/DASH are cost efficient solutions support scale to large numbers of clients, with the disadvantage of notable latency.
  • WebRTC if for real live-streaming, but is hard to scale (at 2018).

References