hlx-lib v0.0.29
hlx-lib
A library for processing HLS streams in Node.js
Features
- It exposes
gulplike interface for processing an HLS stream as Node's object mode stream. - The stream is represented as a series of
dataevents ofhls-parserobjects. - To process the stream, users just need to insert their own
Transformstream between thesrcanddest.
Install
Usage
Example 1 - Default source / destination
const hlx = require('hlx'); // hlx-lib can be transparently referenced via hlx module
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',
outputDir: '/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[, options])
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 (stream.Readable) |
| options | object | No | {} | See below |
options
| Name | Type | Default | Description |
|---|---|---|---|
| noUriConversion | boolean | false | Passing true will prevent any URI conversions done internally. The default behavior is to convert all URIs into paths relative to the master playlist |
You can also pass the options for hlx-file-reader's createReadStream and hlx-url-rewriter's 'createUrlRewriter, which will be relayed to those modules internally.
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[, options])
Creates a new stream.Writable object.
params
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| location | string or stream.Writable | No | null | It should be either of a local file path or a custom destination object (stream.Writable) |
| options | object | No | {} | See below |
options
| Name | Type | Default | Description |
|---|---|---|---|
| inputDir | string | / | The root directory from which all the files are read (This option is only used in case of file: urls) |
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.
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
