little-media-box
Convenient atomicized classes for representing digital multimedia assets
in distributed Node.js DSP pipelines.
Installation
$ npm install little-media-box
Status
Development/Testing/Documentation

Usage
const { Delivery, Source } = require('little-media-box')
const uri = 'http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_60fps_normal.mp4'
const delivery = new Delivery()
delivery.ready(() => {
delivery.source(uri)
delivery.probe(console.log)
})
See examples for additional use-cases.
API
const lmb = require('little-media-box')
Import little-media-box
.
demuxStream = lmb.createDemuxStream(source, [opts])
Extracts the media track from the given source
and returns it as a
stream.Readable
.
delivery = new lmb.Delivery([opts])
An object, which provides one or more Source
objects. Extends nanoresource-pool.
lmb.demux(source, [opts], callback)
Extracts one or more media tracks from the given source, and saves each to its
own individual Matroska container.
lmb.mux(sources, [opts], callback)
The callback
receives error
and output
arguments.
{ bin } = lmb.settings
A settings object containing a bin
object with the following properties:
{
x264: X264_BIN_PATH,
ffmpeg: FFMPEG_BIN_PATH,
ffprobe: FFPROBE_BIN_PATH,
mkvmerge: MKVMERGE_BIN_PATH,
}
settings = new lmb.configure([opts])
Contains many constants used in various operations.
{1: iso6391, 2: iso6392, 2: iso6393} = lmb.iso639
lmb.extensions
An extended Array
that contains a set of lexicographically-sorted unique file
extension names. Provides various methods like checking the file type for an
extension.
Extends nanoresource.
source = new lmb.Source(uri, [opts])
Extends nanoresource.
Extends nanoresource.
Extends Track
.
Extends Track
.
Extends Track
.
lmb.TrackError
Track errors. Contains the following custom properties:
{
track,
code: 'TRACK_ERROR'
}
lmb.TrackPropertiesError
code
: TRACK_PROPERTIES_ERROR
.
lmb.TrackPropertiesMissingFormatError
code
: TRACK_FORMAT_NOT_FOUND
.
lmb.TrackPropertiesMissingStreamError
code
: TRACK_STREAM_NOT_FOUND
.
lmb.TrackValidationError
code
: TRACK_STREAM_NOT_FOUND
.
lmb.ffmpeg = require('fluent-ffmpeg')
Forward require of fluent-ffmpeg
.
lmb.FFPROBE_BIN_PATH
Path to ffprobe
bin.
lmb.FFMPEG_BIN_PATH
Path to ffmpeg
bin.
lmb.MKVMERGE_BIN_PATH
Path to static binary for mkvmerge
.
lmb.X264_BIN_PATH
Path to static binary x264
.
License
MIT