HbbTV SDK
This guide is for integrating the MediaMelon Player SDK for the javascript based HbbTV Applications
Step 1: Add the MediaMelonPlayer SDK
Import the MediaMelon SDK file in start of the resources.php file.
$resources = array(
"mmsmartstreaming_hbbtvplayer.min.js"
.
.
.
);
Step 2: Register and Initialize the MediaMelon Player SDK
After the player instance has been created, create a new MediaMelon Plugin object, register, report player Info and then initialize the plugin as shown below:
var mmVideoAssetInfo = {
"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",
"videoType": "VIDEO_TYPE",
"customTags": {
"key1": "VALUE_STRING1",
"key2": "VALUE_STRING2"
}
};
// SDK integration for HTML5 video player component (src/videoplayer/videoplayer_html5.js)
var mmhtmljsPlugin = new Html5MMSSIntgr();
if (mmhtmljsPlugin.getRegistrationStatus() === false) {
mmhtmljsPlugin.registerMMSmartStreaming("PLAYER_NAME", "CUSTOMER_ID",
"SUBSCRIBER_ID",
"DOMAIN_NAME",
"SUBSCRIBER_TYPE",
"SUBSCRIBER_TAG");
mmhtmljsPlugin.reportPlayerInfo("PLAYER_BRAND", "PLAYER_MODEL", 'PLAYER_VERSION');
mmhtmljsPlugin.reportAppInfo("APP_NAME", "APP_VERSION"); // optinal
mmhtmljsPlugin.setDeviceInfo("DEVICE_MARKETING_NAME"); // optinal
mmhtmljsPlugin.reportVideoQuality("VIDEO_QUALITY"); // optinal
}
mmhtmljsPlugin.initialize(player, "MEDIA_URL", mmVideoAssetInfo); // player -> Video Player Object
// SDK integration for OIPF AV object video player component (src/videoplayer/videoplayer_oipf.js)
var mmoipfjsPlugin = new OipfMMSSIntgr();
if (mmoipfjsPlugin.getRegistrationStatus() === false) {
mmoipfjsPlugin.registerMMSmartStreaming("PLAYER_NAME", "CUSTOMER_ID",
"SUBSCRIBER_ID",
"DOMAIN_NAME",
"SUBSCRIBER_TYPE",
"SUBSCRIBER_TAG");
mmoipfjsPlugin.reportPlayerInfo("PLAYER_BRAND", "PLAYER_MODEL", 'PLAYER_VERSION');
mmoipfjsPlugin.reportAppInfo("APP_NAME", "APP_VERSION"); // optinal
mmoipfjsPlugin.setDeviceInfo("DEVICE_MARKETING_NAME"); // optinal
mmoipfjsPlugin.reportVideoQuality("VIDEO_QUALITY"); // optinal
}
mmoipfjsPlugin.initialize(self.video, "MEDIA_URL", mmVideoAssetInfo); // self.video -> Video Player Object
// SDK integration for MSE-EME video player component (src/videoplayer/videoplayer_mse-eme.js)
var mmdashjsPlugin = new DASHPlayerMMSSIntgr();
if (mmdashjsPlugin.getRegistrationStatus() === false) {
mmdashjsPlugin.registerMMSmartStreaming("PLAYER_NAME", "CUSTOMER_ID",
"SUBSCRIBER_ID",
"DOMAIN_NAME",
"SUBSCRIBER_TYPE",
"SUBSCRIBER_TAG");
mmdashjsPlugin.reportPlayerInfo("PLAYER_BRAND", "PLAYER_MODEL", 'PLAYER_VERSION');
mmdashjsPlugin.reportAppInfo("APP_NAME", "APP_VERSION"); // optinal
mmdashjsPlugin.setDeviceInfo("DEVICE_MARKETING_NAME"); // optinal
mmdashjsPlugin.reportVideoQuality("VIDEO_QUALITY"); // optinal
}
mmdashjsPlugin.initialize(self.player, "MEDIA_URL", mmVideoAssetInfo); // self.player -> Video Player Object
Variable
Description
PLAYER_NAME
String containing the Player Name.
CUSTOMER_ID
String containing your MediaMelon-assigned Customer ID.
SUBSCRIBER_ID
String containing your Subscriber’s ID. If you do not use subscriber IDs, enter null
DOMAIN_NAME
String containing your section of your subscriber or assets. (Optional)
SUBSCRIBER_TYPE
String containing the Subscriber Type (e.g. “Free”, “Paid”). If you do not use subscriber types, enter null
SUBSCRIBER_TAG
String containing an additional subscriber-specific information. This is sent in clear (not hashed) to SmartSight and it is advised to not send sensitive information in this field.
ASSET_ID
String containing Asset Id.
ASSET_NAME
String containing Asset Name.
VIDEO_ID
String containing your video’s ID. If you do not use videos IDs, enter null.
CONTENT_TYPE
String containing type of the Content. For example - "Movie", "Special", "Clip", "Scene Epis Lifts".
GENRE
String containing Genre of the content. For example - "Comedy", "Horror".
DRM_PROTECTION
Widevine, Fairplay, Playready etc. Unknown means content is protected, but protection type is unknown. For clear contents, do not set this field
EPISODE_NUMBER
String containing sequence number of the Episode.
SEASON
String containing the Season. For example - "Season1".
SERIES_TITLE
String containing Title of the Series.
VIDEO_TYPE
String containing Video Type. For example - "LIVE", "VOD".
CUSTOM_TAGS
Extra custom metadata can be added here if required. If extra metadata is not required, enter null.
PLAYER_BRAND
String containing Player Brand.
PLAYER_MODEL
String containing Player Model. For example - This could be a variant of player. Say name of third party player used by organisation. Or any human readable name of the player.
PLAYER_VERSION
String containing Player Version.
MEDIA_URL
URL of the video playing.
Last updated
Was this helpful?