0.0.6 • Published 1 year ago

@ygoto3/omap-dashjs-sd-sustainable-binder v0.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@ygoto3/omap-dashjs-sd-sustainable-binder

Overview

An OMAP binder implementation to bind dash.js to an OMAP client. This binder is implemented to extend @ygoto3/omap-dashjs-sd-binder in order to playback a video stream in a sustainable way. The binder avoids fetching excessive media data that will be discarded after an ad pod is played, which is what @ygoto3/omap-dashjs-sd-binder does.

Documentation

API document is available.

Getting Started

To install @ygoto3/omap-dashjs-sd-sustainable-binder, run the command below.

$ npm install @ygoto3/omap-dashjs-sd-sustainable-binder --save

Then you can bind any OMAP client to dash.js.

import { OmapDashjsSDSustainableBinder } from '@ygoto3/omap-dashjs-sd-sustainable-binder';

const player = dashjs.MediaPlayer().create();
const adDisplayContainer = document.getElementById('ad-display-container') as HTMLDivElement;
const omapClient = new YourOMAPClient();
const omapBinder = new OmapDashjsSDSustainableBinder(player, adDisplayContainer);
omapBinder.bind(omapClient);

trickyMediaPlayerHandler

You need to use a trickyMediaPlayerHandler when you want to seek or to get the duration of the media stream. Binded by OmapDashjsSDSustainableBinder, a dash.js player cannot neither accurately seek nor return the original duration since the OmapDashjsSDSustainableBinder manipulates the manifest in order to avoid downloading media segments that the dash.js player would redundantly download after playing an ad pod.

// Instead of dashjs.seek(10);
omapBinder.trickyMediaPlayerHandler.seek(10);

// Instead of dashjs.duration;
omapBinder.trickyMediaPlayerHandler.duration;

Manifest Format Support

OmapDashjsSDSustainableBinder's manifest manipulation depends on the format of the manifest dashjs plays. Which mpd format it currently supports is shown below.

TypeSegmentTemplate onlySegmentTimeline $Number$SegmentTimeline $Time$SegmentListSegmentBase
Video On-Demand-YY--
Live-----
Event-----
0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago

0.0.0

1 year ago