DASH Manifest Creator
Create DASH manifests in the browser for live streaming! Shake DASH Encoder (SDE) is a browser-only DASH encoder for Javascript. It is based on the Youtube HTTP DASH specification but can be modified to fit any format. Created by Jyrone Parker and is completely open source. If you would like to contribute consider sponsoring me!
Table Of Contents
Installation
This package is available on NPM
npm i dash-manifest-creator
Usage
import { MPD } from "dash-manifest-creator";
const mpd = new MPD();
const dash = mpd.createMpd(videoChunk1);
// generate a new manifest
dash.next();
// generate another manifest down the line
dash.next(videoChunk2);
// generate XML string
const str = mpd.getXMLString();
// generate XML file
const file = mpd.getXMLFile();
For more docs on the MPD class see the docs directory.
Bug Reporting
TODO
Contributing
API
MPD
Kind: global class
new MPD(config)
Param | Type | Description |
---|---|---|
config | object |
configuration object for the manifest |
mpD.createMpd(videoData)
Kind: instance method of MPD
Param | Type | Description |
---|---|---|
videoData | Buffer |
initial video data for the stream, must be less than 100kb |
mpD.createPeriod(id)
Kind: instance method of MPD
Param | Type | Description |
---|---|---|
id | integer |
the id of the period |
mpD.createAdaptationSet(mimetype) ⇒
Kind: instance method of MPD
Returns: a yielded mimeType attribute
Param | Type | Default | Description |
---|---|---|---|
mimetype | string |
"video/webm" |
The MIME type of the stream |
mpD.createContentComponent(contentType, id)
Kind: instance method of MPD
Param | Type | Default | Description |
---|---|---|---|
contentType | string |
"video" |
The content type of the media being streams |
id | integer |
1 |
The id of the content component |
mpD.createSegmentTemplate(videoData, timescale, duration, startNumber, media)
Kind: instance method of MPD
Param | Type | Default | Description |
---|---|---|---|
videoData | Buffer |
videoData to be streamed for initialization | |
timescale | integer |
1000 |
The timescale of the media in microseconds |
duration | integer |
2000 |
The duration of the media in microseconds |
startNumber | integer |
1 |
The start number of the media content |
media | string |
The media URL for update PUTs |
string
mpD.getXMLString() ⇒ Kind: instance method of MPD
Returns: string
- str - XML string representation of the manifest
File
mpD.getXMLFile() ⇒ Kind: instance method of MPD
Returns: File
- file - A new File named init.mpd which contains the manifest XML