Inaris HLS Media Player

HTTP live streaming (HLS) is the most popular streaming format for OTT streaming services. With our HLS Media Player, we provide a high-efficient and robust solution for HLS media playback. The HLS Media Player uses our Inaris Media Player core component for a unified media playback.

Software Architecture

The Inaris HLS Media Player uses the Inaris Media Player. For playback of HLS streams, the Inaris HLS Media Source component is registered with the Inaris Media Player framework as a media source. The HLS Media Source handles all IP communication with the HLS streaming server and the processing of the HLS master playlist, media playlists and media segments.

Application uses the unified API of the Media Player to playback the HLS content.

HLS Media Source handles all HLS specific data. It downloads the HLS master playlist, the media playlists and all media segments that contain the media content. The HLS Media Source is also responsible for handling the adaptive bitrate. The received media data is passed to the Media Player.

Verimatrix DRM is used by the HLS Media Source for content protected with the Verimatrix DRM system.

HTTP Client is used by the HLS Media Source for downloading the media playlists and the media segments via HTTP.

Media Player is the core component for all media playback. It provides a unified API to the application independent of the used media source. The Inaris Media Player receives the media streams from the Inaris HLS Media Source and uses the appropriate audio/video decoder for playback of the received HLS media segments.

Abstraction Layer allows porting the HLS Media Player to different hardware platforms and operating systems.

HLS Features

Playback Control

The HLS Media Player supports all standard control features like start/stop, pause/resume and seeking to a position. The player also supports trick-modes (fast forward/backwards).


The audio formats AAC, AC3, HE-AAC, EAC3 are supported. Audio can be part of a multiplex or provided as a separate stream. All transport stream-based video formats are supported. CMAF´s fragmented MP4 (fMP4) is in preparation.


The Inaris HLS Media Player has already been ported to Broadcom (Linux and Android), HiSilicon and MStar platforms. Due to our hardware abstraction layer porting to other platforms is possible.

Adaptive Bitrate

The HLS Media Player supports adaptive bitrate streaming. For each downloaded segment the bandwidth is measured and the appropriate audio or video stream for the available bandwidth is selected.

High Performance

The HLS Media Player is completely implemented in C. The full performance of the underlying platform decoder is used. For example, on Broadcom platforms, the received media segments are directly passed to the Nexus drivers for the highest possible performance

Low Latency

The HLS Media Source starts passing the media content to the decoder already when only a fraction of the first media segment has been received. This allows ultra-fast start-up of media playback and positioning/skipping.


The Inaris HLS Player handles all typical IP connection problems in a robust way. If data cannot be downloaded due to interrupted IP connection, automatic retries are started until the connection is available again and media playback can continue.


The HLS standard uses WebVTT as the format for subtitles. We support this format with our WebVTT Subtitle Decoder.

Encrypted Content

The Inaris HLS Media Player is integrated and tested with Verimatrix ViewRight OTT DRM (ViewRight Web Client) for standard security. Other DRM systems can be integrated in a similar way using the decryption interface.

Seamless Ad Insertion

Personalized advertising is increasingly used for OTT streaming services. This advertising is inserted individually for the user on the server- or client-side. Our media player supports the seamless switching between content and personalized advertisement.


The Inaris HLS Media Player generates detailed logs that are sent to cloud services like Google Pub/Sub or Splunk. This allows analysis of the playback with state-of-the-art tools like Google’s Data Studio or Splunk dashboards


In case of a playback problems, the cause can be on client-side, the home network, the IP connection, but also on server-side. To find the cause of a problem can be difficult. Therefore, logs are of major importance for finding errors in the field.

Selection of Supported Platforms

Print Friendly and PDF

Contact us

We’d love to learn about your project plans and happily offer our services and skills to provide individual support during the whole development cycle.