VideoJS Web with Mediamelon Analytics
This guide is for integrating the MediaMelon Player SDK for the javascript based VideoJS Web player.
Step 1: Add the MediaMelon Player SDK
Include the following line to the web page at the start
<script type="text/javascript" src="https://PATH_TO_SMARTSTREAMING_SDK"></script>
Step 2: Register and Initialize the MediaMelon Player SDK
After the player instance has been created, create a new Plugin object, register, report player Info, and then initialize the plugin as shown below:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>VIDEO JS </title>
<link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet">
</head>
<body>
<h1>Video.js Example Embed</h1>
<video id="my_video_1" muted="muted" class="vjs-default-skin" controls preload="auto" width="640" height="268"></video>
//Import the player library files here
<script src="https://PATH_TO_SMARTSTREAMING_SDK"></script>
<script>
var player = videojs('my_video_1');
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"
}
};
//registering to the MediaMelon plugin
var mmvjs8Plugin = new VideoJSMMSSIntgr();
if (mmvjs8Plugin.getRegistrationStatus() === false) {
mmvjs8Plugin.registerMMSmartStreaming("PLAYER_NAME", "CUSTOMER_ID",
"SUBSCRIBER_ID",
"DOMAIN_NAME",
"SUBSCRIBER_TYPE",
"SUBSCRIBER_TAG");
mmvjs8Plugin.reportPlayerInfo("PLAYER_BRAND", "PLAYER_MODEL", 'PLAYER_VERSION');
mmvjs8Plugin.reportAppInfo("APP_NAME", "APP_VERSION");
mmvjs8Plugin.setDeviceInfo("DEVICE_MARKETING_NAME");
mmvjs8Plugin.reportVideoQuality("VIDEO_QUALITY");
mmvjs8Plugin.reportDeviceId("DEVICE_ID");
}
var mediaURL = "STREAM_URL";
var isLive = false; //Set this to true for a live stream or false for a VOD stream
// If isLive is not set here, the SDK will handle it internally.
player.src({
src: mediaURL,
mmVideoAssetInfo: mmVideoAssetInfo
});
mmvjs8Plugin.initialize(player, mediaURL, mmVideoAssetInfo, isLive);
player.play();
// Call these APIs to report an Application and Business Errors.
mmvjs8Plugin.reportApplicationError("ERROR_TYPE", "ERROR_CATEGORY", "ERROR_MESSAGE");
mmvjs8Plugin.reportBusinessError("ERROR_TYPE", "ERROR_CATEGORY", "ERROR_MESSAGE");
</script>
</body>
</html>
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.
Last updated
Was this helpful?