HTTP Live Streaming (HLS) is a versatile, modern standard for adaptive bitrate video streaming on desktop and on mobile devices thanks to its native support on iOS and Android.
To distribute to HLS clients, video source is encoded at different data rates and divided into short chunk files (.ts format), usually between 5-10 seconds long. These are loaded onto an HTTP server along with a text-based manifest file with a .M3U8 extension that directs the player to additional manifest files for each of the encoded streams.
The player reads the main index m3u8
playlist file, determines which quality video is ideal for the viewer's connection and device, and then reads the quality-specific m3u8 index file to load and play appropriate video chunk.
Player can dynamically request the best quality available for specifi client's bandwidth at any given moment. The entire process is seamless for the user. Buffering, lags and delays are avoided. Using HLS, you make sure that your videos quickly reach your users and adapt to suit their platforms and devices.
Cross device support
HLS streaming is supported by a wide range of desktop modern borwers, iOS and Android. However there are still several limitations in use of HLS streaming and popular features.
Chrome - Supported since Chrome version 30+
Firefox - Supported since Firefox version 42+
Internet Explorer 10+ - Supported since IE 11 (Windows 8+ only)
Safari - Supported since Safari version 8+
Opera - Supported since Opera version 15+
Android - Supported on Chrome and Firefox for Android 4.0+
IOS - Supported on iOS 3+
Windows Phone - Supported on Windows Phone 8+
- HTML5 streaming may not work on older devices/browsers. For example it does not work under IE 11 on Windows 7.
- Native HLS streaming does not allow to switch between video qualities manually on mobile devices.
HLS/M3U8 Encoding for AVS/Clipshare
This is pretty advanced part of script which allows to encode video into h264, up to 6 allowed qualities, create main and multiple quality M3U8 playlits, and divide each video into into short chunk .ts files (4, 6 or 10 seconds each).
Allowed qualities (rates) are 144p, 240p, 360p 480p 720p and 1080p. For each quality you can enable/disable it, set CRF constant factor, h264 preset, maximum video and audio bitrate. Additionally you can enable/disable option to encode fallback standard mp4 video for each of active qualities.
Encoded m3u8 playlists and folders with .ts chunk files are stored in separate folder for each video instance in existing h264 directory. Our script supports transfer to remote server(s), same like for standard mp4 video files.
However streaming from other than production server requires CORS enabled on server that HLS files are located. Yiou need to enable CORS on remote server, or ask support about CORS if this is some CDN service. More about CORS and enabling it on server you can read on enable-cors.org.
The script comes also with advanced watermark system
, which allows to watermark video from text or png image in 6 available positions. You can even increase/decrease offset position from video edge for each watermark position. For text watermark you can adjuct text font, color and shadow. Finally completely new option is scrolling text watermark, which scrolls in the middle time position of video from right to left. Certainly you've alaready seen such scrolling text "This video was uploaded to...."
For most FFMPEG compilations you can scroll only LATIN characters. To support other characters FFMPEG must be configured and compiled with --enable-libfribidi
Our HLS/M3U8 encoding script works well with Standard and SuperQueue modifications by Nuevolab. If you have SuperQueue script installed you need to inform us before we prepare download for you.
Player to stream HLS for AVS/Clipshare
Of course you need advanced player to stream your HLS video across maximum number of devices and browsers used today. For this reason the product is offered with Videojs player modified and enhanced by Nuevolab. The player is already configured to play HLS stream for your script. It supports some advanced options that you won't find in any other player, like automated swicth between native and programmed HLS streaming depending on device and video content, beautiful HLS quality selection with super smooth effect. Offered player is the most extennded version, which includes 5 premium skins, Pic2Pic plugin, VAST ads support and many more. The standard price for such player is € 47.00 so you save € 19.00 when buying it with our HLS/M3U8 encoding script. If you already purchased our player, you must be sure you have the latest version and upgrade in case if it is required.
If you purchase HLS/M3U8 encoding script without our player, we will not be able to help with setup of other player setup for new type of streaming.
- Default HLS streaming demo by Videojs player with Nuevo plugin is avaialble on this demo page
- You can also test HLS streaming on our modelctv.com test website based on AVS script.
Every video on website was encoded for HLS/M3U8 streaming.
We strongly suggest to read all information provided above about HLS/M3U8 encoding and streaming and preview demos included. Still there are many webmasters who heard about M3U8 format and this ends their experience with HLS encoding and streaming.
M3U8/HLS encoding, adaptive streaming method in video script has several limits and requirements, and you should not bother with it until you do not realize it enough.
Most important HLS encoding and streaming rules that you should know have been described on our forum.
Each Nuevolab modification is tested and verified, available to review on live example website. For each modification we include detailed installation tutorial in html format. Tutorial concerns script's default code.
For each modification we also offer installation service which price is minimum € 10.00. Once product delivered to buyer it cannot be a matter of chargeback request or PayPal dispute.
Nuevolab free support cannot concern self installation, as it is not possible to guess how script was installed and what possible website code can be or server setup is.
Nuevolab reserves maximum 24 hours (usually much faster) to deliver ordered products.