What you’ll find in this guide:
What is HLS
HLS (HTTP Live Stream) is a streaming protocol developed by Apple Inc. mainly for their iOS devices and Safari browser. The protocol is also supported by newer Android devices (introduced in 3.0 – Honeycomb) and with the use of HLS.js, on all browsers that use the MSE specification. Using HLS Streams, is also one of the better methods of video security. This guide will show you what to do to use HLS with FV Player and how to cover as many devices and browsers as possible.
The basic principle of HLS is breaking the video stream to small fragments of data (usually in the .ts format), that are loaded sequentially to create a continuous playback. The stream itself can hold a various number of sub-streams,
that carry the same data, but differ in the encoding quality, thus allowing the device to automatically switch qualities to provide scalability on wide spectrum of bandwidths. The meta data containing all the information about the various sub-streams
and the individual fragments are stored in a single playlist in .m3u8 format. The player uses this file to open a session and load the fragments.
HLS is based on HTTP transactions, so it’s supported by most servers. It also allows encryption via AES algorithm. We offer several options for creating encrypted HLS. You can use FV Player Coconut, which includes DigitalOcean hosting, Bunny CDN and Coconut encryption. If you’d like to go with Amazon Web Services, you can start by creating an S3 bucket. Lastly, if you do not need encryption, you’ll do just great with Bunny Stream.
Inserting HLS to FV Player
Using the HLS stream with FV Player is very easy, just insert the link to the .m3u8 file in the shortcode editor to the Video field. The editor will look like this example:
As mentioned above, HLS is designed for iOS and Safari browser, so serving the stream on these platforms won’t require any adjustments. Other devices will need some additional settings, as you will see further in this guide.
HLS Live Streams
HLS Live Streams are automatically detected by the editor. Just put in the live stream URL and the “Live stream” checkbox will become available and checked:
HLS Compatibility
HLS is normally only supported on iPhone, iPad and Safari. In order for HLS to play in any other browser FV Player uses the HLS.js library. Since this library is JavaScript your HLS streams have to be served with the proper CORS HTTP headers which allow JavaScript to download files from other domains (such as the CDN hosting your HLS stream).
If you use a CDN, make sure the following file extensions are allowed for CORS:
- m3u8
- ts
For information on how to enable CORS in most common video serving environments follow How to enable CORS headers for various types of video hosting.
Examples
Example videos can be found here: