3.0.0-alpha • Published 6 months ago

@mastashake08/dash-manifest-creator v3.0.0-alpha

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

DASH Manifest Creator

SDE Logo

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)

ParamTypeDescription
configobjectconfiguration object for the manifest

mpD.createMpd(videoData)

Kind: instance method of MPD

ParamTypeDescription
videoDataBufferinitial video data for the stream, must be less than 100kb

mpD.createPeriod(id)

Kind: instance method of MPD

ParamTypeDescription
idintegerthe id of the period

mpD.createAdaptationSet(mimetype) ⇒

Kind: instance method of MPD
Returns: a yielded mimeType attribute

ParamTypeDefaultDescription
mimetypestring"video/webm"The MIME type of the stream

mpD.createContentComponent(contentType, id)

Kind: instance method of MPD

ParamTypeDefaultDescription
contentTypestring"video"The content type of the media being streams
idinteger1The id of the content component

mpD.createSegmentTemplate(videoData, timescale, duration, startNumber, media)

Kind: instance method of MPD

ParamTypeDefaultDescription
videoDataBuffervideoData to be streamed for initialization
timescaleinteger1000The timescale of the media in microseconds
durationinteger2000The duration of the media in microseconds
startNumberinteger1The start number of the media content
mediastringThe 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