Shaka Player SDK Integration Document
This guide is for integrating the MediaMelon Player SDK for the javascript based ShakaPlayer.
Step 1: Add the MediaMelonPlayer SDK
<script type="text/javascript" src="https://sdk.mediamelon.com/SDK_RELEASES/Javascript/shaka/2.1.1/mmsmartstreaming_shakaplayer.min.js"></script>npm i [email protected]
import {SHAKAPlayerMMSSIntgr} from 'mediamelon-js-shaka-sdk'Step 2: Register and Initialize the MediaMelon Player SDK
<body>
<video id="video" controls autoplay></video>
<script>
const video = document.getElementById('video');
const player = new shaka.Player(video);
var contentMetadata = {
"assetName": "ASSET_NAME",
"assetId": "ASSET_ID",
"videoId": "VIDEO_ID",
"contentType": "CONTENT_TYPE",
"genre": "GENRE",
"drmProtection": "DRM_PROTECTION",
"episodeNumber": "EPISODE_NUMBER",
"season": "SEASON",
"seriesTitle": "SERIES_TITLE",
"customTags": {
"key1": "VALUE_STRING1",
"key2": "VALUE_STRING2"
}
};
var mmShakaPlugin = new SHAKAPlayerMMSSIntgr();
mmShakaPlugin.registerMMSmartStreaming("PLAYER_NAME", "CUSTOMER_ID", "SUBSCRIBER_ID", "DOMAIN_NAME", "SUBSCRIBER_TYPE", "SUBSCRIBER_TAG", <hashSubscriberId>);
mmShakaPlugin.reportPlayerInfo("PLAYER_BRAND", "PLAYER_MODEL", "PLAYER_VERSION");
mmShakaPlugin.reportBasePlayerInfo("BASE_PLAYER_NAME", "BASE_PLAYER_VERSION");
mmShakaPlugin.reportSubPropertyId("SUB_PROPERTY_ID");
mmShakaPlugin.reportAppInfo("APP_NAME", "APP_VERSION");
mmShakaPlugin.reportDeviceId("DEVICE_ID");
const streamURL = 'https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8';
var isLive = false;
mmShakaPlugin.reportViewSessionId("VIEW_SESSION_ID");
mmShakaPlugin.initialize(player, video, streamURL, contentMetadata, isLive);
player.load(streamURL);
</script>
</body>Step 3: Errors and Warnings (Important):
Step 4: Report Additional Metadata Fields:
Step 4.1: Experiment Name:
Step 4.2: CDN:
Step 4.3: Custom Metadata:
Step 4.4: Stream Information:
Step 4.5: Player resolution:
Step 4.6: Report Stream Fallback Event
Step 5: Update Asset Information:
Last updated