Homepagina > Blog > WebRTC

WebRTC

dinsdag 5 februari 2013, door wim

WebRTC is Google technologie. Web Real Time Communication, voluit. Het is een manier om stem- en beeldcommunicatie te doen in de browser. Daarmee kan je chatten, bellen, texten, of hoe je ’t ook wil noemen, met beeld met eender welk groepje van mensen die je zelf kiest. Maximum 10 personen per groepje. En dat is eerder een praktische dan een theoretische limiet. Bepaald door bandbreedte en snelheid van de computer.

Je zou het kunnen gebruiken om te bellen-met-beeld met de bomma, of te jammen en te praten met een muzikant aan de andere kant van de wereld.

Er zijn plugins voor zowat alle browsers, maar zowel Google’s Chrome als Mozilla’s Firefox 18 ondersteunen het al zonder plugin, "native’", dus.

Verschillen

Tot zover niks echt nieuws, hoor ik je al denken. Toch, het is groot nieuws. Want het gebeurt niet via een centrale server, maar direkt. Peer-to-peer (P2P), zoals dat heet. Jouw browser communiceert direkt met de browser van je groepje. Alleen voor het vinden heb je nog een server nodig. En natuurlijk biedt Google al meteen een gratis server dienst aan.

Maar dat is echt niet de enige manier waarop WebRTC uniek is:

Open source

Google’s WebRTC technologie is open source. Het is ook een HTML 5 protocol, maar geen "toepassing" op zich. Dat betekent dat iedereen er code kan voor maken. Het draait al met een paar javascriptjes naast je webpagina. Even simpel aan te roepen als alle andere javascripts.

Javascript

Doordat Javascript in de browser loopt, is er voor zowat elk platform een geschikte browser.

Audio

De audio zal een geluidstechnieker niet meteen doen achteroverslaan. Digitaal, natuurlijk, maar max. 2 kanalen aan 16 of 32 KHz. 16 is telefoon kwaliteit, 32 is analoge FM radio kwaliteit. Bummer?

Server = Google?

Ook privacy is vrij goed geregeld. Je hoeft de gratis aangeboden Google server niet te gebruiken. Je kan makkelijk een eigen server opzetten met een paar lijnen in een script in de taal naar keuze. Of je kan de server van andere "derden" vertrouwen. Dat kan die van Facebook zijn, of van de plaatselijke voetbalclub. Dat is één van de sterkste argumenten voor WebRTC. Iedereen kan het implementeren.

W3C stuurgroep

WebRTC is een protocol dat nog niet als standaard vastgelegd is door de standaarden organisatie die HTML regelt. Maar met een moloch als Google erachter en zelfs Microsoft als actief lid van de W3C stuurgroep. Alleen Apple is de grote afwezige. Zo goed als geen interesse voor dit protocol.

Microsoft

Schrijf nooit iets positief over Microsoft. It’ll bite you in the ass BIG TIME!

Nog geen twee dagen nadat ik het als een voordeel zag dat ook Microsoft actief deel uitmaakte van de stuurgroep, kondigt MS aan dat ze een eigen versie gaan brengen. De redenen die ze daarvoor opgeven, zijn samen te vatten als "slappe lulkoek". Het zou niet goed genoeg zijn. Lees: het bevat geen codecs waar zij controle over hebben. Het protocol is ook nog niet gefinaliseerd, dus waarom niet gewoon meewerken aan een verbeterde versie? Maar nee, hun voorstel is afgekeurd door de meerderheid, dus verlaten ze ’t clubje. Niet dat dat iemand in de open source hoek ook maar iets verbaasd. Daar hoor je meteen dat ze er alleen maar ingestapt zijn om te kopiëren en te saboteren.

Implementatie

Een voorbeeld van implementatie is onderstaande OpenTOK knop:

Dit voorbeeld vereist één scriptje van deze provider in je HTML. Daarin wordt de aanbieder geïdentificeerd en die heeft z’n eigen chatroom. Elke deelnemer moet natuurlijk ook een (gratis of betalende) OpenTOK account hebben. Gratis is ongelimiteerd voor gesprekken met twee en beperkt tot zo’n veertig uren per maand voor gesprekken met z’n drie of meer. En zo ziet het scriptje er uit:

< script src = " http : // api.opentok.com/hl/embed/identificatie/button.js " type=" text/javascript " charset = " utf-8 " >< / script >

Het scriptje laadt van de server van de aanbieder en verder verloopt de communicatie tussen de brwosers van de gebruiker onderling. OpenTOK van TOKbox is interessant, want ze hebben ook een oplossing voor browsers die nog geen WebRTC ondersteunen. Dat via Flash, wat minder performant qua beeld en geluid.

Een alternatief is EsayRTC. Het is meer een doe-het-zelf oplossing dan OpenTOK dat meer een drop-in oplossing is. Maar het biedt dan ook meer mogelijkheden. En EasyRTC komt met een BSD2 licentie, dus je mag zelf de code uitbreiden, aanpassen en er verder mee doen wat je wil.

En vermits het maar om enkele simpele scriptjes gaat, kan zelfs een als server dienen. Er is immers helemaal geen "heavy lifting" aan voor de server omdat de UDP video communicatie tussen de browsers verloopt en de server niet belast.

De documentatie voor WebRTC kan je op deze Google site vinden. En de officiële WebRTC organisatie site vind je hier.

Dit artikel beantwoorden

SPIP | | Overzicht van de site | De activiteit van de site opvolgen RSS 2.0