1. HLS has latency which is relatively high when compared to RTMP.
2. The performance of HLS on other platforms is minimal when compared to the performance on iOS only.
Depending upon the device support, security features, playback capability and more, you can choose between these two.
Real-Time Messaging Protocol (RTMP) is a standard originally developed by Macromedia in the mid-200s. Designed for streaming audio and video in the mid-2000s, this protocol is frequently referred to simply as Flash. Macromedia later merged with Adobe, which now develops RTMP as a semi-open standard.
For much of the past decade, RTMP was the default video streaming method on the internet. Only with the recent rise of HLS have we seen a decline in the usage of RTMP. Even today, most streaming video hosting services work with RTMP ingestion. In other words, you deliver your stream to your online video platform in RTMP stream format. From there, your OVP usually delivers your stream to your viewers via HLS.
When to use HLS streaming?
We recommend adopting the HLS streaming protocol all of the time. It is the most up-to-date and widely used protocol for media streaming. It does have one disadvantage, which we mention above–HLS has a relatively higher latency than some other protocols. This means that HLS streams are not quite as “live.” In fact, with HLS viewers can experience delays of up to 30 seconds (or more, in some cases). However, for most broadcasters this isn’t a problem. The vast majority of live streams can handle a delay like that without causing any sort of user dissatisfaction.
Streaming to mobile devices
HLS is mandatory for streaming to mobile devices and tablets. Given that mobile devices now make up the majority of internet traffic (around 75% of traffic in 2017), HLS is essential for these users as well.
Using an HTML5 video player
We’ve written extensively about the transition from Flash-based video (usually delivered via RTMP) to HTML5 video (usually delivered using HLS). Check out this blog for more on that subject, including why it’s important to use an HTML5 video player.
If you’re streaming over the RTMP Server, don’t worry! You’re already using a fully compatible HTML5 video player. Content delivered via RTMP Server defaults to HTML5 delivery. However, it will use Flash as a backup method if HTML5 is not supported on a given device or browser. This means that even older devices will have no problem playing your content over your RTMP Server account.