<body style=
"margin: 0px; background: black; color: white; font-family: sans-serif;"
>
<div id=
"videoframe"
style=
"text-align: center;font-size: 14;"
>The video stream is currently offline. Playback will resume as soon as a stream is available.</div>
<script type=
"text/javascript"
src=
"/assets/jw5/jwplayer.js"
></script>
<script src=
"http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"
type=
"text/javascript"
></script>
<script type=
'text/javascript'
src=
'https://www.google.com/jsapi'
></script>
<SCRIPT type=
"text/javascript"
>
plwd=self.innerWidth;
plht=self.innerHeight;
var
streamer=getUrlVars()[
"streamer"
];
var
app=getUrlVars()[
"app"
];
var
port=getUrlVars()[
"port"
];
var
stream=getUrlVars()[
"stream"
];
var
server=streamer+
':'
+port+
'/'
+app;
var
agent=navigator.userAgent.toLowerCase();
var
is_iphone = (agent.indexOf(
'iphone'
)!=-1);
var
is_ipad = (agent.indexOf(
'ipad'
)!=-1);
var
is_ipod = (agent.indexOf(
'ipod'
)!=-1);
var
is_playstation = (agent.indexOf(
'playstation'
)!=-1);
var
is_safari = (agent.indexOf(
'safari'
)!=-1);
var
is_blackberry = (agent.indexOf(
'blackberry'
)!=-1);
var
is_android = (agent.indexOf(
'android'
)!=-1);
var
streamstatus =
false
;
var
prevstatus =
false
;
var
curstatus =
false
;
streamcheck();
setInterval(
function
(){streamcheck()},10000);
function
streamcheck() {
$.ajax({
type:
"GET"
,
url:
"http://"
+streamer+
":8086/streamcheck?stream="
+stream,
dataType:
"json"
,
success:
function
(result){
curstatus = Boolean(result);
if
(curstatus == prevstatus) {
}
else
{
if
(curstatus) {
if
(is_iphone || is_ipad || is_ipod) { iOSPlayer(
"videoframe"
,plwd,plht,server,stream);}
else
if
(is_blackberry) { rtspPlayer(
"videoframe"
,plwd,plht,server,stream);}
else
{ flashPlayer(
"videoframe"
,plwd,plht,server,stream); }
console.log(
"Changed from false to true"
);
}
else
{
var
vframe=document.getElementById(
"videoframe"
)
if
(is_iphone || is_ipad || is_ipod || is_blackberry) {
}
else
{
jwplayer(
"videoframe"
).remove();
}
vframe.innerHTML =
'The video stream is currently offline. Playback will resume as soon as a stream is available.'
;
console.log(
"Changed from true to false"
);
}
}
prevstatus = curstatus;
}
});
}
function
getUrlVars() {
var
vars = {};
var
parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
function
(m,key,value) {
vars[key] = value;
});
return
vars;
}
function
iOSPlayer(container,width,height,server,stream)
{
var
player=document.getElementById(container)
player.innerHTML=
'<VIDEO controls '
+
'HEIGHT="'
+height+
'" '
+
'WIDTH="'
+width+
'" '
+
'title="Live Stream">'
+
'<SOURCE SRC="http://'
+server+
'/'
+stream+
'/playlist.m3u8"> '
+
'</video>'
;
}
function
rtspPlayer(container,width,height,server,stream)
{
var
player=document.getElementById(container)
player.innerHTML=
'<A HREF="rtsp://'
+server+
'/'
+stream+
'">'
+
'<IMG SRC="poster-play.png" '
+
'ALT="Start Mobile Video" '
+
'BORDER="0" '
+
'HEIGHT="'
+height+
'" '
+
'WIDTH="'
+width+
'">'
+
'</A>'
;
}
function
flashPlayer(container,wide,high,server,stream)
{
jwplayer(container).setup({
height: high,
width: wide,
streamer:
'rtmp://'
+server,
file: stream,
autostart:
true
,
stretching:
'uniform'
});
}
</SCRIPT>
</BODY>