WebRTC (Web Real-Time Communications) je soubor otevřených standardů pro komunikaci v reálném čase, vyvinutý zejména pracovními skupinami WebRTC konsorcia W3C (World Wide Web Consortium) a RTCWEB (Real-Time Communication in Web-browsers) komunity IETF (Internet Engineering Task Force).
W3C soustřeďuje svoji práci ohledně WebRTC zejména na aplikační programová rozhraní (API – Application Programming Interfaces) prohlížeče, aby bylo možno mít přístup ke zdrojům videa a audia. IETF vytvořila skupinu RTCweb pro práci na rozhraní mezi prohlížeči a definování (signalizačních) protokolů.
WebRTC [19] otevírá možnosti pro komunikaci v reálném čase, jako např. audio a video hovory, sdílení obrazovek a videokonference v rámci webových prohlížečů, ale bez použití dodatečného software (jsou požadovány pouze moderní webové prohlížeče). Toto umožňuje webovým vývojářům snadnou implementaci funkcí WebRTC jen použitím HTML5 (Hypertext Markup Language version 5) a různých API jazyka JavaScript.
Kromě toho, že nabízí výkonný decentralizovaný mediální nástroj v rámci prohlížečů, má WebRTC i další výhody, jako otevřený kód a rozhraní API, volně šiřitelné audio a video kodeky (adaptivní, s vysokým rozlišením) a zabudovanou síťovou podporu (např. šifrování či prohledávání sítě).
Díky způsobu, jakým je navržen, však není WebRTC omezen pouze na použití v rámci prohlížečů. Může být použit prostřednictvím aplikací a nativních implementací, takže takřka každé moderní zařízení připojené k síti – počítače, tablety, nebo dokonce televizory – se může stát rovnocennou entitou WebRTC, a tedy plnohodnotným komunikačním zařízením. Tyto účastníky komunikace můžeme nazývat rovnocennými klienty (peer) WebRTC a chápat jako synonymum kompletního komunikačního zařízení. Nejrevolučnějším prvkem WebRTC je tedy jeho komunikační koncepce.
Na rozdíl od jiných systémů pro komunikaci v reálném čase nevyžaduje WebRTC rozsáhlou infrastrukturu, která by obstarávala komunikační provoz mezi jednotlivými stranami (peers).
Ve WebRTC se obvykle vyžívají dvě komunikační schémata – základní schéma, označované jako WebRTC trojúhelník, a vylepšené schéma, nazývané WebRTC lichoběžník.
V případě trojúhelníkového schématu (viz Obr. 10) se nejprve všechny navzájem komunikující strany (peers), respektive prohlížeče, připojí k webovému serveru. Tento server poskytuje webovou aplikaci WebRTC, často implementovanou jako kód v JavaScriptu, který volá sadu rozhraní API poskytovaných rovněž webovým serverem. Při spojování relace WebRTC se tyto požadavky na API používají k sestavování signalizačního kanálu. Signalizace pro WebRTC není standardizována, a proto závisí na konkrétní implementaci WebRTC. Přenos uživatelských dat (audio, video i jiných) se uskutečňuje prostřednictvím tzv. PeerConnection, tedy spojení, které je zřízeno přímo mezi jednotlivými rovnocennými partnery (peers).
Obr. 11 znázorňuje lichoběžníkové komunikační schéma, které se používá pro komunikaci mezi partnery, kteří nejsou připojení na stejný webový server. V tomto případě komunikace přes webové servery se děje pomocí signalizačního protokolu např. SIP. Ale přenos uživatelských dat přes relaci PeerConnection, zůstává nezměněný, a proto je realizován přímo mezi jednotlivými partnery (peers).