A plugin for the Meister.js video player that allows playback of DASH streams.
When initializing the player add dash
with it's own configuration to the configuration object.
var player = new Meister("#querySelector", {
dash: {
lowMemoryMode: false,
dvrEnabled: true,
dvrThreshold: 300,
settings: {
liveDelayFragmentCount: 8,
stableBufferTime: 30,
}
}
});
Options are required unless marked as [optional]. For more detailed information on the various dashjs settings please refer to the official dashjs documentation.
- [optional] lowMemoryMode :: Boolean
A special preset of settings that allow for smoother playback on lower memory devices. Defaults to false. - [optional] dvrEnabled :: Boolean
Allow use of the DVR window if one is present. By passing false all streams are considered as just livestreams. Defaults to true. - [optional] dvrThreshold :: Number
Content with a window longer than this threshold is considered as having a DVR window. Defaults to 300 (5 minutes). - [optional] Deprecated! settings :: Object
Settings for the internal dashjs object. These values are applied last, so they will override any presets from the lowMemoryMode.- [optional] abandonLoadTimeout :: Number
See docs. - [optional] bandwidthSafetyFactor :: Number
See docs. - [optional] bufferPruningInterval :: Number
See docs. - [optional] bufferTimeAtTopQuality :: Number
See docs. - [optional] bufferTimeAtTopQualityLongForm :: Number
See docs. - [optional] bufferToKeep :: Number
See docs. - [optional] fastSwitchEnabled :: Boolean
See docs. - [optional] fragmentLoaderRetryAttempts :: Number
See docs. - [optional] fragmentLoaderRetryInterval :: Number
See docs. - [optional] liveDelay :: Number
See docs. - [optional] liveDelayFragmentCount :: Number
See docs. - [optional] longFormContentDurationThreshold :: Number
See docs. - [optional] richBufferThreshold :: Number
See docs. - [optional] stableBufferTime :: Number
See docs. - [optional] useSuggestedPresentationDelay :: Boolean
See docs.
- [optional] abandonLoadTimeout :: Number
- [optional] onDashInitialized :: Function
Callback called when a dash.js instance has been initialized. The function is called with the dash.js instance as the only argument. This will eventually replace the settings object as this provides more direct access. See the Dash.js docs for more information on the various settings.
The following options can be added per item
Start from the live edge this will bring the player as close as possible to the live edge.
meisterPlayer.setItem({
src: 'https://example.com/secure/stream/manifest.mpd',
startFromLive: true,
type: 'mpd'
});
Start from the beginning of the live stream. (VOD streams will always begin from the beginning).
meisterPlayer.setItem({
src: 'https://example.com/secure/stream/manifest.mpd',
startFromBeginning: true,
type: 'mpd'
});
Or you can give an object with an offset to start from a offset
meisterPlayer.setItem({
src: 'https://example.com/secure/stream/manifest.mpd',
startFromBeginning: {
offset: 10, // Start from the "beginning" with an offset of 10 seconds
},
type: 'mpd'
});