WebRTC: Bellen, videobellen, chatten en bestanden uitwisselen via de browser

WebRTC

Met WebRTC kun je WebRTC (Web Real-Time Communication) is een opensourceprotocol om web applicaties te bouwen waarmee je kunt bellen, videobellen of bestanden kunt uitwisselen. Er is geen software van 3e partijen vereist, zelfs geen installatie van updates of plugins.

Dit is belangrijke stap voor eenvoudige communicatie. Daarom Sping is al sinds de Lancering in 2011 fan van WebRTC, we leggen graag uit waarom!

Een paar van onze WebRTC projecten

videoverbinding voor de zorg
Digitale Spreekkamer verbindt zorgverlener en patiënt met video.

Kinly videoverbinding voor de zorg

De Digitale Spreekkamer is cloudtechnologie voor video consults, waardoor de communicatie tussen zorgverlener en patiënt (op afstand) makkelijker en beter rondom de patiënt kan worden georganiseerd.

Bekijk de case
advanced oncotherapy
Patientmonitoring via WebRTC

Advanced Oncotherapy

Sping ontwikkelt Proof-of-Concept t.b.v. totaalconcept medische workflow én patiëntmonitoring op basis van WebRTC en Kurento.

Bekijk de case
rtl late night
RTL Wall betrekt tv-kijkers live bij programma’s van RTL4 door videoverbinding

RTL Wall

RTL Wall betrekt tv-kijkers live bij programma’s van RTL4 door videoverbinding RTL Wall zorgt voor extra dimensie bij live uitzendingen Sping heeft meegewerkt aan een innovatieve concept om met video tv-kijkers te betrekken bij programma’s van RTL4: de RTL wall. Hiermee is het mogelijk om bekende Nederlandsers en kijkers van RTL-programma’s zoals RTL Late Night en RTL Boulevard deel te laten…

Bekijk de case

Wat is WebRTC

Real-Time Communicatie (RTC) via de webbrowser is vaak een moeizame exercitie. Om via een browser omgeving te kunnen communiceren, moet de gebruiker eerst een plug-in zoals Adobe Flash of een specifieke browser extensie downloaden en installeren. Alleen dit downloaden en installeren kan al een complex, tijdrovend en foutgevoelig proces zijn. En dan is het nog maar de vraag of interoperabiliteits problemen een goede verbinding niet in de weg staan. Toepassingen zoals Skype en Apple FaceTime hebben weer de beperking dat er alleen communicatie mogelijk is met de personen in de contactlijst en dat aan beide kanten van de verbinding dezelfde applicatie aanwezig moet zijn.

Industriestandaard

Veel van deze problemen moeten tot het verleden behoren met WebRTC, een standaard die momenteel wordt onderhouden door het World Wide Web Consortium (W3C) en de Internet Engineering Task Force (IETF). Deze opkomende standaard stelt software ontwikkelaars in staat om – met behulp van eenvoudige JavaScript API’s en HTML5 – web applicaties voor spraak- en videogesprekken en p2p-bestandsuitwisseling te bouwen die direct in de browser zijn te gebruiken. Zo moet het mogelijk zijn om zonder de installatie van plug-ins of software van derden een videochat op te zetten tussen browsers

RTC Transformatie

WebRTC moet de manier waarop we online communiceren drastisch veranderen. “WebRTC vormt het nieuw front in de lange oorlog voor een open web zonder beperkingen[1]”, zo is dan ook de stellige overtuiging van JavaScript-uitvinder Brendan Eich. Of zoals Phil Edholm, een blogger en consultant met een jarenlange ervaring in de communicatie-industrie, het enkele jaren geleden al verwoordde: “Samen met HTML5 kan WebRTC zorgen voor een transformatie van realtime communicatie vergelijkbaar met wat de originele browser heeft gedaan voor informatie.[2]”

WebRTC is de nieuwe industrie standaard en dit komt door:

Architectuur

Een groot onderdeel van WebRTC is de manier waarop het is gemaakt. De Architectuur van de software maakt het uniek, omdat de architecten ‘digital real time communication freedom’ als ijkpunt hadden. En dit zie je terug in elk onderdeel van de software, van encryptie tot en met het gemak waarmee de api’s opgezet kunnen worden. Hierdoor proberen ze de software voor iedereen toegankelijk en veilig te maken met het optimale behoud van vrijheid.

Onafhankelijkheid

