Was ist eigentlich WebRTC?

Web Real-time Communication (WebRTC) ist eine Open-Source-Technologie, die es Entwicklern ermöglicht, Video- und Audiokommunikationsfunktionen in Echtzeit in Web- und Mobilanwendungen sowie in vernetzte Geräte zu integrieren.

WebRTC im IoT wird als Device-to-Cloud und Device-to-Person klassifiziert. Typische Einsatzbereiche für WebRTC als Device-to-Person sind Überwachungskameras, Monitoring, Videotürklingeln usw. Hier ermöglicht WebRTC den Nutzern, zu sehen und/oder zu hören, was an einem entfernten Ort passiert. 

Device-to-Cloud deckt alle Anwendungsfälle der Automatisierung ab. WebRTC und IoT können beispielsweise dort eingesetzt werden, wo es Roboter gibt, die Störungen erkennen und beheben. Stellen Sie sich ein Energieversorgungsunternehmen vor, das Drohnen zur Überwachung von Strommasten einsetzt und Videostreams an die Cloud sendet. Hier ermöglicht WebRTC einen reibungslosen Prozess in Echtzeit.

Um eine Peer-to-Peer-Kommunikation zwischen Web- oder Mobilbrowsern herzustellen, braucht WebRTC keine zusätzlichen Plugins. WebRTC greift auf die Kamera und das Mikrofon eines Geräts zu und streamt Mediendateien mit nur einer halben Sekunde Verzögerung. Die Technologie gilt als die wichtigste Lösung für die Übertragung von Mediendateien in Echtzeit.

Vorteile von WebRTC

  • Die vier wichtigsten Browser unterstützen die WebRTC-Technologie: Safari, Chrome, Firefox und Microsoft Edge.

  • WebRTC fungiert als clientseitige Echtzeit-Medien-Engine, die man anpassen und erweitern kann: Sie ermöglicht neben Medieninhalten auch die Übertragung anderer Datentypen.

  • WebRTC ist sicher. Um die zwischen den Geräten ausgetauschten Daten zu verschlüsseln, nutzt die Technologie Datagram Transport Layer Security (DTLS) und Secure Real-Time Protocol (SRTP). Außerdem benachrichtigt sie die Nutzer vor dem Zugriff auf die Kamera und das Mikrofon des Computers.  

  • WebRTC passt den Datenverkehr an die Breitbandgeschwindigkeit des Nutzers an.

  • Die Technologie ist webbasiert. Dies erleichtert die Entwicklung der Client-Seite einer Anwendung.

  • Die Echtzeit-Kommunikations-Engine ermöglicht es Entwicklern, andere Datentypen über Medieninhalte zu "stülpen".

Wie funktioniert WebRTC?

Damit zwei Nutzer miteinander kommunizieren können, müssen sich ihre Browser zunächst finden und dann die Lizenz für den Austausch von Mediendaten in Echtzeit erhalten. Die Network Access Translation (NAT) oder Firewalls blockieren jedoch die Smartphones oder Laptops der Nutzer, und genau darin liegt die Herausforderung.

Im Gegensatz zu HTTPS-Websites, deren Standort über das Internet ermittelt werden kann, haben Smartphones und Laptops keine festen Webadressen. WebRTC verwendet Session Traversal Utilities for NAT (STUN) und Relays around NAT (TURN) Server sowie Signalisierungs-/Kommunikationsprotokolle, um ein Video- oder Telefongespräch mit einem Nutzer außerhalb eines Heimnetzwerks aufzubauen.

Vor webRTC wurde C/C++ für die Echtzeitkommunikation eingesetzt. Dies führte zur Entwicklung von Kollaborationstools und individuellen Konferenzen, was längere Laufzeiten und höhere Kosten zur Folge hatte. Mit seiner JavaScript-API wird webRTC den Entwicklern den Stress ersparen, zu lange nach den Werkzeugen zu suchen, die bei der Erstellung von Anwendungen mit einer Schnittstelle zu Browsern verwendet werden.

Wie kann WebRTC in IoT-Lösungen eingebaut werden?

WebRTC kann zum Beispiel einen Mehrwert für ein RFID-basiertes Sicherheitssystem im Einzelhandel bieten. Zusätzlich zu den Warensicherungsetiketten und EAS-Antennen könnte die Lösung eine IP-Kamera haben, die die Aktivitäten im Geschäft genau überwacht und Videodaten in Echtzeit über eine webbasierte Anwendung an den PC des Sicherheitschefs weiterleitet. Wenn ein nicht bezahlter Artikel den Alarm auslöst, kann der Manager das Warnsignal mit dem Videomaterial zuordnen und den Dieb identifizieren.

