hlx

0.0.1 • Public • Published

Build Status Coverage Status Dependency Status Development Dependency Status XO code style

hlx

A toolkit for processing HLS streams in Node.js

Features

  • It exposes gulp like interface for processing an HLS stream as Node's object mode stream.
  • The stream is represented as a series of data events of hlx objects.
  • To process the stream, users just need to insert their own Transform stream between the src and dest.

Install

NPM

Usage

Example 1 - Default source / destination

const hlx = require('hlx');
const {createDecryptor} = require('hlx-decryptor');
const decryptor = createDecryptor('AES-128');
 
// Store all decrypted files in /var/www/media/
hlx.src('https://foo.bar/sample.m3u8')
.pipe(decryptor)
.pipe(hlx.dest('/var/www/media/'));

Example 2 - Custom source

const hlx = require('hlx');
const {createReadStream} = require('hlx-src-webdav-pull');
const reader = createReadStream({
  url: 'http://foo.bar/webdav',
  user: {WebDAV user},
  pass: {WebDAV password}
});
 
// Store all decrypted files in /var/www/media/
hlx.src(reader)
.pipe(decryptor)
.pipe(hlx.dest('/var/www/media/'));

Example 3 - Custom destination

const hlx = require('hlx');
const {createReadStream} = require('hlx-dest-http-server');
const writer = createWriteStream({
  port: 8080,
  prefix: 'media',
  rootPath: '/var/www/media/'
});
 
// Host the stream at http://localhost:8080/media/sample.m3u8
hlx.src('https://foo.bar/sample.m3u8')
.pipe(decryptor)
.pipe(hlx.dest(writer));

API

src(location)

Creates a new stream.Readable object.

params

Name Type Required Default Description
location string or stream.Readable Yes N/A It should be either of a local file path, a url of the playlist, or a custom source object.

return value

An instance of stream.Readable. When the location is a local file path or a url, the hlx-file-reader stream will be created. Otherwise, the passed readable stream will be returned back.

dest(location)

Creates a new stream.Writable object.

params

Name Type Required Default Description
location string or stream.Writable Np null It should be either of a local file path or a custom destination object.

return value

When the location is a local file path, the hlx-file-writer stream will be created. Otherwise, the passed writable stream will be returned back.

Readme

Keywords

Package Sidebar

Install

npm i hlx

Weekly Downloads

1

Version

0.0.1

License

MIT

Unpacked Size

6.69 kB

Total Files

6

Last publish

Collaborators

  • kuu