Skip to main content

Poradnik WebRTC

Tomasz Rzeźnik: WebRTC, komunikacja peer-to-peer [PL] - WarsawJS Meetup #50 (Czerwiec 2026)

Tomasz Rzeźnik: WebRTC, komunikacja peer-to-peer [PL] - WarsawJS Meetup #50 (Czerwiec 2026)
Anonim

Konwencjonalny sposób, w jaki odbywa się komunikacja głosowa i wideo, a także przesyłanie danych, opiera się na modelu klient-serwer. Musi istnieć serwer, który obsłuży oba urządzenia komunikacyjne i skontaktuje się z nimi. Dlatego komunikacja musi przejść przez chmurę lub główną maszynę.

WebRTC zmienia to wszystko. Przynosi komunikację do czegoś, co dzieje się bezpośrednio między dwoma maszynami, jednak są one blisko lub daleko. Działa również w przeglądarkach - nie trzeba pobierać i instalować czegokolwiek.

Kto jest za WebRTC?

Za tą koncepcją zmiany gry stoi zespół gigantów. Google, Mozilla i Opera już działają, aby go wspierać, a Microsoft wykazał zainteresowanie, ale pozostaje raczej pasywny, mówiąc, że wejdzie on w piłkę, gdy sprawa zostanie znormalizowana. Mówiąc o standaryzacji, IETF i WWWC pracują nad zdefiniowaniem i uformowaniem go w standard. Zostanie on ustandaryzowany do interfejsu API (Application Programming Interface), który programiści mogą wykorzystać do tworzenia prostych narzędzi komunikacyjnych, które mogą być używane w przeglądarkach.

Dlaczego WebRTC?

To, co stara się osiągnąć, było możliwe do tej pory tylko w dużych organizacjach dzięki użyciu drogich opłat licencyjnych i kosztownych zastrzeżonych wtyczek. Dzięki interfejsowi WebRTC API każdy, kto ma podstawową wiedzę programistyczną, będzie w stanie opracować niezawodne narzędzia do komunikacji głosowej i wideo oraz aplikacji internetowych do przesyłania danych. Web RTC przyniesie wiele korzyści, w tym:

  • Użytkownicy nie będą już musieli pobierać i instalować zastrzeżonych aplikacji. Muszą korzystać tylko z obsługiwanych przeglądarek WebRTC.
  • Niższa przepustowość będzie wymagana, ponieważ odległość pokonana podczas komunikacji zostanie zmniejszona poprzez wyeliminowanie połączeń serwerów i chmur.
  • W rezultacie będzie mniej opóźnień i wyższej jakości audio i wideo.
  • Dane będą bardziej efektywnie kierowane za pośrednictwem tej technologii.
  • Nie będzie już potrzeby używania wtyczek, takich jak Flash.
  • Łatwiej będzie opracować narzędzia do komunikacji. Używane będą natywne elementy HTML5.

Przeszkody stojące przed WebRTC

Istnieje wiele problemów, które zespoły pracujące nad WebRTC muszą rozwiązać, aby uzyskać coś rozstrzygającego. Wśród nich są następujące:

  • Który kodek należy użyć? Ponieważ gracze mają różne zainteresowania, nie uzgodnili jeszcze, czy używać H.264, VP8 lub innych kodeków.
  • Ponieważ technologia będzie oparta na przeglądarkach, kompatybilność z przeglądarką będzie problemem. Obsługują go tylko Chrome, Firefox i Opera. Brak przeglądarek z obsługą WebRTC będzie szkodliwy.
  • Standard nie jest jeszcze w pełni zdefiniowany, co stwarza problem w jego przyjęciu przez kluczowych graczy.

Przykład aplikacji WebRTC

Dobrym przykładem aplikacji WebRTC jest Cube Slam firmy Google, który pozwala grać w tenisa stołowego ze swoim znajomym, twarzą w twarz, niezależnie od odległości między tobą. Grafika gry jest renderowana za pomocą WebGL i ścieżki dźwiękowej, jeśli są dostarczane za pośrednictwem web audio. Możesz grać tak samo na cubelam.com. Możesz jednak odtwarzać go tylko na komputerze, ponieważ na razie mobilna wersja Chrome nie obsługuje jeszcze WebRTC. Takie gry zostały zaprojektowane zarówno w celu promowania Chrome i WebRTC. Do grania nie są wymagane żadne dodatkowe wtyczki, nawet Flash, pod warunkiem oczywiście, że masz najnowszą wersję Chrome.

WebRTC dla programistów

WebRTC to projekt typu open source. Interfejs API, który będzie dostarczany do komunikacji w czasie rzeczywistym (RTC) między przeglądarkami, jest w prostym kodzie JavaScript.

Aby lepiej zrozumieć WebRTC, obejrzyj ten film.