main
yiming 4 years ago
parent 4968eb592c
commit e093ceef1f

6834
bootstrap.css vendored

File diff suppressed because it is too large Load Diff

@ -7,16 +7,34 @@
</body>
<script>
$(function(){
let ip ;
$.getJSON("config.json", function (data){
console.log(data)
ip = data["serverIp"]
let webRtc = data["webRtcIp"]
WebRtcPlayer.setServer(webRtc);
var cameraId = getQueryVariable("cameraId");
let player = new WebRtcPlayer('camera','camera'+cameraId);
player.load('camera'+cameraId)
});
var cameraId = getQueryVariable("cameraId");
$.ajax({
url:'/api/camera/'+cameraId,
type:'get',
data:{},
dataType:'json',
success:function(data){
let camera = data.data;
console.log("okkk2:"+camera)
if(camera != null){
let server = camera.rtcServer + ":" + camera.rtcServerPort;
var video = document.createElement('video')
video.setAttribute('id',cameraId)
video.autoplay = true
video.controls = true
video.muted = true
video.style = 'width:700px;'
video.setAttribute('class','video')
videos.appendChild(video)
let player = new WebRtcPlayer(server,cameraId,'camera'+cameraId);
}
},
error:function(){
console.log('请求出错!');
}
})
});

@ -1,47 +1,145 @@
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>视觉大屏</title>
<link href="bootstrap.css" rel="stylesheet">
</head>
<script src="webrtcplayer.js"></script>
<script src="jquery.min.js"></script>
<body>
<!-- <video id="camera1" class="camera" autoplay controls muted style="width:700px;"></video>
<video id="camera2" class="camera" autoplay controls muted style="width:700px;"></video> -->
<body >
<div class="container-fluid" id="videos" >
</div>
</body>
<script>
var body = document.querySelector('body');
$(function(){
let ip ;
$.getJSON("config.json", function (data){
console.log(data)
ip = data["serverIp"]
let webRtc = data["webRtcIp"]
WebRtcPlayer.setServer(webRtc);
$.ajax({
url:ip+'/api/realTime/allCameras',
type:'get',
data:{},
dataType:'json',
success:function(data){
for(camera of data.data){
var video = document.createElement('video')
video.setAttribute('id',camera.id)
video.autoplay = true
video.controls = true
video.muted = true
video.style = 'width:700px;'
video.setAttribute('class','video')
body.appendChild(video)
let player = new WebRtcPlayer(camera.id,'camera'+camera.id);
player.load('camera'+camera.id)
}
},
error:function(){
console.log('请求出错!');
}
})
});
$(function(){
let cameras=[];
$.ajax({
url:'/api/realTime/allCameras',
type:'get',
data:{},
async:false,
dataType:'json',
success:function(data){
cameras = data.data;
console.log(cameras);
row = getQueryVariable("row");
column = getQueryVariable("column");
var videos = document.getElementById('videos');
let index = 0;
for(var i = 0;i<row;i++){
var div = document.createElement('div');
div.setAttribute("class","row");
div.setAttribute("style","height: calc(100% / "+row+");")
for(var j = 0;j<column;j++){
var video = document.createElement('video');
video.setAttribute("class","col-md-"+12/column);
video.autoplay = true;
video.controls = true;
video.muted = true;
video.setAttribute("style","padding-left: 0;padding-right: 0;object-fit: fill;");
if(index < cameras.length){
let camera = cameras[index];
video.setAttribute("id","camera"+camera.id)
index++;
}
div.appendChild(video);
}
videos.appendChild(div);
});
}
autoPlay(cameras);
}});
});
function autoPlay(cameras){
for(var i = 0; i<cameras.length;i++){
console.log(cameras[i])
let server = cameras[i].rtcServer + ":" + cameras[i].rtcServerPort;
let player = new WebRtcPlayer(server,"camera"+cameras[i].id,'camera'+cameras[i].id);
player.load('camera'+cameras[i].id);
}
}
function getQueryVariable(variable){
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
// var body = document.querySelector('body');
// $(function(){
// let ip ;
// $.getJSON("config.json", function (data){
// console.log(data)
// ip = data["serverIp"]
// let webRtc = data["webRtcIp"]
// WebRtcPlayer.setServer(webRtc);
// $.ajax({
// url:ip+'/api/realTime/allCameras',
// type:'get',
// data:{},
// dataType:'json',
// success:function(data){
// for(camera of data.data){
// var video = document.createElement('video')
// video.setAttribute('id',camera.id)
// video.autoplay = true
// video.controls = true
// video.muted = true
// video.style = 'width:700px;'
// video.setAttribute('class','video')
// body.appendChild(video)
// let player = new WebRtcPlayer(camera.id,'camera'+camera.id);
// player.load('camera'+camera.id)
// }
// var de = document.documentElement;
// if (de.requestFullscreen) {
// de.requestFullscreen();
// } else if (de.mozRequestFullScreen) {
// de.mozRequestFullScreen();
// } else if (de.webkitRequestFullScreen) {
// de.webkitRequestFullScreen();
// }
// },
// error:function(){
// console.log('请求出错!');
// }
// })
// });
// });
</script>
<style>
/* 固定容器高度 溢出隐藏 */
body {
padding:0;
margin:0;
min-height: 100vh;
}
.container-fluid > .row {
height: calc(100% / 4);
}
.container-fluid > .row > video {
height: 100%;
object-fit: fill;
}
</style>
</html>

@ -16,14 +16,8 @@
$("#streets").empty();
var map = {}
$(function(){
let ip ;
$.getJSON("config.json", function (data){
console.log(data)
ip = data["serverIp"]
let webRtc = data["webRtcIp"]
WebRtcPlayer.setServer(webRtc);
$.ajax({
url:ip+'/api/street/list',
url:'/api/street/list',
type:'get',
data:{},
dataType:'json',
@ -55,7 +49,6 @@
console.log('请求出错!');
}
})
});
});
@ -63,13 +56,10 @@
$("#streets").change(function(){
var item = $(":selected").get(0).getAttribute('id');
var cameras = map[item]
console.log(item)
console.log("d"+cameras)
if(cameras.length > 0){
camera2 = null
if(cameras.length >1){
camera2 = cameras[1]
}
autoPlay(cameras[0],camera2)
autoPlay(cameras[0],cameras[1])
}
});
@ -81,28 +71,60 @@
videos.removeChild(videos.firstChild)
}
if(camera1 != null && camera1 != undefined){
var video = document.createElement('video')
video.setAttribute('id',camera1)
video.autoplay = true
video.controls = true
video.muted = true
video.style = 'width:700px;'
video.setAttribute('class','video')
videos.appendChild(video)
let player = new WebRtcPlayer(camera1,'camera'+camera1);
player.load('camera'+camera1)
$.ajax({
url:'/api/camera/'+camera1,
type:'get',
data:{},
dataType:'json',
success:function(data){
let camera = data.data;
console.log("okkk1:"+camera)
if(camera != null){
let server = camera.rtcServer + ":" + camera.rtcServerPort;
var video = document.createElement('video')
video.setAttribute('id',camera1)
video.autoplay = true
video.controls = true
video.muted = true
video.style = 'width:700px;'
video.setAttribute('class','video')
videos.appendChild(video)
let player = new WebRtcPlayer(server,camera1,'camera'+camera1);
}
},
error:function(){
console.log('请求出错!');
}
})
}
if(camera2 != null && camera2 != undefined){
var video = document.createElement('video')
video.setAttribute('id',camera2)
video.autoplay = true
video.controls = true
video.muted = true
video.style = 'width:700px;'
video.setAttribute('class','video')
videos.appendChild(video)
let player = new WebRtcPlayer(camera2,'camera'+camera2);
player.load('camera'+camera2)
$.ajax({
url:'/api/camera/'+camera2,
type:'get',
data:{},
dataType:'json',
success:function(data){
let camera = data.data;
console.log("okkk2:"+camera)
if(camera != null){
let server = camera.rtcServer + ":" + camera.rtcServerPort;
var video = document.createElement('video')
video.setAttribute('id',camera2)
video.autoplay = true
video.controls = true
video.muted = true
video.style = 'width:700px;'
video.setAttribute('class','video')
videos.appendChild(video)
let player = new WebRtcPlayer(server,camera2,'camera'+camera2);
}
},
error:function(){
console.log('请求出错!');
}
})
}
};

@ -1,5 +1,4 @@
class WebRtcPlayer {
static server = '127.0.0.1:8083';
webrtc = null;
video = null;
server = null;
@ -11,8 +10,8 @@ class WebRtcPlayer {
onStatusChange:null
};
constructor(id, uuid, options={}) {
this.server = WebRtcPlayer.server;
constructor(server,id, uuid, options={}) {
this.server = server;
this.video = document.getElementById(id);
this.uuid = uuid;
Object.assign(this.options, options);
@ -108,8 +107,4 @@ class WebRtcPlayer {
canvas.remove();
return dataURL;
}
static setServer(serv) {
this.server = serv;
}
}

Loading…
Cancel
Save