Technologia
WebRTC
Web Real-Time Communication
Definicja
Otwarty standard technologiczny umożliwiający przeglądarkom internetowym i aplikacjom mobilnym nawiązywanie bezpośredniej komunikacji w czasie rzeczywistym (audio, wideo, dane) w modelu Peer-to-Peer, bez konieczności instalowania wtyczek.
Kluczowe cechy i filary technologiczne:
- Model Peer-to-Peer (P2P): dane multimedialne są przesyłane bezpośrednio między użytkownikami, co minimalizuje opóźnienia (latency) i odciąża serwery. Serwery pośredniczące używane są głównie do zestawienia połączenia (sygnalizacja) lub w przypadku blokad sieciowych (serwery TURN).
- brak wtyczek (Plugin-free): technologia jest natywnie wbudowana w silniki przeglądarek (Chrome, Firefox, Safari, Edge), co eliminuje konieczność instalowania Flash'a czy innych zewnętrznych komponentów.
- bezpieczeństwo (Secure by Default): szyfrowanie jest obligatoryjne. WebRTC wymusza stosowanie protokołów DTLS (Datagram Transport Layer Security) dla danych oraz SRTP (Secure Real-time Transport Protocol) dla mediów. Nie można nawiązać połączenia WebRTC bez szyfrowania.
-
trzy główne interfejsy API:
- MediaStream (GetUserMedia): pozyskiwanie obrazu z kamery i dźwięku z mikrofonu.
- RTCPeerConnection: obsługa połączenia P2P, kodowania, i transmisji mediów.
- RTCDataChannel: dwukierunkowy kanał do przesyłania dowolnych danych binarnych z niskim opóźnieniem (np. dla gier online).
- pokonywanie barier sieciowych (NAT Traversal): wykorzystuje mechanizm ICE (Interactive Connectivity Establishment) oraz serwery STUN i TURN, aby połączyć użytkowników znajdujących się za firewallami lub w prywatnych sieciach NAT.
- adaptacyjna jakość: automatyczne dostosowywanie jakości strumienia (bitrate) do aktualnych warunków sieciowych, aby zapobiec zrywaniu połączenia.