novnc webrtc
This commit is contained in:
parent
9dad2c131b
commit
a7beef5fe2
|
|
@ -51,6 +51,7 @@ async function startLocalStream(){
|
||||||
// Obtener el stream del usuario
|
// Obtener el stream del usuario
|
||||||
if(!canvas){
|
if(!canvas){
|
||||||
console.log('[NOVNC] Error: no CANVAS');
|
console.log('[NOVNC] Error: no CANVAS');
|
||||||
|
users = false;
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
stream = canvas.captureStream();
|
stream = canvas.captureStream();
|
||||||
|
|
|
||||||
42
vnc.html
42
vnc.html
|
|
@ -328,6 +328,8 @@
|
||||||
<script>
|
<script>
|
||||||
const localVideo = document.querySelector('#localVideo');
|
const localVideo = document.querySelector('#localVideo');
|
||||||
var stream_set = false;
|
var stream_set = false;
|
||||||
|
let room_name;
|
||||||
|
let users = false;
|
||||||
|
|
||||||
var canvas = document.querySelector('#noVNC_container canvas');
|
var canvas = document.querySelector('#noVNC_container canvas');
|
||||||
// Buscar el canvas
|
// Buscar el canvas
|
||||||
|
|
@ -343,39 +345,32 @@
|
||||||
stream_set = true;
|
stream_set = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},500);
|
},1000);
|
||||||
|
|
||||||
|
// Creo la sala
|
||||||
/////// Control de streamws
|
room_name = Date.now()+Math.round(Math.random()*10000);
|
||||||
|
console.log('[NOVNC] room name: ', room_name);
|
||||||
// Creo WS de stream
|
// Creo WS de stream
|
||||||
const streamws = new WebSocket(
|
const streamws = new WebSocket(
|
||||||
'ws://' +
|
'ws://' +
|
||||||
'127.0.0.1:8000' +
|
'127.0.0.1:8000' +
|
||||||
'/ws/stream/' +
|
'/ws/stream/' +
|
||||||
'd' +
|
room_name +
|
||||||
'/'
|
'/'
|
||||||
);
|
);
|
||||||
console.log('[NOVNC] WebSocket streamws creado');
|
console.log('[NOVNC] WebSocket streamws creado');
|
||||||
|
// HAndler ws
|
||||||
window.addEventListener('message', function(e){
|
|
||||||
console.log('[NOVNC] mensaje: ', e.data);
|
|
||||||
if(e.data === 'start'){
|
|
||||||
console.log('Empezar el stream');
|
|
||||||
// Comprobar usuarios
|
|
||||||
checkUsers();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
///// Esto va en ws_stream.js
|
|
||||||
streamws.onmessage = function(e){
|
streamws.onmessage = function(e){
|
||||||
let message_data = JSON.parse(event.data);
|
let message_data = JSON.parse(event.data);
|
||||||
console.log('[NOVNC] streamws: ', message_data);
|
console.log('[NOVNC] streamws: ', message_data);
|
||||||
if(message_data['type'] == 'checkusers'){
|
if(message_data['type'] == 'checkusers'){
|
||||||
if(message_data['users']){
|
if(message_data['users']){
|
||||||
console.log('[NOVNC] usuarios correctos');
|
console.log('[NOVNC] usuarios correctos');
|
||||||
|
users = true;
|
||||||
startLocalStream();
|
startLocalStream();
|
||||||
}else{
|
}else{
|
||||||
console.log('[NOVNC] usuarios incorrectos');
|
console.log('[NOVNC] usuarios incorrectos');
|
||||||
|
users = false;
|
||||||
}
|
}
|
||||||
}else if(message_data['type'] == 'candidate'){
|
}else if(message_data['type'] == 'candidate'){
|
||||||
console.log('[NOVNC] Candidate received');
|
console.log('[NOVNC] Candidate received');
|
||||||
|
|
@ -391,8 +386,21 @@
|
||||||
window.location.pathname = '/';
|
window.location.pathname = '/';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
////////
|
window.addEventListener('message', function(e){
|
||||||
|
console.log('[NOVNC] mensaje: ', e.data);
|
||||||
|
if(e.data === 'start'){
|
||||||
|
console.log('Empezar el stream');
|
||||||
|
// Envío la sala del stream al padre
|
||||||
|
parent.postMessage(JSON.stringify({'stream':room_name}),'*');
|
||||||
|
// Comprobar usuarios
|
||||||
|
setInterval(function(){
|
||||||
|
if(!users){
|
||||||
|
checkUsers();
|
||||||
|
}
|
||||||
|
},2000);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// window.onload = function(){
|
// window.onload = function(){
|
||||||
// parent.postMessage(canvas, '*');
|
// parent.postMessage(canvas, '*');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue