@mastashake08/dash-manifest-creator
v3.0.0-alpha
Published
A pure javascript package for creating MPEG-DASH manifests in the browser.
Downloads
96
Maintainers
Readme
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
TODO
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 |
mpD.getXMLString() ⇒ string
Kind: instance method of MPD
Returns: string - str - XML string representation of the manifest
mpD.getXMLFile() ⇒ File
Kind: instance method of MPD
Returns: File - file - A new File named init.mpd which contains the manifest XML