Ich versuche zu lernen, wie webRTC in Anwendungen zu verwenden, so dass ich ein Codebeispiel in folgendem Link schrieb: http://wklej.org/hash/fd599a32e8e/WebRTC, Eis Kandidaten Verbindung
Ich brauche Am Anfang zu sagen, dass ich interessiere mich nicht über Browser-Kompatibilität, Alles, was ich brauche, ist Chromium Web-Engine ohne externe Adapter/andere Bibliotheken zu unterstützen.
Die Webanwendung sollte es mir ermöglichen, eine Verbindung zwischen zwei Browser-Registerkarten herzustellen, die auf demselben Host ausgeführt werden - durch den manuellen Austausch geeigneter Daten (SDP und ICE Kandidaten).
Schritte zu folgen:
- Klicken Sie auf Kopieren lokalen SDP "bieten Schaltfläche erstellen";
- Wechseln Sie zu einer anderen Registerkarte und fügen Sie zuvor kopierte SDP in den "Remote SDP" -Bereich ein, und drücken Sie dann "create answer";
- Kopiere generierte lokale SDP, gehe zur ersten Registerkarte, füge in den "remote SDP" -Bereich ein und klicke auf "set remote sdp" (keine Antwort-Schaltfläche erstellen);
- Exchange Eiskandidaten - kopieren Sie sie von einem Tab, fügen Sie zum zweiten und drücken Sie "addCandidates" -Taste. Tun Sie dasselbe auf die andere Weise.
Das Hauptproblem ist, dass diese Funktion:
peer.iceconnectionstatechange = function(event) {
console.log("ice connection state: " + peer.iceConnectionState)
}
wird nicht ausgelöst werden. Ich habe versucht, mit STUN/TURN Servern ohne Erfolg zu spielen. Das Remote-Video wird nicht ausgeführt. Wenn jemand darauf hinweisen könnte, wo ich Fehler gemacht habe?
Die Schaltfläche 'create answer' macht nichts mit Ihren Schritten? –
ja es tut, die Schaltfläche 'create answer' nimmt den Anbieter sdp, der von der ersten Registerkarte kopiert wurde. Es versucht, es als Remote-Deskriptor und erstellen Sie dann eine Antwort, die als Remote-Sdp auf der ersten Registerkarte (Schritt 2 und 3) – krzysztof
die TURN-Server verwendet werden, sind wahrscheinlich von einem Tutorial, das behauptet, dass Sie diese Anmeldeinformationen verwenden können , Recht? Diese Anmeldeinformationen funktionieren nicht, da Ihnen niemand kostenlos Zugriff auf ihre TURN-Server gewährt. Versuchen Sie die Zugangsdaten [hier] (https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/), Sie werden sehen, dass Sie keine Kandidaten mit type = relay bekommen –