WebRTC

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

WebRTC (Web Real-Time Communication, deutsch „Web-Echtzeitkommunikation“) ist ein beim World Wide Web Consortium (W3C) in Standardisierung befindlicher offener Standard für Echtzeitkommunikation (VoIP, Chat, Video-Telephonie) innerhalb eines Webbrowsers ohne weitere Client-Software. Es dient der Aufnahme, Kodierung und (Peer-to-Peer-)Übertragung von Multimedia-Inhalten und Dateien zwischen Webbrowsern in Echtzeit. Für die Herstellung einer Verbindung zwischen den beteiligten Browsern ist jedoch ein entsprechender Server (gern auch mit einer Benutzerverwaltung) erforderlich sowie im Fall von Clients in privaten IPv4-Adressbereichen hinter NAPT-Routern auch die Feststellung von deren öffentlichen IP-Adressen und Portnummern (z.B. durch einen STUN-Server). Die Referenzimplementierung wird als freie Software im Quellcode unter den Bedingungen einer BSD-artigen Lizenz verbreitet. Die Standardisierung wird maßgeblich betrieben und unterstützt von Google Inc., Mozilla Foundation und Opera Software ASA.

Geschichte[Bearbeiten]

Im Mai 2010 kaufte Google Inc. die Firma Global IP Solutions (GIPS) auf und erwarb damit die Eigentumsrechte an der zugrundeliegenden Technik.[1] Seit Frühjahr 2011 beschäftigt sich eine Arbeitsgruppe des W3C mit der Standardisierung.[2] Eine weitere Arbeitsgruppe bei der Internet Engineering Task Force (IETF), die im Mai 2011 gebildet wurde, unterstützt die Standardisierungsarbeiten.[3] Am 1. Juni 2011 veröffentlichte Google Inc. das Referenz-Software-Framework als freie Software.[4] Die Ausgestaltung der Programmierschnittstelle stützt sich auf Vorarbeiten der Web Hypertext Application Technology Working Group (WHATWG).

WebRTC funktioniert bereits in stabilen Veröffentlichungen von Opera und Google Chrome sowie Mozilla Firefox.[5] Microsoft arbeitet an einer Implementierung der Programmierschnittstellen im Internet Explorer.[6] WebRTC wird als Angriff auf das weitgehende Monopol von Skype bei Desktop-VoIP-Anwendungen gesehen,[7] wobei Microsoft mit Skype offenbar selbst auf WebRTC setzen wollte.[8] Nun will Microsoft den eigenen Standard CU-RTC als Standard bei den Internet-Standardisierungsgremium W3C etablieren.[9]

Technik[Bearbeiten]

Das Framework basiert auf HTML5 und JavaScript. Die Übertragung erfolgt mit (S)RTP über eine mittels der XMPP-Erweiterung Jingle in Verbindung mit dem neu eingeführten JavaScript Session Establishment Protocol (JSEP) ausgehandelte Direktverbindung (Peer-to-Peer).[10] Neben einer Anzahl mindestens zu unterstützender, (lizenzkosten-)freier Multimedia-Codecs können standardkonforme Implementierungen beliebige weitere Verfahren unterstützen. Für Audio ist Opus als zu bevorzugendes Verfahren vorgesehen neben der für Kompatibilität zu herkömmlichen Telefonsystemen ebenfalls geforderten Unterstützung für A-law und µ-law.[11] Der neuere Internetstandard Opus ersetzt die zuvor verwendeten, von GIPS entwickelten iLBC und iSAC. Google setzt sich daneben für den selbst freigekauften Video-Codec VP8 als vorgeschriebenes Video-Format ein, das als alternativlos dargestellt wird.[12][5] Neben mitgelieferten Multimedia-Codecs liegen der Referenzimplementierung weiterhin Werkzeuge für unter anderem Nebengeräuschunterdrückung und die Software-Bibliothek libjingle bei.[7]

  • Da WebRTC quelloffen ist, kann jeder seine eigene WebRTC-basierten Anwendung schreiben, oder einfach einen Internetdienst dazu nutzen.
  • Der Video- und Audiostream kann direkt von Browser zu Browser übertragen werden, ohne Zwischenschaltung eines Streamingservers. Oder auch über eine Client-Server-Architektur mit Hilfe einer Multipoint Control Unit (MCU).
  • Keine weitere Software nötig, da moderne Browser WebRTC bereits beherrschen. Es sind auch keine Browserplugins oder Addons notwendig. Damit ist die Anwendung an kein Betriebssystem gebunden, also plattformunabhängig.
  • Video- und Audiostream werden verschlüsselt übertragen.
  • Der WebRTC-Anwendung bzw. Webseite muss lediglich Zugriff auf Kamera und Mikrofon gestattet werden.
  • Prinzipiell sind keine Benutzerkonten nötig und somit müssen abgesehen von der IP-Adresse keine persönlichen Daten preisgegeben werden.
  • Den Gesprächspartnern muss lediglich der angebotene, spezielle Link übermittelt werden, um an der Konferenz teilnehmen zu können.

Weblinks[Bearbeiten]

Quellen[Bearbeiten]

  1. Jens Ihlenfeld: Google kauft Spezialisten für Echtzeitkommunikation, golem.de, 18. Mai 2010
  2. http://lists.w3.org/Archives/Public/public-webrtc/2011Apr/0001.html
  3. http://tools.ietf.org/wg/rtcweb/charters?item=charter-rtcweb-2011-05-03.txt
  4. Harald Alvestrand/Google Inc.: Google release of WebRTC source code, public-webrtc@w3.org, 1. Juni 2011
  5. a b Fabian A. Scherschel: Google proposes VP8 and Opus for WebRTC standard, The H Open, 31. Juli 2012
  6. http://html5labs.interoperabilitybridges.com/prototypes/media-capture-api-(2nd-updated)/media-capture-api-(2nd-update)/info
  7. a b Jörg Thoma: Freies HTML5-Framework zur Echtzeitkommunikation, golem.de, 1. Juni 2011
  8. Janko Roettgers: Scoop: Microsoft bets on WebRTC for Skype’s browser future, GigaOM, 26. Juni 2012
  9. Formatkrieg beim Videochat: WebRTC gegen CU-RTC heise.de
  10. Dele Olajide: Jingle WebRTC Transport Proto, 17. Februar 2012
  11. http://tools.ietf.org/html/draft-cbran-rtcweb-codec-02#section-3
  12. Jens Ihlenfeld: Google will VP8 und Opus zur Pflicht machen, golem.de, 30. Juli 2012