Skip to content
Frank SchönbergerJan 30, 20245 min read

Cracking the OTT Streaming Compatibility Code with HLS

In the past decade, we have seen Adaptive Bit Rate (ABR) formats for OTT streaming protocols come and go. Major players developed their own standard, like Microsoft Smooth Streaming (MSS), Adobe’s HTTP Dynamic Streaming (HDS), Apple’s HTTP Live Streaming (HLS) and the most popular open-source standard, Dynamic Adaptive Streaming over HTTP (DASH or better known as MPEG-DASH). Some no longer play an important role, others have disappeared completely. As the way content is viewed evolves, protocols need to adapt. What is the ABR format of choice when you want to reach the highest number of devices which ultimately means more viewers?

Don’t Leave Anyone Behind

Content is king! And if you want to deliver it to as many people as possible, you will choose a streaming format that is supported by a large number of consumer electronic devices, not forgetting the huge number of legacy devices still in use around the world. Today, these ABR formats are MPEG-DASH and HLS, with the latter having a slightly wider reach. Originally developed by Apple and released in 2009, HLS is supported by most platforms, operating systems and browsers, including mobile.

Apple is regularly updating the HLS specifications to ensure that future video and audio codecs are supported and can be played back on next generation devices. Moreover, the playlists can be modified, so that specific codecs – not explicitly mentioned by Apple – can be used for HLS streaming, such as Fraunhofer’s immersive, object-based MPEG-H 3D audio or AV1, as well as experimental VVC/H.266 video formats. The official “HTTP Live Streaming (HLS) authoring specification for Apple devices” postulate both AVC/H.264 or HEVC/H.265 for video and AAC-LC, HE-AAC v1/v2, xHE-AAC, Dolby Digital (AC-3), Dolby Digital Plus (E-AC-3) or Dolby Digital Plus with Dolby Atmos for audio. The container format for HEVC and AVC is fragmented MP4 (fMP4) although AVC can also be deployed as MPEG-2 Transport Stream to support older devices and workflows to significantly extend accessibility and reach.


HLS is the preferred adaptive streaming format for live workflows (although it can also be deployed in Video On Demand (VOD) use-cases), allowing the deployment of various quality layers with different resolutions and bitrates. Depending on the bandwidth requirements, the HLS player on the client device can dynamically decide which layer is most suitable for the best viewing experience.

Catching Up With OTT Content Creation

With the release of MainConcept SDK 14.3, we achieved an important milestone for users who need OTT content creation featuring HLS. These customers no longer need to switch to 3rd party libraries for the whole HLS production workflow. They can now stick to the same API for OTT packaging and playlist generation they already use for video as well as audio encoding.

The MainConcept engineering team developed new features and enhancements to improve the HLS processing experience. When Apple announced that the iPhone 15 series will support AV1 hardware decoding, the market responded with enthusiasm. Supporters of AV1 interpreted the announcement as a clear sign that the market has finally accepted AV1 as one of the next generation codecs for OTT. For us, incorporating it simply meant adding fMP4 multiplexing and HLS playlist generation to be enabled with our MainConcept AV1 Encoder, including user-defined IDR insertion. This wasn’t the first time Apple gave a relatively new codec a boost in the market. We saw the same with HEVC/H.265 a couple of years ago. And I am pretty sure we will see something similar for VVC/H.266 in the future, the next gen broadcast codec we already support in the MainConcept SDKs and Live Encoder – even for HLS – today.


Another hot topic throughout 2023 that has already carried into 2024 is ad insertion. Ad insertion for TV broadcasting as well as for ABR streaming is one of the major revenue drivers for the content providers, so they are a key part of the whole production chain. However, we have added more functionality to the HLS multiplexing and packaging libraries of MainConcept OTT Content Creation SDK in version 14.3. The HLS Playlist Generator component now comes with SCTE-35 splice markers support in the corresponding playlists, enabling splitting of output segments on request for HLS ad insertion. A common sample for HLS creation combining encoding, multiplexing and playlist generation shows how quick and easy such a workflow can be set up with MainConcept SDKs.

The last new feature to be mentioned here is the option to set, limit and validate the HLS protocol version. This allows users to manage device and client compatibility, i.e. which minimum player version is required to play back the HLS content properly. If you create playlist files that are not compliant with a specific player version, you can encounter a feature mismatch that might result in HLS decoding failure. This option helps to define and manage your target audience’s range.

There are many more improvements and features worth mentioning, such as subtitles and closed caption support, multi-language track and audio processing, encryption, custom audio/video segmenting, etc. Moreover, we constantly run our streams by the official HLS Validator tools to identify and fix potential conformance errors at an early stage in the development process.

There are many ways to get your hands on HLS content generation powered by MainConcept!

Upgrade Your HLS Workflow

MainConcept offers a complete set of products for several platforms that enable generations of ABR content. Besides the AVC/H.264, HEVC/H.265 and AV1 Encoder SDKs, users can license the OTT Content Creation SDK that includes all necessary libraries for multiplexing and packaging HLS content –available for Windows, Linux, macOS running on x86 and ARM CPUs. And if your workflow is based on the GStreamer architecture, we have the corresponding OTT Content Creation SDK that even includes the supported encoder GStreamer plugins. You can also create MPEG-DASH as well as CMAF-DASH content with these packages.

If you are looking for a ready-to-use solution, check out the MainConcept Live Encoder. As the name implies, it is a live encoding application supporting various input and output formats. It comes with a wide range of encoders, such as AVC/H.264, HEVC/H.265, VVC/H.266, the new enhancement codec LCEVC (MPEG-5 Part 2), as well as MPEG-H 3D audio for the immersive audio experience, among others.

Apply for free evaluation copies for the MainConcept SDKs or the Live Encoder today to setup the HLS content creation workflow in your environment. Our professional team of Customer Care experts is available for you during the whole deployment cycle.


Frank Schönberger

Frank Schönberger has been with MainConcept for two decades focused primarily on product management. With deep knowledge of customer requirements and engineering methodology, he is dedicated to collaborating effectively across Sales, Marketing, Product Management and Engineering to ensure MainConcept brings users the technology they need to achieve their vision. A graduate of RWTH Aachen University, Frank studied languages, teaching, history and politics.