C'est normal que cela ram, et cela ne viens pas de ton PC. J'ai aussi fais un tuto de ce style.
En gros j'essayais de steamer de multiple screenshot du canvas vers les autre utilisateurs pour ensuite afficher ces même images à la suite les une des autres pour en faire une vidéo.
Sauf que pour clean le canvas + dessiner une image, même mon PC Core I7 n'y arrive pas de manière fluide 
Non la solution pour la vidéo je l'es trouvé ici.
https://bitbucket.org/webrtc/codelab
D'ailleurs je bloque sur le point 3.
J'ai un peu adapter mon code. Mais la fonction Call() n'appelle pas toutes mes méthodes.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| function Visio() {
this.localStream, this.localPeerConnection, this.remotePeerConnection;
this.cam = new Cam();
var localVideo = document.getElementById("localVideo");
var remoteVideo = document.getElementById("remoteVideo");
var startButton = document.getElementById("startButton");
var callButton = document.getElementById("callButton");
var hangupButton = document.getElementById("hangupButton");
startButton.disabled = false;
callButton.disabled = true;
hangupButton.disabled = true;
var that = this;
startButton.onclick = function(){that.start(that);};
callButton.onclick = function(){that.call(that);};
hangupButton.onclick = function(){that.hangup(that);};
}; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| Visio.prototype.call = function(visio){
callButton.disabled = true;
hangupButton.disabled = false;
console.log("Starting call...");
if (visio.localStream.getVideoTracks().length > 0) {
visio.trace('Using video device: ' + visio.localStream.getVideoTracks()[0].label);
}
if (visio.localStream.getAudioTracks().length > 0) {
visio.trace('Using audio device: ' + visio.localStream.getAudioTracks()[0].label);
}
var servers = null;
visio.localPeerConnection = new RTCPeerConnection(servers);
console.log("Created local peer connection object localPeerConnection");
visio.localPeerConnection.onicecandidate = visio.gotLocalIceCandidate;
visio.remotePeerConnection = new RTCPeerConnection(servers);
console.log("Created remote peer connection object remotePeerConnection");
visio.remotePeerConnection.onicecandidate = visio.gotRemoteIceCandidate;
visio.remotePeerConnection.onaddstream = visio.gotRemoteStream;
visio.localPeerConnection.addStream(visio.localStream);
console.log("Added localStream to localPeerConnection");
visio.localPeerConnection.createOffer(visio.gotLocalDescription);
}; |
visio.gotLocalIceCandidate
n'est pas appelé. Visio correspont bien à mon object pourtant. Un problème de closure surement mais je n'arrive pas à le résoudre.
Partager