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

<customer_id> is your MediaMelon-assigned Customer ID. If you do not know your Customer ID contact MediaMelon at support@mediamelon.com

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