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.
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.
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.
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.
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.
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.
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:
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.
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.
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:
However, you should know that videos on the internet are never 100% secure.
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.
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.
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.
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.
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”.
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.