-
Notifications
You must be signed in to change notification settings - Fork 14
Home
HLSParserJ is a Java based library to parse HTTP Live Streaming (HLS) playlists.
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]
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.
Sample code snippets are available in the README.