WebRTC – Demo zu RTCDataChannel, API-Änderungen... und Chrome spricht mit Firefox

Es gibt weitere gute Neuigkeiten von unserem alten Freund WebRTC.

Genauer gesagt: drei gute Neuigkeiten und einige kleinere API-Änderungen.

RTCDataChannel für Chrome

RTCDataChannel wurde in Chrome implementiert und es gibt eine tolle kleine Demo unter simpl.info/dc.

Diese Demo zeigt die Peer-to-Peer-Kommunikation beliebiger Daten – mit weniger als hundert Codezeilen. Dazu benötigen Sie Chrome 25 oder höher, also Beta oder Canary.

RTCDataChannel nutzt die Funktionen von RTCPeerConnection optimal aus – nicht zuletzt die Verwendung des ICE-Frameworks, um Firewalls und NATs zu umgehen – und bietet viele potenzielle Anwendungen, bei denen eine geringe Latenz von entscheidender Bedeutung ist: für Gaming, Remote-Desktop-Anwendungen, Echtzeit-Textchat und Dateiübertragung.

Weitere Informationen zu RTCDataChannel finden Sie im Hilfeartikel Einstieg in WebRTC.

API-Änderungen

Weniger spannend, aber dennoch wichtig: Ab Chrome 26 wurden einige RTCPeerConnection- und MediaStream API-Properties zu Getter-Methoden:

  1. MediaStream hat jetzt die Methode getAudioTracks() anstelle der Eigenschaft „audioTracks“ und getVideoTracks() anstelle von videoTracks.
  2. RTCPeerConnection hat jetzt getLocalStreams() anstelle von localStreams und getRemoteStreams() anstelle von remoteStreams.

Eine Demo von MediaStream findest du unter simpl.info/gum getUserMedia. Die Variable stream hat globalen Gültigkeitsbereich: Prüfen Sie sie in der Konsole. Ähnlich verhält es sich mit RTCPeerConnection unter simpl.info/pc: Die RTCPeerConnection-Objekte pc1 und pc2 haben globalen Gültigkeitsbereich.

Chrome <=> Firefox

Und falls Sie es verpasst haben: Chrome kann jetzt mit Firefox kommunizieren.

Du kannst das jetzt unter webrtc.org/start ausprobieren. Dort findest du eine vollständige Anleitung, Links zum Quellcode und Informationen zu API-Unterschieden.

Ein großes Dankeschön an die Teams von Mozilla und Google, die das alles möglich gemacht haben.

Viel Spaß beim Programmieren! Bitte teilen Sie uns auch Fehler mit, entweder indem Sie diesen Beitrag kommentieren oder unter bugs.chromium.org. Aktuelle Informationen zur Implementierung finden Sie unter chromestatus.com.