WebRTC ist eine browserbasierte Technologie. Das bedeutet, dass ein Großteil der IoT-Geräte und Embedded-Systeme sie nicht unmittelbar unterstützen. Hier könnte GStreamer eine Lösung darstellen. Es verwendet eine Pipeline-basierte Struktur mit einem flexiblen Quellcode, mit dem Multimedia-Streaming-Anwendungen für PCs, vernetzte Geräte und Server erstellt werden können.

Sein Feature-Set wird um eine native WebRTC-API ergänzt. Und die lässt sich im Vergleich zu den offiziellen WebRTC Native APIs viel einfacher bedienen. GStreamer enthält auch eingebaute Synchronisierungsverfahren, um sicherzustellen, dass Audio- und Videosamples in der richtigen Reihenfolge und zum richtigen Zeitpunkt abgespielt werden.

WebRTC und GStreamer: Einsatzbereiche

Hier ist eine Liste von Projekten zur Entwicklung von Embedded Software, bei denen GStreamer eingesetzt werden kann:

  • Überwachung. Herkömmliche CCTV-Systeme (Closed Circuit Television) für Unternehmen und öffentliche Einrichtungen gibt es schon lange, aber sie sind nicht in der Lage, unabhängige Entscheidungen zu treffen und müssen kontinuierlich überprüft werden. IP-Kamerahersteller können WebRTC nutzen, um Verbesserungen im Bereich Video oder Audio auf Videoströme anzuwenden, Zugriff auf Kameraaufnahmen von außerhalb des Netzwerks zu ermöglichen und spezielle Plugins zur Erkennung von Einbrüchen oder Unfällen zu entwickeln. Dadurch rückt die Kameraintelligenz weiter in den Vordergrund.

  • Smart Home. Dies ist einer der lukrativsten Bereiche für WebRTC - und gleichzeitig einer der wichtigsten IoT-Trends. So nutzen beispielsweise Türsprechanlagen oder intelligente Briefkästen WebRTC für die Audio-/Videokommunikation mit Web- und mobilen Anwendungen. Im ersten Fall können Bewohner von Smart Homes mit Besuchern kommunizieren und so sicherstellen, dass kein Notfall unbemerkt bleibt. Intelligente Authentifizierungslösungen für den sicheren Zugang mit WebRTC und Machine-Learning-basierter biometrischer Verifizierungstechnologie sind weitere Anwendungsbeispiele.

  • Industrie. Eine Smart Factory kann zum Beispiel Technologien nutzen, um automatisierte Prozesse mit Sensoren zu überwachen und zu steuern. Wenn ein Thermostat anzeigt, dass eine Maschine überhitzen könnte, löst es eine Videokamera aus, um die Maschine aus der Ferne zu überprüfen und ihren Zustand in Echtzeit zu kontrollieren. Ein anderes Szenario ist der Einsatz im Bereich Augmented Reality. Ein Experte kann aus der Ferne digitale Markierungen oder Texte einfügen, Außendienstmitarbeiter können über ein intelligentes Headset Anweisungen in Echtzeit erhalten. Unternehmen aus zahlreichen Branchen, von e-Learning bis Schönheits- und Wellness oder Einzelhandel, können von diesem Einsatz profitieren.

  • Transportwesen. Durch eine Kombination aus Kameras im Fahrzeug, anderen Überwachungsgeräten und einer Hochfrequenzverbindung mit einem Computer in der Nähe (oder dem eines Fuhrparkleiters) können verbesserte Navigations- und Fahrerlebnisse im Automobilsektor mithilfe von WebRTC geschaffen werden.

Zum Schluss

GStreamer gewinnt an Popularität, da Entwickler die Lösung zunehmend verwenden. Damit werden sich auch WebRTC-basierte vernetzte Güter zunehmend ausbreiten, zum Beispiel industrielle Systeme für die Wartung von Anlagen außerhalb des Unternehmens, Smart-Home-Geräte, Telemedizin-Apps, intelligente Fahrzeuge, die Telemetriedaten in Echtzeit erfassen, und Wearables.

Entwickler von Drittanbietern können Restful-APIs nutzen, um WebRTC-basierte eingebettete Kommunikation zu erstellen und Sensordaten von vernetzten Geräten zu nutzen, um Warnmeldungen zu erhalten oder Sprachanrufe und Videoanrufe zu starten.

WebRTC bietet ein neues Sicherheitsniveau für IoT-Anwendungen und kann als sicherer Weg zur Datenübertragung genutzt werden. Und schließlich ist die Technologie viel mehr als nur Audio- und Videostreaming. Ein auf WebRTC basierendes Heimsicherheitssystem kann eine Live-Videoübertragung anbieten, die wiederum Daten von einem vernetzten Schloss verwendet, um festzustellen, welche Tür offen ist.