WebRTC

WebRTC (Web Real-Time Communication) is een opensourceprotocol opgesteld door het World Wide Web Consortium (W3C).[1] Dit protocol stelt softwareontwikkelaars in staat om web applicaties voor spraak- en videogesprekken en p2p-bestandsuitwisseling te bouwen zonder noodzaak voor extra plug-ins of software van derden.
Geschiedenis
WebRTC werd ontwikkeld door het engineeringteam van Google Hangouts. Tijdens de ontwikkeling van de Google Video Chat-plug-in ontstond het idee om de video- en spraaktechnologie direct in de webbrowser te integreren.
Hiertoe vereist Google een videocodec en een spraakgenerator. Begin 2010 kocht Google On2 Technologies, de eigenaar van de VP8-videocodec, waarna de VP8-videocodec als open-source is aangeboden voor het gebruik in zowel WebRTC als in de HTML5-videotag.[2] Iets later nam Google het Zweedse GIPS (Global IP Solutions) over. De GIPS-technologie vormt de basis van de spraakgenerator in de Google Chrome-uitvoering van WebRTC.
In 2010 investeerde Google in totaal 200 miljoen dollar in WebRTC. De IETF richtte in april 2011 de WebRTC-werkgroep op. Deze kreeg de verantwoordelijkheid om de protocollen, die gebruikt worden in WebRTC, te standaardiseren.[3] In mei 2011 werd de W3C WebRTC-werkgroep opgericht om een set van gestandaardiseerde api's te ontwikkelen die de deelnemende browserverkopers zouden uitvoeren.[4]
Functionaliteit
WebRTC-applicaties ondersteunen verschillende functies, namelijk:
- Realiseren van audio- en videostreaming of andere data.
- Ophalen van netwerkinformatie zoals IP-adressen, poorten en uitwisseling van deze gegevens met andere WebRTC-clients om verbinding in te schakelen, zelfs via NAT en firewalls.
- Informatie uitwisselen over media- en clientfaciliteit, zoals de resolutie en de codecs die worden gebruikt.
Ontwerp
De belangrijkste onderdelen van WebRTC zijn:
- getUserMedia: dit geeft de webbrowser toegang tot de camera en microfoon.
- PeerConnection: de WebRTC-component die een stabiele en efficiënte communicatie van datastreaming tussen peers behandelt.
- DataChannels: hiermee delen browsers gegevens via peer-to-peer (p2p). De RTCDataChannel-API maakt peer-to-peeruitwisseling van willekeurige data mogelijk, met een lage latentie (vertraging) en een hoge doorvoer.
Ondersteuning
WebRTC wordt ondersteund door volgende browsers:
- Google Chrome: de eerste browser die zowel getUserMedia en PeerConnection ondersteunde. De RTCDataChannel API wordt nog niet ondersteund.[bron?]
- Apple Safari: Safari ondersteunt de WebRTC API's sinds 2017.[5]
- Microsoft Edge
- Mozilla Firefox: deze ondersteunt alle drie de WebRTC API’s
- Opera: Opera 12 ondersteunt alleen de getUserMedia API.
Andere partijen zoals Microsoft, Ericsson, Cisco en kleinere real-time-communicatiebedrijven bieden momenteel[(sinds) wanneer?] nog geen ondersteuning.
Mobiele browsers
De webbrowsers Chrome, Firefox en Opera ondersteunen WebRTC ook op Android. De mobiele versie van Firefox ondersteunt WebRTC sinds 17 september 2013.[6] Google Chrome heeft ondersteuning vanaf versie 28 (deze staat standaard aan in 29+) en ook Opera Mobile 12+ ondersteunt WebRTC. Sinds Apple iOS 11 ondersteunt ook de mobiele versie van Safari WebRTC .
Voordelen
- Betere videokwaliteit: WebRTC-videokwaliteit is merkbaar beter dan Flash.
- Verminderde audio/video latentie: WebRTC biedt een significante verbetering in latentie, hetgeen natuurgetrouwe gesprekken toestaat.
- Tot zesmaal snellere verbindingstijden
- Native HTML5-elementen: Met de nieuwe videotag in HTML5, is de vormgeving bewerkbaar zoals elk ander element op een webpagina.
Nadelen
- Browserincompatibiliteit:
- De verschillende WebRTC-applicaties worden nog niet ondersteund in alle browsers en het is nog niet mogelijk dat WebRTC-applicaties samenwerken tussen alle browsers.
- Webbrowsers kunnen het niet eens worden over welke videocodec gebruikt moet worden in WebRTC. Google Chrome, Mozilla Firefox en Microsoft Edge gebruiken VP8 en VP9.
Verschillende codecs:
| Bedrijf | VP8 | H.264 |
|---|---|---|
| X | ||
| Mozilla | X | |
| Opera | X | |
| Cisco | X | X |
| Microsoft | X | X |
| Apple | X | |
| Ericsson | X |
Zie ook
Externe links
- Officiële website
- W3C Web Real-Time Communications werking groep
- IETF Real-Time Communication in WEB-browsers (webrtc) werkgroep
- Google's open source WebRTC software project
- ↑ Alan B Johnston & Daniel C Burnett (2013). Webrtc - APIs and Rtcweb Protocols of the Html5 Real-Time Web. Applicatieontwikkeling: 1-274. Gearchiveerd op 12 oktober 2013. Geraadpleegd op 6 november 2013.
- ↑ Google release of WebRTC source code from Harald Alvestrand on 2011-05-31. [email protected]. Geraadpleegd op 6 november 2013.
- ↑ Charter of the Real-Time Communication in WEB-browsers (rtcweb) working group
- ↑ WebRTC 1.0: Real-time Communication Between Browsers. Dev.w3.org. Geraadpleegd op 6 november 2013.
- ↑ (en) Announcing WebRTC and Media Capture
- ↑ (en) WebRTC Now Available Across Mobile and Desktop with new Firefox for Android Compatibility
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.