HTTP Live Streaming (HLS) Tutorial


HTTP Live Streaming, often shortened to HLS, is an adaptive bitrate streaming protocol developed by Apple. Today, the technology powers the bulk of video content distributed online.

So how does HLS streaming work and what tools come into play? Watch the video above and follow along below for our full HTTP Live Streaming Tutorial.


Table of Contents


HTTP Live Streaming Workflow

If you’re looking to HTTP live stream, this means sending a live video signal to a website or mobile app. The process general begins with the encoder, where the video and audio signals are compressed and streamed to a media server using the RTMP protocol. The media server then unpacks the RTMP stream, and repackages it as HLS in multiple bitrates for best viewing by players under different network conditions. This is streamed to a content delivery network (CDN) where it’s then cached for faster distribution to players all over the world. For players to stream, they request the info from the CDN about the stream, and then once they have the info, they request the playlist for the stream that works best for their network conditions.  


HTTP Live Streaming Tools


Media Server

When it comes to choosing the HTTP Live streaming tools, the media server is the best starting point, with Wowza Streaming Cloud as the easiest tool to stream professional live broadcasts to millions. With Wowza Streaming Cloud, you can setup as many streams as you need. Just name the stream you’re making and choose the location closest to where your broadcasting from. Next, you’ll select the right equipment, or choose Other RTMP. You can leave everything else as default, and head straight to finish, to making the live stream.



Now the media server is ready to go with a built-in content delivery network. All you need is the source connection information for the encoder, and either the HLS URL for playback, or the Player embed code, if you don’t have a player already. And when you’re ready to stream, don’t forget you’ll need to Start the Live Stream before you can connect to the media server.



Software encoders or mobile apps are a good starting point to live stream with, OBS Studio being a great free software tool with loads of functions, and Streamlabs as a simple free app. OBS streaming setup is pretty basic, using the source connection information as follows. Streamlabs’ custom RTMP option, however, requires merging authentication information into the URL for it to work. Not a big deal, as long as you know the expected format. Once added, going live is just a click away, provided you started your live stream.


HTTP Live Streaming Playback

Playback gets a little easier. You can always share that HLS URL on mobile apps for native playback. For websites, HLS plays back natively in HTML5 using the video tags, However, you can also use the provided embed code to inset a video player in. For anyone viewing the website video on a mobile device, this gets played back natively like when the HLS URL is shared.



That’s it for our HTTP Live Streaming. To try it out for yourself, sign up for a free trial of Wowza Streaming Cloud today.


Search Wowza Resources



Follow Us


About Justin Miller

Justin K. Miller is the video and webinar producer at Wowza Media Systems. He’s responsible for both the live and recorded productions made to educate, train, and inform customers and live video streaming enthusiasts. When not focused on the many facets of video production, Justin spends his free time watching media, modifying 3D printers, designing terrarium topography, breeding poison dart frogs, and raising his two children Jonathan and Alexis.