slugline is a library for consuming HLS playlists.
It can be used in node.js and in the browser.
- ✅ Fetching playlists
- ✅ Fetching media segments
- ✅ Parsing Media Playlists
- ✅ Parsing Master Playlists
- ✅ Retry logic (timeout, 500, network error, etc)
- ✅ Parsing Media Segments
- ✅ Fragmented MP4
- ✅ Transport Stream
- ✅ PAT
- ✅ PMT
- ✅ Packetized Elementary Streams
- ✅ ADTS Streams
- ✅ Transmuxing transport streams to fragmented mp4
- ✅ Periodic fetching of event & live playlists
- ❎ Range Requests
Dependencies for setting up a development environment are managed with npm.
One needs to simply clone the repo and run
npm install like so:
$ git clone https://github.com/krad/slugline.git slugline $ cd slugline $ npm install
The test suite relies on some fixtures that are too large to be distributed along with the library. A fetch script is included and relies on wget to retrieve assets.
To prepare the environment simply run:
And wait for all the assets to download.
npm run test
npm run autotest