Een groot voordeel van WebRTC is dat de communicatie niet meer afhankelijk is van client software of plug-ins of van een leverancier of communicatieplatform. Ieder apparaat met een browser – of dat nu een smartphone, tablet of zelfs een smart-tv is – kan deelnemen aan de realtime communicatie. En zoals we verderop nog zullen zien, is zelfs de aanwezigheid van een WebRTC-geschikte webbrowser geen strikte vereiste; de mogelijkheden om te communiceren via WebRTC kunnen ook zijn geïntegreerd in bijvoorbeeld een bedrijfsapplicatie of mobiele app.

JavaScript API’s

De enige voorwaarde voor het succesvol opzetten van een verbinding is dat alle ‘peers’ die aan een gesprek deelnemen een fundamentele set aan Real-time Transport Protocol (RTP)- en Application Programming Interface (API)-standaarden ondersteunen.

Binnen de browser gaat een groot deel van de complexiteit schuil achter een drietal JavaScript API’s:

Encryptie

WebRTC stelt encryptie verplicht voor zowel de media als de data.

WebRTC stelt encryptie verplicht voor zowel de media als de data. De gebruikten encryptiemethoden zijn https voor de signaling, het Secure Real-Time Transport Protocol (SRTP) voor de audio en video en Datagram Transport Layer Security (DTLS) voor de data. Ook op het vlak van ‘connection establishment’ omarmt WebRTC een aantal geavanceerde technologieën die ervoor moeten zorgen dat de verbinding ook onder ongunstige netwerkomstandigheden succesvol kan worden opgezet.

Usecases

Websites met ingebedde communicatiemogelijkheden. Door voice, video en berichten- en bestandsuitwisseling te integreren in een website kan bijvoorbeeld een webshop eenvoudiger contact onderhouden met zijn klanten. Een klant kan met een druk op de knop een videoverbinding opzetten met een support- of salesmedewerker.

(Zakelijke) applicaties met ingebedde communicatiemogelijkheden. In dit geval is de ‘conversatie’ slechts een onderdeel van een groter geheel.

Mobiele clients voor Voice over IP en Unified Communications waardoor zakelijke communicatie ook beschikbaar komt op de smartphones en tablets die door de werknemers worden meegenomen (Bring Your Own Device).

Applicaties die de tools bieden voor het opzetten van bijvoorbeeld videovergaderingen, webinars, presentaties, et cetera.

Ondersteuning

WebRTC vereenvoudigt de manier waarop bedrijven met elkaar en met klanten communiceren en verkleint de afhankelijkheid van het huidige ecosysteem van hardware, carriers en serviceproviders. Met WebRTC komt de kracht van communicatie te liggen in de handen van de webdevelopers die met behulp van de geschetste HTML5- en JavaScript API’s realtime multimedia-applicaties kunnen ontwikkelen. De verwachting is dan ook dat er een rijk ecosysteem ontstaat van interoperabele WebRTC-applicaties en -diensten.
WebRTC wordt inmiddels ondersteund door een hele reeks leveranciers van onder andere developertools, telco- en mediagateways en call center-, unified communications en video-oplossingen. Hieronder bevinden zich ook leveranciers die oplossingen bieden om WebRTC middels ‘service enablers’ te integreren binnen de zakelijk Unified Communications-omgeving. Een voorbeeld hiervan is Pexip waar wij ruime ervaring mee hebben voor onze projecten voor VisionsConnected.

Browsers

Schermafbeelding 2020 04 22 om 10.59.44 1024x572 1

Browsersupport WebRTC 2020 (bron: ivrpowers.com)

WebRTC word ondersteund door meer dan 70% van de Web browsers. De belangrijkste voorwaarde voor een succes van WebRTC is echter dat er voldoende browsers zijn die de nieuwe standaard ondersteunen zodat er een ‘kritische massa’ is die gebruik kan maken van de nieuwe technologie. De kritische massa die nodig is om de manier waarop we communiceren definitief te veranderen, lijkt inmiddels bereikt. WebRTC werd al ondersteund door de populaire webbrowsers Google Chrome, Mozilla Firefox en Opera.  Daar komt bij dat Chrome ook de standaard browser is op tablets en smartphones met een recente versie van Google’s mobiele besturingssysteem Android.
Inmiddels ondersteunt ook Microsoft (Edge) WebRTC en zal Apple (Safari voor MacOS en iOS) op korte termijn volgen.
Daarbij bezigt Microsoft zich ook met het vergelijkbare Object Real-Time Communications (ORTC) Naar verluidt streeft Google, dat ook heeft meegeschreven aan ORTC, ernaar om ORTC te integreren in versie 1.1 van WebRTC. Deze ontwikkelingen zullen de snelheid van acceptatie verder verhogen.