Czym jest WebRTC?
Published: 2024-03-05 21:03:41

### Definicja WebRTC

[WebRTC](https://webrtc.org/)WebRTC, skrót od Web Real-Time Communication, to projekt typu open-source, który zapewnia komunikację peer-to-peer w czasie rzeczywistym dla danych, audio i wideo między dwoma punktami końcowymi, takimi jak przeglądarki internetowe lub aplikacje korzystające z interfejsów API JavaScript. Technologia ta doczekała się znacznych postępów i ulepszeń od czasu jej powstania, w tym lepszego przechodzenia przez sieć, ulepszonego przesyłania strumieniowego danych i możliwości przepustowości. Biorąc pod uwagę jego solidne funkcje, WebRTC zyskał szerokie zastosowanie w różnych sektorach, w tym w e-learningu, [telezdrowiu](https://www.pubnub.com/solutions/digital-health/) i [narzędziach do współpracy w czasie](https://www.pubnub.com/solutions/multiuser-collaboration/) rzeczywistym, umacniając swoją pozycję na obecnym rynku.

### Historia WebRTC

WebRTC został po raz pierwszy wydany w 2011 roku przez Google i z czasem uzyskał wsparcie głównych firm, takich jak Apple, Microsoft, Mozilla i Opera. Jego kompatybilność zarówno z przeglądarkami mobilnymi, jak i stacjonarnymi, takimi jak Google Chrome, Safari, Mozilla Firefox, Edge i inne, pozwala programistom na integrację funkcji komunikacyjnych bezpośrednio z aplikacjami opartymi na przeglądarce lub aplikacjami mobilnymi bez konieczności stosowania dodatkowych wtyczek.

W ostatnich latach WebRTC odnotował gwałtowny wzrost popularności ze względu na postępy w łączności internetowej i zapotrzebowanie na aplikacje do komunikacji w czasie rzeczywistym. Jego ciągła ewolucja jest świadectwem wspólnych wysiłków społeczności technologicznej, w tym korporacji, niezależnych współpracowników i organów normalizacyjnych.

### Typowe przypadki użycia WebRTC

WebRTC obsługuje wiele przypadków użycia, od rozmów audio i wideo w czasie rzeczywistym oraz czatów po udostępnianie plików peer-to-peer. Postęp technologiczny jeszcze bardziej rozszerzył zastosowanie WebRTC na opiekę zdrowotną, platformy transmisji strumieniowej na żywo i wideokonferencje:

-   Czat z obsługą klienta w przeglądarce / w aplikacji, teraz wzbogacony o funkcje takie jak udostępnianie ekranu i adnotacje w czasie rzeczywistym.
    
-   Aplikacje telemedyczne ułatwiają połączenia wideo / audio lekarz-pacjent, wspomagając komunikację wideo, obsługując teraz strumienie w wysokiej rozdzielczości i bezpieczne kanały danych do udostępniania dokumentacji medycznej.
    
-   Udostępnianie plików peer-to-peer jest teraz w stanie obsługiwać większe pliki i szybsze prędkości transferu.
    
-   Platformy do gier w czasie rzeczywistym i transmisji strumieniowej na żywo, z możliwościami transmisji strumieniowej WebRTC o niskim opóźnieniu.
    
-   Narzędzia do współpracy obejmujące konferencje wideo i audio na żywo, edycję dokumentów i nie tylko.
    

![](https://www.pubnub.com/cdn/3prze68gbwl1/6RGxRNvHpjDnS55Yackzm8/5c5d8953204d4735a8e1c9ba5fc23859/PeertoPeer.jpg)

### Jak działa WebRTC?

WebRTC działa poprzez połączenie dwóch przeglądarek za pośrednictwem RTCPeerConnection, ułatwione przez protokoły sygnalizacyjne, takie jak Session Description Protocol (SDP). Procedury przechodzenia przez sieć, takie jak protokoły STUN (Session Traversal Utilities for NAT) i TURN (Traversal Using Relays around NAT), zostały włączone do mechanizmu roboczego WebRTC w celu obsługi łączności w różnych scenariuszach sieciowych. Obejmuje to nawiązywanie bezpośredniego połączenia nawet przez zapory sieciowe lub NAT, określanie publicznych adresów IP i przekazywanie danych w razie potrzeby za pomocą serwerów TURN.

### Korzystanie z WebRTC poprzez RTCPeerConnection

WebRTC zapewnia interfejs RTCPeerConnection do konfigurowania połączenia peer-to-peer. RTCPeerConnection umożliwia ustanowienie połączenia z niskimi opóźnieniami, wysokiej jakości połączeniami głosowymi i wideo, obsługując przetwarzanie sygnału, obsługę kodeków, komunikację peer-to-peer, bezpieczeństwo i zarządzanie przepustowością. Dodatkowe metody, takie jak getStats(), zostały wprowadzone w celu pobierania danych statystycznych o połączeniu, pomagając programistom w monitorowaniu i optymalizacji wydajności połączenia.

### Jak korzystać z WebRTC poprzez RTCDataChannel i MediaStream

WebRTC umożliwia wymianę danych za pośrednictwem RTCDataChannel, komponentu RTCPeerConnection. Interfejs API RTCDataChannel umożliwia dwukierunkową komunikację dowolnych danych między urządzeniami równorzędnymi. Wykorzystuje on protokół Stream Control Transmission Protocol (SCTP), zapewniając niezawodny i bezpieczny transfer danych oraz otwierając możliwe przypadki użycia bezpośredniego udostępniania plików i gier w czasie rzeczywistym. Interfejs API MediaStream, znany również jako getUserMedia, umożliwia dostęp do lokalnych kamer i mikrofonów za zgodą użytkownika. Ostatnie aktualizacje umożliwiają bardziej szczegółową kontrolę nad strumieniami multimediów, na przykład dostosowywanie rozdzielczości wideo, liczby klatek na sekundę i jakości dźwięku.

**Jak używać PubNub i WebRTC do tworzenia aplikacji**
-----------------------------------------------------

![](https://www.pubnub.com/cdn/3prze68gbwl1/4QbGEgmhK9dXPOVj0XHIiv/4a6775807145a9efcd70e83e638a2f30/WebRTC-Diagram.png)

Początkowo potrzebny jest sposób na przesłanie SDP z przeglądarki A do przeglądarki B. Sieć PubNub może być używana jako serwer sygnalizacyjny dla tych aplikacji. Funkcje, takie jak obecność i przechowywanie/odtwarzanie, mogą być również wykorzystywane do ulepszania tych aplikacji.

Dzwoniąc do innego użytkownika za pośrednictwem protokołu WebRTC lub aplikacji, dzwoniący musi wiedzieć, czy osoba, do której dzwoni, jest obecnie online czy offline oraz z jakiego urządzenia korzysta, czy jest dostępna, aby odebrać połączenie itp.

Obecność zapewnia wszystkie te informacje i umożliwia pokazanie użytkownikom, z którymi mogą się połączyć. Ma to zasadnicze znaczenie dla sygnalizacji, aby uniemożliwić użytkownikom próbę połączenia się z innymi użytkownikami, którzy nie są dostępni.

### Uwaga dotycząca protokołu WebRTC i wiadomości tekstowych

Protokół WebRTC nie zapewnia możliwości przechowywania, w wyniku czego nie ma zapisów dotyczących wysłanych wiadomości. W szczególności w przypadku czatu tekstowego użytkownicy oczekują historii poprzednich rozmów. PubNub's [Przechowywanie/Odtwarzanie](https://www.pubnub.com/blog/getting-started-swift-pubnub-storage-playback-presence/) pozwala użytkownikom zobaczyć historię poprzednich rozmów w wybranym okresie czasu.

PubNub zapewnia:

-   Sygnalizację SDP
    
-   [Status obecności](https://www.pubnub.com/how-to/admin-portal-presence/)
    
-   Przechowywanie wiadomości czatu
    

WebRTC vs. WebSockets
---------------------

[WebSockets](https://www.pubnub.com/blog/what-are-websockets/) zapewniają oparty na protokole TCP, w pełni dupleksowy protokół komunikacyjny między klientem a serwerem. Z kolei WebRTC obsługuje wymianę peer-to-peer przez UDP, umożliwiając strumienie danych wideo i audio w czasie rzeczywistym. Różnica między WebRTC i WebSockets stała się bardziej znacząca wraz z rosnącym zapotrzebowaniem na aplikacje działające w czasie rzeczywistym, co skłoniło wielu programistów do wykorzystania unikalnych zalet obu technologii.

**Jak używać audio i wideo z WebRTC**
-------------------------------------

Dzięki WebRTC komunikacja wideo i głosowa może być łatwo zaimplementowana na dowolnej stronie internetowej. Dodaje to zaawansowane poziomy interakcji do strony internetowej, umożliwiając użytkownikom komunikację w kontekście i w czasie rzeczywistym, zarówno z operatorami strony, jak i między sobą. Takie możliwości są bardziej pożądane niż obecne ograniczenia, w których użytkownicy muszą zadzwonić pod numer, pobrać wtyczkę lub opuścić witrynę. Przykładowo, strona internetowa instytucji finansowej mogłaby z łatwością osadzić aplikację komunikacyjną WebRTC, aby umożliwić użytkownikom szybką rozmowę z przedstawicielem finansowym (zamiast zmuszać ich do korzystania z telefonu w celu niekończącej się rozmowy z automatycznym przedstawicielem).

Innym przykładem WebRTC z głosem i wideo może być aplikacja do czatu wideo podobna do Skype'a, która może być używana całkowicie w przeglądarce internetowej. Oznacza to, że użytkownicy końcowi nie muszą instalować żadnego oprogramowania ani wtyczek i mogą łatwo łączyć się ze sobą za pośrednictwem czatu wideo, audio i tekstowego, przeglądarka do przeglądarki. Stworzyliśmy [WebRTC.co, aplikację do czatu wideo JavaScript](https://www.pubnub.com/blog/integrating-video-calling-in-chat-with-webrtc-and-pubnub/) która działa całkowicie na [WebRTC i PubNub](https://github.com/stephenlb/webrtc-sdk).

![](https://www.pubnub.com/cdn/3prze68gbwl1/3hU9HWjdkEj3Y15NfmostG/aa805363e6a0d2afe4b1d365e1625201/WebRTCSkype.png)

**Jaka jest przyszłość WebRTC?**
--------------------------------

Jako usługa wideo i transmisji danych, WebRTC jest praktycznie tutaj, aby pozostać; dzięki zaangażowaniu głównych graczy przeglądarek i zobowiązaniu do aktualizowania mobilnych i stacjonarnych interfejsów API, będzie można znaleźć coraz więcej aplikacji, które utrzymają konsumentów na platformie dzięki narzędziom obsługującym czaty wideo dla usług takich jak randki, [gry](https://www.pubnub.com/solutions/gaming/) i opieka zdrowotna.

#### Spis treści

[Definicja WebRTCHistoria](#h-0)[WebRTCCzęste](#h-1)[przypadki użycia WebRTCJak](#h-2)[działa WebRTC?](#h-3)[Korzystanie z WebRTC za pośrednictwem RTCPeerConnectionJak](#h-4)[korzystać z WebRTC za pośrednictwem RTCDataChannel & MediaStreamJak](#h-5)[używać PubNub i WebRTC do tworzenia](#h-6)[aplikacjiUwaga na temat protokołu WebRTC i wysyłania wiadomości tekstowychWebRTC](#h-7)[vs. WebSocketsJak](#h-8)[korzystać z audio i wideo za pomocą WebRTCJaka](#h-9)[jest przyszłość WebRTC?](#h-10)

Jak PubNub może ci pomóc?
=========================

Ten artykuł został pierwotnie opublikowany na [PubNub.com](https://www.pubnub.com/blog/what-is-webrtc/)

Nasza platforma pomaga programistom tworzyć, dostarczać i zarządzać interaktywnością w czasie rzeczywistym dla aplikacji internetowych, aplikacji mobilnych i urządzeń IoT.

Podstawą naszej platformy jest największa w branży i najbardziej skalowalna sieć komunikacyjna w czasie rzeczywistym. Dzięki ponad 15 punktom obecności na całym świecie obsługującym 800 milionów aktywnych użytkowników miesięcznie i niezawodności na poziomie 99,999%, nigdy nie będziesz musiał martwić się o przestoje, limity współbieżności lub jakiekolwiek opóźnienia spowodowane skokami ruchu.

Poznaj PubNub
-------------

Sprawdź [Live Tour](https://www.pubnub.com/tour/introduction/), aby zrozumieć podstawowe koncepcje każdej aplikacji opartej na PubNub w mniej niż 5 minut.

Rozpocznij konfigurację
-----------------------

Załóż [konto](https://admin.pubnub.com/signup/) PubNub, aby uzyskać natychmiastowy i bezpłatny dostęp do kluczy PubNub.

Rozpocznij
----------

[Dokumenty](https://www.pubnub.com/docs) PubNub pozwolą Ci rozpocząć pracę, niezależnie od przypadku użycia lub [zestawu SDK](https://www.pubnub.com/docs).