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 eine entsprechende Software-Implementierung. Es dient der Aufnahme, Kodierung und (Peer-to-Peer-)Übertragung von Multimedia-Inhalten und Dateien zwischen Webbrowsern in Echtzeit. 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. So ist z. B. die Software hinter palava.tv Open Source Software und bei GitHub erhältlich [13] [14].
  • 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 keine persönliche Daten preisgeben werden.
  • Den Gesprächspartnern muss lediglich der angebotene, spezielle Link übermittelt werden, um an der Konferenz teilnehmen zu können.

Alternativen[Bearbeiten]

  • Microsoft: CU-RTC (Customizable, Ubiquitous Real Time Communication)

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
  13. palava.tv bei GitHub
  14. palava.tv