HLS streaming (HTTP Live Streaming) has a couple of advantages over RTMP streaming in a sense that it can circumvent corporate firewalls and proxies and it plays on most mobile devices and desktops. RTMP streaming does not work on mobiles at all since it needs Flash, although JW Player has a HTML5 fallback method for mobiles. Below you find an interesting webinar organized by AWS and JW Player that explains the whole process to publish a HLS streaming video on your site. It is about 42 minutes long and covers the following subjects:
- Advantages/disadvantages of RTMP streaming
- Advantages of HLS streaming
- A step by step demo on how to setup HLS streaming via the AWS console and create a m8u4 manifest.
- A step by step demo how to use an m8u4 manifest with JW Player.
The explanation is a little technical, although they did their best to keep it simple. Therefore we plan to create a series of easy to understand tutorials in the coming weeks to publish HLS videos on your site. In any case, this webinar gives enough information for web developers to get well on their way.
Disadvantages of HLS streaming
One disadvantage of HLS streaming is not mentioned in the webinar, namely the cost. RTMP streaming is cheaper and faster to implement because you only need one video. For HLS streaming, if you want to work efficiently, you have to upload a video to the AWS console, then break it up in small chunks using Elastic Transcoder and finally use an m8u4 manifest to serve the video to your visitors.
Therefore, you have the added cost of converting the videos into small parts, and each request for a part of the video in your site will be charged as well.
Elastic Transcoder automates this process for you, it works fast and efficient, but if you have many videos, the workload becomes substantially bigger and the cost adds up. To give an example: if you have 27 HD videos of 1 hour in length, the transcoding on its own will cost you roughly $50 USD.
The added cost of serving a video via HLS streaming in small parts as opposed to serving 1 video via RTMP streaming is difficult to calculate, but it stands to reason that your monthly AWS bill will increase.
HLS streaming doesnot work on Android devices at this time of writing because JW Player deemed Android too unstable in this respect and decided to stop supporting it.
Furthermore, HLS streaming requires a yearly JW Player Premium license, at this time of writing priced at $299/per year.
Therefore, if you have a small budget, you might want to stick with RTMP streaming. JW Player offers the option to serve automatically the same video as progressive download for mobile devices.
But if the budget is not a big issue, HLS streaming via AWS and JW Player 6 is definitely worthwhile to consider because it works nowadays on most modern browsers and mobiles while in the past it only worked on Apple’s iOS devices.