Castlabs Web Player with Nowtilus SSAI
This guide is for integrating the MediaMelon Player SDK for the javascript based Castlabs player web.
Step 1: Add the MediaMelonPlayer SDK
<script type="text/javascript" src="https://PATH_TO_MEDIAMELON_PLAYER_SDK/mmsmartstreaming_castlabsplayer.min.js"></script>Step2: Network call to fetch the Media and Vast urls
let NowtilusSSAIURL = "https://live.serverside.ai/ad-aggregation-service/mrss/channel/4c84556b-58e1-4d1f-b9bd-dd3241b7b1c2";
let xhttp = new XMLHttpRequest();
let mediaURL = "", vastURL = "", timelineArrayVOD = [];
let isLive = false;
if (isLive) {
var dataSrc = ""
let xhttp1 = new XMLHttpRequest();
xhttp1.open("GET", "http://ssai.romeo.a1.net/abstractor/channel/1269/playoutUri/hls-default/HD?tls=true", true);
xhttp1.setRequestHeader("x-account-api-key", "HSBY9-94ECY-20ECY-YWSE5-1WFE0");
xhttp1.setRequestHeader("x-forwarded-for", "52.4.140.117");
xhttp1.send();
xhttp1.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
let data = JSON.parse(this.response);
dataSrc = data['data'];
}
};
setTimeout(function () {
let xhttp = new XMLHttpRequest();
xhttp.open("POST", "https://ssaipre.serverside.ai/a1mm/live/1269", true);
xhttp.setRequestHeader("Content-Type", "application/json");
xhttp.setRequestHeader("x-forwarded-for", "52.4.140.117");
let JSON_obj = {
"data": dataSrc,
"adServer": {
"accountCode": "13625",
"profileId": "13627",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36"
}
};
xhttp.send(JSON.stringify(JSON_obj));
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
let data = JSON.parse(this.response);
mediaURL = data.data.split("vast-data=")[0]
mediaURL = mediaURL.substring(0, mediaURL.length - 1);
vastURL = atob(data.data.split("vast-data=")[1].split("&token=")[0]);
}
};
}, 1000);
}
else {
xhttp.open("POST", NowtilusSSAIURL, true);
xhttp.setRequestHeader("api-key", "79a8aff3-f3ec-4b1d-8c21-2074a4cc5b7b");
xhttp.setRequestHeader("Content-Type", "application/json");
xhttp.setRequestHeader("User-Agent", "Mozilla/5.0%20(Linux;%20Android%208.1.0;%20CPH1809)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/79.0.3945.93%20Mobile%20Safari/537.36");
xhttp.setRequestHeader("Authorization", "Basic bm93dGlsdXM6bm93dGlsdXM=");
var data = `{
"url": "https://serversideai.blob.core.windows.net/agsmrss/serverside/serverside_mrss_preroll_midroll.mrss",
"context": "web",
"ifa": "ifa",
"deliverytypes": [
"hls"
]
}`;
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
let data = JSON.parse(this.response);
mediaURL = data['hls'].url;
timelineArrayVOD = data['hls'].clips;
}
};
xhttp.send(data);
}Step 3: Register and Initialize the MediaMelon Player SDK
Step 4: Listen to Ad Callback Events for Disabling Player Controls
API's Provided by MediaMelon SDK Plugin
PreviousTHEOPlayer Web v2 (Nowtilus SSAI)NextBitmovin Android v3 (Nowtilus SSAI) with Content Provider Metrics
Last updated