123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440 |
- var BR_OTHER = 0;
- var BR_MSIE = 1;
- var BR_CHROME = 2;
- var BR_DISABLE = 9;
- const PLAYER_JPEGSNAP = 0;
- const PLAYER_ACTIVEX = 1;
- const PLAYER_CHROMEPLUGIN = 2;
- const PLAYER_JAVAAPP = 3;
- const PLAYER_WEBSOCKET = 4;
- function downloadFile(filename){
- console.log(' filename='+filename);
- window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
- window.requestFileSystem(window.PERSISTENT, 30*1024*1024, function(fs) {
- console.log(' fs.root='+fs.root);
- fs.root.getFile(filename, {create: false}, function(fileEntry) { // /test is filename
- console.log(' fs.root.getFile OK');
- //location.href = fileEntry.toURL();
- var link = document.createElement("a");
- link.download = filename;//"test";
- link.href = fileEntry.toURL();
- link.click();
- }, function() {});
- }, function() {});
- }
- function downloadBrowse(){
- window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
- window.requestFileSystem(window.PERSISTENT, 30*1024*1024, function(fs) {
- console.log(' fs.root='+fs.root);
- fs.root.getDirectory('/', {create: false}, function(fileEntry) { // /test is directory
- console.log(' fs.root.getFile OK');
- location.href = fileEntry.toURL();
- }, function() {});
- }, function() {});
- }
- function sleep(milliseconds)
- {
- var start = new Date().getTime();
- for (var i = 0; i < 1e7; i++)
- {
- if ((new Date().getTime() - start) > milliseconds)
- {
- break;
- }
- }
- }
- function VXGMP_GetBrowser()
- {
- var agt = navigator.userAgent.toLowerCase();
- //console.log(agt);
- if (parseInt(readSetupByKey("SYS_TTA_SECURITY_VERIFIED")) == 1) return BR_OTHER;
- if (agt.indexOf("msie") != -1 || agt.indexOf("trident") != -1) return BR_MSIE;
- // else return BR_DISABLE;
-
- else if (agt.indexOf("opera") != -1 || agt.indexOf("opr") != -1) return BR_OTHER; // Opera
- else if (agt.indexOf("edge") != -1 || agt.indexOf("edg/") != -1) return BR_OTHER; // Edge(old) or Edge(Chromium)
- else if (agt.indexOf("whale/") != -1) return BR_OTHER; // Whale
- else if (agt.indexOf("chrome") != -1) {
- if (parseInt(readSetupByKey("SYS_IS_STEINSVIKSPECIFIC")) == 1) {
- return BR_OTHER;
- }
- else {
- return BR_CHROME; // Chrome
- }
- }
- else if (agt.indexOf("safari") != -1) return BR_OTHER; // Safari
- else if (agt.indexOf("firefox") != -1) return BR_OTHER; // Firefox
- else return BR_OTHER;
-
- }
- function VXGMP_GetPlayer(activex, browser, valgo, detectioncam)
- {
- var player;
- if (trnPlayerForceJpeg)
- {
- player = PLAYER_JPEGSNAP;
- return player;
- }
- if (activex == 1)
- {
- if (browser == BR_MSIE)
- {
- player = PLAYER_ACTIVEX;
- }
- else if (browser == BR_CHROME)
- {
- if (trnPlayerSupportWS == 1)
- {
- var chromeplugin = parseInt(getCookie('truenchromeplugin'));
- if (chromeplugin == 1)
- {
- player = PLAYER_CHROMEPLUGIN;
- }
- else
- {
- if (valgo == 0/*H.264*/)
- {
- if (detectioncam == 1 && trnDetectionCamPlayerSupportWS != 1) {
- player = PLAYER_JPEGSNAP;
- }
- else {
- player = PLAYER_WEBSOCKET;
- }
- }
- else
- {
- player = PLAYER_JPEGSNAP;
- }
- }
- }
- else
- {
- player = PLAYER_CHROMEPLUGIN;
- }
- }
- else
- {
- if (trnPlayerSupportWS == 1)
- {
- if (valgo == 0/*H.264*/)
- {
- if (detectioncam == 1 && trnDetectionCamPlayerSupportWS != 1) {
- player = PLAYER_JPEGSNAP;
- }
- else {
- player = PLAYER_WEBSOCKET;
- }
- }
- else
- {
- player = PLAYER_JPEGSNAP;
- }
- }
- else
- {
- player = PLAYER_JPEGSNAP;
- }
- }
- }
- else
- {
- player = PLAYER_JAVAAPP;
- }
- return player;
- }
- function VXGMP_createPlayer(id, addr, width, height, target)
- {
- var playerId = id;
- var div = document.createElement('div');
- div.setAttribute("id", playerId);
- div.setAttribute("class", "vxgplayer");
- var runtimePlayers = document.getElementById(target);
- runtimePlayers.appendChild(div);
- var player = vxgplayer(playerId, {
- url: '',
- nmf_path: 'media_player.nmf',
- nmf_src: '/vxgplayer/pnacl/Release/media_player.nmf',
- latency: 300,
- aspect_ratio_mode: 0,
- autohide: 3,
- controls: false,
- custom_digital_zoom: true
- });
-
- if(player == undefined) {
- return;
- }
- player.ready(function(){
- console.log(' =>ready player '+playerId);
- vxgplayer(playerId).src(addr);
- vxgplayer(playerId).size(width, height);
- vxgplayer(playerId).autoreconnect(1);
- vxgplayer(playerId).play();
- console.log(' <=ready player '+playerId);
- });
- }
- function VXGMP_restartPlayer(playerId, addr, width, height, target)
- {
- console.log(' =>VXGMP_restartPlayer '+playerId);
- vxgplayer(playerId).src(addr);
- vxgplayer(playerId).size(width, height);
- vxgplayer(playerId).autoreconnect(1);
- vxgplayer(playerId).play();
- console.log(' <=VXGMP_restartPlayer '+playerId);
- }
- function VXGMP_resizePlayer(playerId, width, height)
- {
- console.log(' =>VXGMP_resizePlayer '+playerId);
- vxgplayer(playerId).size(width, height);
- console.log(' =>VXGMP_resizePlayer '+width+' '+height);
- }
- function VXGMP_GetsizePlayer(playerId)
- {
- var size;
- size = vxgplayer(playerId).size();
- return size;
- }
- function VXGMP_term(playerId)
- {
- vxgplayer(playerId).dispose();
- }
- function VXGMP_fullscreen(playerId, val)
- {
- if(val == 1){
- vxgplayer(playerId).aspectRatioMode(1);
- }
- else{
- vxgplayer(playerId).aspectRatioMode(0);
- }
- vxgplayer(playerId).fullscreen();
- }
- function VXGMP_aspectRatioMode(playerId, val)
- {
- if(val == 1){
- vxgplayer(playerId).aspectRatioMode(1);
- }
- else{
- vxgplayer(playerId).aspectRatioMode(0);
- }
- }
- function VXGMP_GetaspectRatioMode(playerId)
- {
- rc = vxgplayer(playerId).aspectRatioMode();
- if(rc == 1) return 1;
- else return 2;
- }
- function VXGMP_SetBuffer(playerId, val)
- {
- var latency = val * 100;
- if(latency < 300) latency = 300;
- console.log("VXGMP_SetBuffer : " + latency);
- vxgplayer(playerId).latency(latency);
- }
- function VXGMP_RecStartPlayer(playerId)
- {
- rc = vxgplayer(playerId).record_start();
- }
- function VXGMP_RecStopPlayer(playerId)
- {
- rc = vxgplayer(playerId).record_stop();
- sleep(1000);
- }
- function VXGMP_RecBrowsePlayer(playerId)
- {
- rc = vxgplayer(playerId).record_stop();
- sleep(1000);
- downloadBrowse();
- }
- function VXGMP_RecDownloadPlayer(playerId, filename)
- {
- rc = vxgplayer(playerId).record_stop();
- sleep(1000);
- downloadFile(filename);
- }
- function VXGMP_CustomDigitalZoom(playerId, ratio, x, y)
- {
- vxgplayer(playerId).setCustomDigitalZoom(ratio, x, y);
- }
- function VXGMP_Snapshot(playerId)
- {
- rc = vxgplayer(playerId).takescreenshot();
- }
- ////////////////////////////////////////////////////////////////////////////////////
- // WebSocket
- ////////////////////////////////////////////////////////////////////////////////////
- function VXGWSMP_createPlayer(id, addr, wsaddr, width, height, buf, target, user, pw) {
- var playerId = id;
- var div = document.createElement('div');
- div.setAttribute("id", playerId);
- div.setAttribute("class", "vxgwsplayer");
- var runtimePlayers = document.getElementById(target);
- runtimePlayers.appendChild(div);
- var player = vxgwsplayer(playerId, {
- wsurl: wsaddr,
- rtspurl: addr,
- user: user,
- password: pw,
- //latency: 500000, //300000, // 300
- latency: (300 + (buf * 10)),
- width: width,
- height: height,
- aspect_ratio_mode: 2,
- //autohide: 3,
- controls: false,
- muted: true,
- volume: 1.0,
- //async: true,
- clipname: "dynamicTestClip",
- clipH264maxsize: 536870912, //1073741824,
- clipG711maxsize: 44640000, //89280000,
- //autoreconnect: 1
- custom_digital_zoom: true
- }).ready(function(){
- console.log(' =>ready player '+playerId);
- vxgwsplayer(playerId).setSource();
- vxgwsplayer(playerId).play();
- console.log(' <=ready player '+playerId);
- });
- if (vxgwsplayer_last_mute == false) {
- vxgwsplayer(playerId).mute();
- }
- }
- function VXGWSMP_resizePlayer(playerId, width, height)
- {
- console.log(' =>VXGWSMP_resizePlayer '+playerId);
- vxgwsplayer(playerId).size(width, height);
- console.log(' =>VXGWSMP_resizePlayer '+width+' '+height);
- }
- function VXGWSMP_GetsizePlayer(playerId)
- {
- var size;
- size = vxgwsplayer(playerId).size();
- return size;
- }
- function VXGWSMP_term(playerId)
- {
- vxgwsplayer(playerId).stop();
- vxgwsplayer(playerId).dispose();
- }
- function VXGWSMP_fullscreen(playerId, val)
- {
- if(val == 1){
- vxgwsplayer(playerId).aspectRatioMode(1);
- }
- else{
- vxgwsplayer(playerId).aspectRatioMode(0);
- }
- vxgwsplayer(playerId).fullscreen();
- }
- function VXGWSMP_aspectRatioMode(playerId, val)
- {
- if(val == 1){
- vxgwsplayer(playerId).aspectRatioMode(1);
- }
- else{
- vxgwsplayer(playerId).aspectRatioMode(0);
- }
- }
- function VXGWSMP_GetaspectRatioMode(playerId)
- {
- rc = vxgwsplayer(playerId).aspectRatioMode();
- if(rc == 1) return 1;
- else return 2;
- }
- function VXGWSMP_SetBuffer(playerId, val)
- {
- vxgwsplayer(playerId).latency(300 + (val*10)); // min: 300ms + (0 ~ 1000)ms
- vxgwsplayer(playerId).restart();
- }
- function VXGWSMP_RecStartPlayer(playerId, filename)
- {
- vxgwsplayer(playerId).defaultClipName = filename;
- rc = vxgwsplayer(playerId).startRecord(3600 * 1000); // 3600s == 1hours
- }
- function VXGWSMP_RecStopPlayer(playerId)
- {
- rc = vxgwsplayer(playerId).stopRecord();
- }
- function VXGWSMP_CustomDigitalZoom(playerId, ratio, x, y)
- {
- vxgwsplayer(playerId).setCustomDigitalZoom(ratio, x, y);
- }
- function VXGWSMP_Snapshot(playerId)
- {
- rc = vxgwsplayer(playerId).takescreenshot();
- }
- function VXGWSMP_RecGetStatus(playerId)
- {
- return vxgwsplayer(playerId).recordStatus();
- }
- var vxgwsplayer_last_mute = true;
- function VXGWSMP_VolumeMute(playerId)
- {
- vxgwsplayer(playerId).mute(); // toggle mute
- vxgwsplayer_last_mute = vxgwsplayer(playerId).isMute();
- return vxgwsplayer_last_mute;
- }
- function VXGWSMP_ShowError(playerId, errstr)
- {
- vxgwsplayer(playerId).showerror(errstr);
- }
- function VXGWSMP_HideError(playerId)
- {
- vxgwsplayer(playerId).hideerror();
- }
- function VXGWSMP_StartBackwardAudio(playerId)
- {
- vxgwsplayer(playerId).startBackwardAudio();
- }
- function VXGWSMP_StopBackwardAudio(playerId)
- {
- vxgwsplayer(playerId).stopBackwardAudio();
- }
|