Added webRTC connection

This commit is contained in:
Daniel Hervás Rodao 2021-06-27 22:12:11 +02:00
parent 5f88de514f
commit c0ba6d31d5
1 changed files with 56 additions and 1 deletions

View File

@ -323,6 +323,8 @@
<video id="localVideo" playsinline autoplay></video>
</div>
<!--<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>-->
<script src="utils/stream/rtcstream.js"></script>
<script>
const localVideo = document.querySelector('#localVideo');
var stream_set = false;
@ -332,7 +334,7 @@
setInterval(function(){
if(canvas === null){
canvas = document.querySelector('#noVNC_container canvas');
console.log('CANVAS: ', canvas);
//console.log('CANVAS: ', canvas);
}else{
if(!stream_set){
let stream = canvas.captureStream();
@ -342,6 +344,59 @@
}
}
},500);
/////// Control de streamws
// Creo WS de stream
const streamws = new WebSocket(
'ws://' +
'127.0.0.1:8000' +
'/ws/stream/' +
'd' +
'/'
);
console.log('[NOVNC] WebSocket streamws creado');
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){
let message_data = JSON.parse(event.data);
console.log('[NOVNC] streamws: ', message_data);
if(message_data['type'] == 'checkusers'){
if(message_data['users']){
console.log('[NOVNC] usuarios correctos');
startLocalStream();
}else{
console.log('[NOVNC] usuarios incorrectos');
}
}else if(message_data['type'] == 'candidate'){
console.log('[NOVNC] Candidate received');
addIceCandidate(message_data['candidate']);
}else if(message_data['type'] == 'offer'){
console.log('[NOVNC] Offer received');
startRemoteStream(message_data['offer']);
}else if(message_data['type'] == 'answer'){
console.log('[NOVNC] Answer received');
setAnswerDescription(message_data['answer']);
}else if(message_data['type'] == 'denied'){
console.log('[NOVNC] Denied connection');
window.location.pathname = '/';
}
}
////////
// window.onload = function(){
// parent.postMessage(canvas, '*');
// }
</script>
</body>
</html>