Skip to content
This repository has been archived by the owner on Jan 5, 2021. It is now read-only.
vipercoder edited this page Feb 18, 2015 · 1 revision

Introduction

HLSParserJ is a Java based library to parse HTTP Live Streaming (HLS) playlists.

HTTP Live Streaming (HLS)

About

HTTP Live Streaming (also known as HLS) is an HTTP-based media streaming communications protocol. implemented by Apple Inc. as part of their QuickTime, Safari, OS X, and iOS software. It works by breaking the overall stream into a sequence of small HTTP-based file downloads, each download loading one short chunk of an overall potentially unbounded transport stream. As the stream is played, the client may select from a number of different alternate streams containing the same material encoded at a variety of data rates, allowing the streaming session to adapt to the available data rate. At the start of the streaming session, it downloads an extended M3U playlist containing the metadata for the various sub-streams which are available.[0]

Playlists vs Segments

In HLS workflows, encoders produce 3 types of file objects that are consumed by the client: (a) master playlist, (b) media playlist, and (c) media segment.

  • Media Segment - video or audio data stored in MPEG-2 Transport Stream (*.ts) container
  • Media Playlist - manifest file that identifies each of the media segments for playback (same bitrate/codec)
  • Master Playlist - manifest file that identifies each of the media playlists (each on a different bitrate/codec)

See diagram on playlist and segment relationship.

Using HLSParserJ

Sample code snippets are available in the README.

References

Clone this wiki locally