Was ist WebRTC?
Published: 2024-03-05 21:21:55

### WebRTC definiert

[WebRTC](https://webrtc.org/)WebRTC (Web Real-Time Communication) ist ein Open-Source-Projekt, das Echtzeit-Peer-to-Peer-Kommunikation für Daten, Audio und Video zwischen zwei Endpunkten wie Webbrowsern oder innerhalb von Anwendungen unter Verwendung von JavaScript-APIs ermöglicht. Diese Technologie wurde seit ihrer Einführung erheblich weiterentwickelt und verbessert, u. a. durch eine bessere Netzwerküberwindung, erweitertes Datenstreaming und höhere Bandbreiten. Aufgrund seiner robusten Funktionen hat WebRTC in verschiedenen Bereichen wie E-Learning, [Telemedizin](https://www.pubnub.com/solutions/digital-health/) und [Tools für die Zusammenarbeit in Echtzeit](https://www.pubnub.com/solutions/multiuser-collaboration/) weite Verbreitung gefunden, was seine Stellung auf dem aktuellen Markt festigt.

### Geschichte von WebRTC

WebRTC wurde erstmals 2011 von Google veröffentlicht und erhielt im Laufe der Zeit die Unterstützung von großen Unternehmen wie Apple, Microsoft, Mozilla und Opera. Die Kompatibilität mit mobilen und Desktop-Browsern wie Google Chrome, Safari, Mozilla Firefox, Edge und anderen ermöglicht es Entwicklern, Kommunikationsfunktionen direkt in browserbasierte oder mobile Anwendungen zu integrieren, ohne dass zusätzliche Plugins erforderlich sind.

In den letzten Jahren hat WebRTC aufgrund von Fortschritten bei der Internetkonnektivität und der Nachfrage nach Echtzeit-Kommunikationsanwendungen einen starken Anstieg der Akzeptanz erfahren. Seine kontinuierliche Weiterentwicklung ist ein Beweis für die gemeinsamen Bemühungen der Tech-Community, einschließlich Unternehmen, unabhängiger Mitwirkender und Standardisierungsgremien.

### Häufige WebRTC-Anwendungsfälle

WebRTC eignet sich für zahlreiche Anwendungsfälle, von Audio- und Videoanrufen in Echtzeit über Chats bis hin zum Peer-to-Peer-Dateiaustausch. Die technologischen Fortschritte haben die Anwendung von WebRTC auf das Gesundheitswesen, Live-Streaming-Plattformen und Videokonferenzen ausgeweitet:

-   In-Browser-/In-App-Kundensupport-Chat, jetzt erweitert um Funktionen wie Bildschirmfreigabe und Echtzeit-Anmerkungen.
    
-   Telemedizinische Anwendungen erleichtern Video-/Audioanrufe zwischen Arzt und Patient, unterstützen die Videokommunikation, jetzt auch mit hochauflösenden Streams, und sichere Datenkanäle für den Austausch von Gesundheitsdaten.
    
-   Peer-to-Peer-Filesharing ist jetzt in der Lage, größere Dateien und schnellere Übertragungsgeschwindigkeiten zu verarbeiten.
    
-   Echtzeit-Spiele und Live-Streaming-Plattformen mit den Streaming-Funktionen von WebRTC mit niedriger Latenz.
    
-   Tools für die Zusammenarbeit mit Live-Video- und Audiokonferenzen, Dokumentenbearbeitung und mehr.
    

![](https://www.pubnub.com/cdn/3prze68gbwl1/6RGxRNvHpjDnS55Yackzm8/5c5d8953204d4735a8e1c9ba5fc23859/PeertoPeer.jpg)

### Wie funktioniert WebRTC?

Bei WebRTC werden zwei Browser über die RTCPeerConnection verbunden, die durch Signalisierungsprotokolle wie das Session Description Protocol (SDP) unterstützt wird. Netzwerk-Traversal-Verfahren wie STUN (Session Traversal Utilities for NAT) und TURN (Traversal Using Relays around NAT) wurden in den Arbeitsmechanismus von WebRTC integriert, um die Konnektivität in verschiedenen Netzwerkszenarien zu handhaben. Dazu gehören der Aufbau einer direkten Verbindung auch durch Firewalls oder NATs hindurch, die Ermittlung öffentlicher IP-Adressen und die Weiterleitung von Daten, falls erforderlich, durch TURN-Server.

### Verwendung von WebRTC über RTCPeerConnection

WebRTC bietet eine RTCPeerConnection-Schnittstelle zum Aufbau einer Peer-to-Peer-Verbindung. Die RTCPeerConnection ermöglicht den Aufbau einer Verbindung mit niedriger Latenz und hoher Qualität für Sprach- und Videoanrufe, indem sie Signalverarbeitung, Codec-Handling, Peer-to-Peer-Kommunikation, Sicherheit und Bandbreitenmanagement übernimmt. Zusätzliche Methoden wie getStats() wurden eingeführt, um statistische Daten über die Verbindung abzurufen, die den Entwicklern bei der Überwachung und Optimierung der Leistung des Anrufs helfen.

### Wie man WebRTC über RTCDataChannel & MediaStream verwendet

WebRTC ermöglicht den Datenaustausch über den RTCDataChannel, eine Komponente der RTCPeerConnection. Die RTCDataChannel API ermöglicht die bidirektionale Kommunikation von beliebigen Daten zwischen Peers. Sie verwendet das Stream Control Transmission Protocol (SCTP), das eine zuverlässige und sichere Datenübertragung gewährleistet und mögliche Anwendungsfälle für den direkten Dateiaustausch und Echtzeitspiele eröffnet. Die MediaStream-API, auch bekannt als getUserMedia, ermöglicht den Zugriff auf lokale Kameras und Mikrofone, sofern der Benutzer zustimmt. Jüngste Aktualisierungen ermöglichen eine detailliertere Kontrolle über die Medienstreams, z. B. die Anpassung der Videoauflösung, der Bildrate und der Audioqualität.

**Verwendung von PubNub und WebRTC zur Erstellung von Anwendungen**
-------------------------------------------------------------------

![](https://www.pubnub.com/cdn/3prze68gbwl1/4QbGEgmhK9dXPOVj0XHIiv/4a6775807145a9efcd70e83e638a2f30/WebRTC-Diagram.png)

Zunächst benötigen Sie eine Möglichkeit, die SDP von Browser A zu Browser B zu übertragen. Das PubNub-Netzwerk kann als Signalisierungsserver für diese Anwendungen verwendet werden. Funktionen wie Anwesenheit und Speicherung/Wiedergabe können ebenfalls zur Verbesserung dieser Anwendungen genutzt werden.

Wenn man einen anderen Benutzer über ein WebRTC-Protokoll oder eine App anruft, muss der Anrufer wissen, ob der Angerufene gerade online oder offline ist, welches Gerät er verwendet, ob er den Anruf annehmen kann usw.

Die Anwesenheit gibt Ihnen all diese Informationen und ermöglicht es Ihnen, den Benutzern zu zeigen, dass sie eine Verbindung herstellen können. Dies ist wichtig für die Signalisierung, um zu verhindern, dass Benutzer versuchen, sich mit anderen Benutzern zu verbinden, die nicht verfügbar sind.

### Ein Hinweis zum WebRTC-Protokoll und Texting

Das WebRTC-Protokoll bietet keine Speichermöglichkeiten, daher gibt es keine Aufzeichnungen darüber, welche Nachrichten gesendet wurden. Bei einem Text-Chat erwarten die Benutzer einen Verlauf früherer Chat-Unterhaltungen. PubNub's [Speicherung/Wiedergabe](https://www.pubnub.com/blog/getting-started-swift-pubnub-storage-playback-presence/) ermöglicht es den Benutzern, den Verlauf vergangener Unterhaltungen über einen gewünschten Zeitraum zu sehen.

Grundsätzlich bietet PubNub:

-   SDP-Signalisierung
    
-   [Anwesenheitsstatus](https://www.pubnub.com/how-to/admin-portal-presence/)
    
-   Speicherung von Chatnachrichten
    

WebRTC vs. WebSockets
---------------------

[WebSockets](https://www.pubnub.com/blog/what-are-websockets/) bieten ein TCP-basiertes Vollduplex-Kommunikationsprotokoll zwischen Client und Server. Im Gegensatz dazu unterstützt WebRTC den Peer-to-Peer-Austausch über UDP und ermöglicht so Video- und Audiodatenströme in Echtzeit. Die Unterscheidung zwischen WebRTC und WebSockets hat mit der steigenden Nachfrage nach Echtzeitanwendungen an Bedeutung gewonnen und viele Entwickler dazu veranlasst, die einzigartigen Stärken beider Technologien zu nutzen.

**Verwendung von Audio und Video mit WebRTC**
---------------------------------------------

Mit WebRTC lassen sich Video- und Sprachkommunikation problemlos in jede Website integrieren. Dies erweitert die Interaktion auf einer Website und ermöglicht es den Benutzern, im Kontext und in Echtzeit mit den Betreibern der Website oder untereinander zu kommunizieren. Solche Möglichkeiten sind wünschenswerter als die derzeitigen Einschränkungen, bei denen die Nutzer eine Nummer anrufen, ein Plugin herunterladen oder die Website verlassen müssen. So könnte beispielsweise die Website eines Finanzinstituts problemlos eine WebRTC-Kommunikations-App einbetten, die es den Nutzern ermöglicht, schnell mit einem Finanzvertreter zu sprechen (anstatt sie zu zwingen, ihr Telefon zu benutzen, um endlos mit einem automatischen Vertreter zu sprechen).

Ein weiteres Beispiel für WebRTC mit Sprache und Video wäre eine Skype-ähnliche Videochat-Anwendung, die vollständig im Webbrowser genutzt werden kann. Das bedeutet, dass die Endnutzer keine Software oder Plug-ins installieren müssen und einfach über Video-, Audio- und Text-Chat von Browser zu Browser miteinander in Verbindung treten können. Wir haben [WebRTC.co, eine JavaScript-Videochat-Anwendung](https://www.pubnub.com/blog/integrating-video-calling-in-chat-with-webrtc-and-pubnub/) die vollständig auf [WebRTC und PubNub](https://github.com/stephenlb/webrtc-sdk).

![](https://www.pubnub.com/cdn/3prze68gbwl1/3hU9HWjdkEj3Y15NfmostG/aa805363e6a0d2afe4b1d365e1625201/WebRTCSkype.png)

**Was ist die Zukunft von WebRTC?**
-----------------------------------

Als Video- und Datendienst ist WebRTC so gut wie nicht mehr wegzudenken. Mit der Unterstützung der großen Browseranbieter und der Verpflichtung, die APIs für Mobilgeräte und Desktops auf dem neuesten Stand zu halten, werden immer mehr Anwendungen auf die Plattform zugreifen, um die Verbraucher mit Tools zu versorgen, die Videochats für Dienste wie Dating, [Spiele](https://www.pubnub.com/solutions/gaming/) und Gesundheitswesen unterstützen.

#### Inhalt

[WebRTC DefinedHistory](#h-0)[of WebRTCCommon](#h-1)[WebRTC Use CasesHow](#h-2)[Does WebRTC Work?](#h-3)[Using WebRTC through RTCPeerConnectionHow](#h-4)[to Use WebRTC Through RTCDataChannel & MediaStreamHow](#h-5)[to Use PubNub and WebRTC to Build ApplicationsA](#h-6)[Note on WebRTC protocol and textingWebRTC](#h-7)[vs. WebSocketsHow](#h-8)[to Use Audio & Video with WebRTCWhat](#h-9)[is the Future of WebRTC?](#h-10)

Wie kann PubNub Ihnen helfen?
=============================

Dieser Artikel wurde ursprünglich auf [PubNub.com](https://www.pubnub.com/blog/what-is-webrtc/) veröffentlicht.

Unsere Plattform unterstützt Entwickler bei der Erstellung, Bereitstellung und Verwaltung von Echtzeit-Interaktivität für Webanwendungen, mobile Anwendungen und IoT-Geräte.

Die Grundlage unserer Plattform ist das größte und am besten skalierbare Echtzeit-Edge-Messaging-Netzwerk der Branche. Mit über 15 Points-of-Presence weltweit, die 800 Millionen monatlich aktive Nutzer unterstützen, und einer Zuverlässigkeit von 99,999 % müssen Sie sich keine Sorgen über Ausfälle, Gleichzeitigkeitsgrenzen oder Latenzprobleme aufgrund von Verkehrsspitzen machen.

PubNub erleben
--------------

Sehen Sie sich die [Live Tour](https://www.pubnub.com/tour/introduction/) an, um in weniger als 5 Minuten die grundlegenden Konzepte hinter jeder PubNub-gestützten App zu verstehen

Einrichten
----------

Melden Sie sich für einen [PubNub-Account](https://admin.pubnub.com/signup/) an und erhalten Sie sofort kostenlosen Zugang zu den PubNub-Schlüsseln

Beginnen Sie
------------

Mit den [PubNub-Dokumenten](https://www.pubnub.com/docs) können Sie sofort loslegen, unabhängig von Ihrem Anwendungsfall oder [SDK](https://www.pubnub.com/docs)