HTTP Live Streaming

HLS works by uploading or streaming a video which is getting transcoded into M3U8 format and being separated into several versions of the same video, with different resolutions (480p, 720p, 1080p). Each version gets broken into a sequence of small HTTP-based file downloads, called media segment files, typically of a duration of 6 seconds. Adaptive bitrate streaming allows automatic selection of the best-suited video stream depending on the viewer’s device and internet speed available. Thanks to the short duration of the files, the device can easily switch from one quality to another, if the internet speed keeps changing.

Image upload, storage, manipulation and optimization

Transcode video to HLS

In order to stream a video using HLS, you need to create HLS media first. Since M3U8 is the only video format HLS supports, you need to transcode it first. There are many transcoders you can use, including the one Publitio offers you. Also, you can transcode a video manually, using the ffmpeg. Once you download ffmpeg on your computer, you can start transcoding your video file. HLS demuxer will create a master playlist and media segment files. The name of the video will also be the name of your HLS master playlist (m3u8) and media segments (.ts). When the transcoding is done, your video will be ready for streaming.

Image formatting

Video Encryption

HLS Video Encryption is an additional layer of protection when it comes to streaming videos over content delivery networks. The encryption happens during the transcoding process, which requires the encryption keys and algorithms. Only the owner of those keys has access to the video. Before the video is played, keys are being exchanged and checked. This way, you will prevent unauthorized downloading of your videos. The only encryption algorithm HLS supports is AES-128.

Image manipulation

HLS Video Player

In order to watch an HLS video, you need to have a video player that supports the HLS format. The player will automatically do the adaptive bitrate streaming on any device. If you enable video encryption before you start streaming your video, it will be secured via HLS encryption, giving it an additional layer of protection. Publitio offers you a built-in video player with HLS support.

Start now for free or choose one of our plans
Image resizer

Mobile Video Streaming with HLS

Watching videos or live streams on a mobile phone can be difficult, especially if you have a bad internet connection or if you use mobile data. HLS was originally made for Apple products, including all of their mobile devices, so it has proven to be the best option for mobile video streaming. Even if you don’t have iOS on your mobile phone or tablet, it is available on Google Chrome on Android OS.

Image Watermarking - Protect your intellectual property

HLS Video Quality

HLS Video Quality depends exclusively on the quality and speed of your internet connection. Due to the adaptive bitrate streaming, you can watch multiple alternate streams at different bitrates. The server offers a few different qualities of the same video (360p, 720p, 1080p...), so your HLS video player chooses which one is the most suitable at that moment. The segments last only a few seconds, so the swap between them is very fast and unnoticeable. This way, you can watch the video without cuts because the HLS player is sometimes purposely choosing the segment with lower quality, depending on the internet speed.

Responsive images for best mobile performance

M3U8 file format

The only file format supported by HLS is M3U8. Other formats (mp4, MOV, WMv, AVI) need to be transcoded into M3U8 in order to be played via HLS.

The M3U8 file structure contains 3 parts:

  1. Master Playlist lists the different sizes and qualities of the original video transcoded to M3U8 file format.
  2. Media Playlist, each one of the files has a unique combination of a different resolution and bitrate of the video.
  3. Media Segment Files represent short cuts from the Media Playlist in a variety of different qualities and sizes.
Image optimization for websites

Devices and Browsers that Support HLS

HLS is supported by all Apple devices: iPhone, iPad, iMac, Apple TV… Over the years, HLS became available on many other devices and browsers: Microsoft devices, iOS devices, Android devices, macOS platforms, Microsoft Edge, Safari, VLC Media Player, iTunes, GOM Player, JW Player… When it comes to Google Chrome and Mozilla Firefox, they have native support on Android and iOS, while on other operative systems, you need a Media Source Extension.

Image Management for Developers

When to Use HLS

HLS has proven to be the best live streaming solution for mobile phones and tablets.

Quality is the key. If you want to deliver high-resolution videos with bigger size and duration to people all over the internet, HLS is definitely the right choice for you.

If you want to use an HTML5 video player, HLS is one of the very few streaming formats that support it.

Start now for free or choose one of our plans
Cloud-based Image Hosting Platform

HLS Video Security

HLS Video Security is being accomplished by the HLS Video Encryption process. The encryption works by creating encryption keys and AES-128 algorithms, exchanging and checking them before the video is played, so only authorized parties will have access to the video.

There are some other ways to help you strengthen the security of your video:

  1. Not including URL to decryption key in your Master Playlist
  2. Generating signed URLs for authorized parties
  3. Using cookies for encryption

However, you should know that videos on the internet are never 100% secure.

Image Delivery across the Globe

Benefits of HLS Streaming

  • HLS Streaming provides viewers the best possible quality of the videos.
  • Even though you don’t have the best internet connection, thanks to the adaptive bitrate streaming you can still watch the video fluently in lower resolution.
  • You can stream videos no matter their duration.
  • HLS Streaming supports HTML5 videos.
  • Video Encryption provides you an extra layer of protection, making it very difficult for viewers to download your video.
  • DRM support.
  • HLS Streaming is widely spread among the devices, browsers and video players.

Start now for free or choose one of our plans
Cloud-based Image Hosting Platform

HLS compared to other video protocols

Even though it is still used today, the RTMP flash video streaming is being replaced by HLS. The reason for that is the Flash plugin, which is being available on fewer devices each year, while HLS is nowadays available on a huge number of devices, browsers and video players. Also, very few other streaming protocols support HTML5 videos.

MPEG-DASH, the latest streaming protocol, also uses HTTP web servers and adaptive bitrate protocol. It supports almost every video and audio codec and resolution up to 4K. However, iOS does not support MPEG-DASH without an extension, which gives a huge advantage to HLS.

Image Delivery across the Globe

HLS streaming FAQ

How can I use HLS with Publitio?

Publitio allows you to host, transcode and deliver your video content, along with security features to protect your content. You need to upload a video, enable HLS encryption, the website will automatically transcode your video to HLS (.m3u8 file). To share your video, copy the iFrame URL from “Embed/Player codes” and embed it to your website.

Why should I use HLS and when?

You should use HLS because it is the best streaming protocol, available on the variety of devices, browsers and video players. HLS provides the best possible quality of the video, the ability to change the resolution anytime and security of your content.

What is HLS Streaming Protocol?

HLS Streaming Protocol (HTTP Live Streaming) is an adaptive bitrate streaming protocol, which helps you stream videos or send them on demand. HLS is based on HTTP, so it allows streaming from a regular web server or content delivery network.

Which browser is best for HLS Streaming?

Microsoft Edge and later Safari Browser versions are the best when it comes to HLS support. Google Chrome has enabled HLS Streaming through the “experimental Web Platform features”.

Is HLS better than mpegts?

The main difference between HLS and mpegts is adaptive bitrate streaming. Mpegts sends video chunks at a standard rate, no matter the internet speed, while HLS adapts to the internet condition and works along with it.

Sign up for free

Or choose one of our plans. Compare plans in details.