Convenient atomicized classes for representing digital multimedia assets in distributed Node.js DSP pipelines. NOTE: This is an audio-centric fork of the original little-media-box repository. For the baseline module, see
@little-core-labs/little-media-box
At Storyboard, we have strong opinions on how to handle audio, especially when
it is UGC sourced from the web. Leveraging our expertise in the handling of
multimedia assets in distributed cloud pipelines, we have built out and extended
little-media-box to meet audio-centric use cases.
$ npm install @storyboard-fm/little-media-boxDevelopment/Testing/Documentation
const { Delivery, Source } = require('@storyboard-fm/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)
//delivery.demux(console.log).on('progress', console.log)
// {
// 'http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_60fps_normal.mp4': // {
// streams: [ [Object], [Object], [Object] ],
// format: {
// filename: 'bbb_sunflower_1080p_60fps_normal.mp4',
// nb_streams: 3,
// nb_programs: 0,
// format_name: 'mov,mp4,m4a,3gp,3g2,mj2',
// format_long_name: 'QuickTime / MOV',
// start_time: 0,
// duration: 634.533333,
// size: 'N/A',
// bit_rate: 'N/A',
// probe_score: 100,
// tags: [Object]
// },
// chapters: []
// }
// }
})See examples for additional use-cases.
Import little-media-box.
Extracts the media track from the given source and returns it as a
stream.Readable.
An object, which provides one or more Source objects. Extends nanoresource-pool.
Extracts one or more media tracks from the given source, and saves each to its own individual Matroska container.
The callback receives error and output arguments.
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,
}Contains many constants used in various operations.
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.
Extends nanoresource.
Extends nanoresource.
Extends Track.
Extends Track.
Extends Track.
Track errors. Contains the following custom properties:
{
track,
code: 'TRACK_ERROR'
}code: TRACK_PROPERTIES_ERROR.
code: TRACK_FORMAT_NOT_FOUND.
code: TRACK_STREAM_NOT_FOUND.
code: TRACK_STREAM_NOT_FOUND.
Forward require of fluent-ffmpeg.
Path to ffprobe bin.
Path to ffmpeg bin.
Path to static binary for mkvmerge.
Path to static binary x264.
MIT