Skip to content
/ slugline Public

πŸ“ Javascript library for consuming and parsing HLS playlists, transport streams, and mp4s

License

Notifications You must be signed in to change notification settings

krad/slugline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

slugline

Build Status Coverage Status

slugline is a library for consuming HLS playlists.

It can be used in node.js and in the browser.

Features

  • βœ… 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

Usage

COMING SOON

Demos

COMING SOON

Development setup

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

Testing

Preparation

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:

$ ./tests/fixtures/fetch.sh

And wait for all the assets to download.

Running tests

Unit tests

npm run test

Autotesting

npm run autotest

About

πŸ“ Javascript library for consuming and parsing HLS playlists, transport streams, and mp4s

Resources

License

Stars

Watchers

Forks

Packages

No packages published