WEBRTC vs HLS: Porównanie protokołów strumieniowych
To powiedziawszy, kiedy programiści rozgałęziają się z aplikacji opartych na czatu, do których WEBRTC został zaprojektowany. W tym artykule dotyczy tego, jak działa strumieniowanie wideo WebRTC, korzyści, jakie zapewnia, ograniczenia WebRTC i jak je rozwiązać.
Dostarczanie wideo na żywo: streaming vs. WEBRTC
Tutaj w API.Wideo, rozmawiamy z wieloma programistami, którzy szukają sposobów na budowanie fajnych i innowacyjnych usług z wideo. Wielu wciąż zastanawia się nad wszystkimi swoimi przypadkami użycia i próbuje dopasować je do technicznych możliwości różnych usług wideo.
Streaming na żywo to jedna z funkcji, o której otrzymujemy wiele pytań. W API.wideo, Nasze rozwiązanie do przesyłania strumieniowego wideo wykorzystuje transmisję na żywo HTTP (HLS) do wideo na żywo. Inną technologią, o którą często jesteśmy pytani, jest WebRTC. Obie technologie są świetne, ale mają znacząco różne zastosowania. W tym poście przyjrzymy się funkcjom i zaletom obu oraz podstawowych aplikacji, do których są odpowiednie.
Co to jest HLS?
HTTP Live Streaming (HLS) został opracowany przez Apple i jest obecnie głównym sposobem, w jaki wideo jest dziś przesyłane strumieniowo w Internecie. „Streaming na żywo” w nazwie HLS jest nieco mylącym, ponieważ wideo nie musi być na żywo – YouTube, Netflix i inne usługi wideo na żądanie Użyj HLS do przesyłania strumieniowego wideo, który nie jest na żywo. Jest to zaleta korzystania z HLS do przesyłania strumieniowego na żywo – te same pliki używane do dostarczania wideo na żywo mogą być używane do odtwarzania wideo później „na żądanie”.
„HTTP” w HLS wskazuje, że wykorzystuje tradycyjne protokoły internetowe do przesyłania danych przez połączenie TCP. Film jest przecięty na małe segmenty i wysyłane z serwera do użytkownika. Odtwarzacz na urządzeniu użytkownika rekombinacja wideo do odtwarzania na podstawie pliku manifestu opartego na tekstach przesyłanych w segmentach wideo. To, co sprawia, że to potężne jest to, że jeśli masz różne wersje tego samego filmu (różne wymiary i transmisje transmisji), odtwarzacz może zoptymalizować dostawę na podstawie rzeczywistych warunków dla każdego użytkownika (przede wszystkim prędkość sieci i rozmiar ekranu).
Gdy wideo na żywo jest przesyłane za pomocą HLS, wideo jest wysyłane na serwer i jest przekodowane do segmentów w celu transmisji do użytkowników końcowych. To sprawia, że HLS jest idealny do przesyłania strumieniowego na żywo w strumieniach jeden do wielu-po nagraniu plików pliki są wysyłane jak każde inne żądanie HTTP, a ograniczenie jest zasadniczo serwerem hostującym wideo. (I oczywiście z CDNS ten narzut można dalej zmniejszyć).
Czas oczekiwania: Streaming HLS cierpi na około 6-15 sekund opóźnienia (i w zależności od architektur może być nawet dłuższe). Ponieważ wideo jest transkulowane na segmenty o skończonej długości, wideo musi być utrzymywane przez co najmniej tak długo, jak długość segmentu. Aby zmniejszyć błędy transmisji, niektórzy gracze wymagają przechowywania 2 segmentów w buforze odtwarzania przed rozpoczęciem odtwarzania, dalsze odtwarzanie czasu odtwarzania od dokładnego wydarzenia na żywo.
Uwaga: dziś wykonywane jest aktywne prace w celu zmniejszenia opóźnienia przesyłania strumieniowego HLS, a oczekuje się, że poprawi się w nadchodzących miesiącach (i API.Wideo inwestuje w przynoszenie HLS o niskich opóźnień naszym użytkownikom w najbliższej przyszłości).
Podsumowanie HLS: Solidne rozwiązanie do przesyłania strumieniowego do wielu użytkowników. Obecny stan HLS obejmuje opóźnienie 10-20 sekund, które sprawia, że HLS nie jest idealny do interaktywnych prezentacji. Filmy HLS są również dostępne do odtwarzania po wydarzeniu na żywo.
WEBRTC
„Web Real Communication” lub WebRTC to standard W3C, który jest obsługiwany we wszystkich przeglądarkach, umożliwiając – jak można się domyślać – komunikacja w czasie rzeczywistym. WEBRTC ma niemal natychmiastową dostawę, zwykle poniżej 300 ms, co czyni go idealnym do interaktywnych rozmów w przód iw tył.
Zmniejszenie opóźnienia jest (częściowo) z powodu zastosowania UDP zamiast TCP, a ponieważ używane formaty nie wymagają żadnego transkodowania przed transmisją.
Ponieważ jednak istnieje natychmiastowe dostarczanie wideo między rówieśnikami, liczba użytkowników może udostępniać wideo, zwykle poniżej 6. Istnieją implementacje dla WebRTC, w których niewielka liczba użytkowników (poniżej 5) udostępnia swoje wideo, a kolejna liczba użytkowników może oglądać w czasie rzeczywistym (ale liczba ta jest zwykle niewielka – poniżej 300.).
Każda osoba udostępniająca wideo używa około 1 Mb / s szerokości pasma. Jeśli jest 4 osoby przesyłane strumieniowo, wideo ma 4 Mb / s na przeglądarkę – przepustowość wychodząca z serwera szybko będzie czynnikiem ograniczającym liczbę użytkowników, którzy mogą dołączyć do strumienia. Ponadto użytkownicy w sieciach niskiej jakości mogą nie być w stanie spożywać 4 Mb / s wideo i mieć problem z odtwarzaniem filmu ze względu na rozmiar.
Aby zapisać wideo w celu późniejszego odtwarzania, implementacja WebRTC wykorzysta atrybut MediariCorder, aby zapisać wideo na komputerze lokalnym. W celu późniejszego odtwarzania ten film będzie musiał zostać przesłany na serwer.
WEBRTC jest idealny do natychmiastowej komunikacji w czasie rzeczywistym, ale jest dla małych grup widzów-zazwyczaj 1-4 udostępnianie wideo i niewielka liczba widzów.
Są HLS i WEBRTC Independent?
Połączenie HLS i WEBRTC jest w rzeczywistości dość powszechne. Na przykład, jeśli hostujesz panel głośników, mogą one dołączyć do WebRTC (jak połączenie zooom), a następnie przesyłać strumieniowo połączenie HLS do dużej publiczności (Zoom oferuje to jako funkcję zwiększania odbiorców).
Jak korzystasz z WEBRTC i HLS w swoich aplikacjach wideo? Kontynuuj rozmowę na naszym forum programistów: społeczność.API.wideo.
Szef stosunków programistów
WEBRTC vs HLS: Porównanie protokołów strumieniowych
Ten blog
WEBRTC vs HLS: Porównanie protokołów strumieniowych
To powiedziawszy, kiedy programiści rozgałęziają się z aplikacji opartych na czatu, do których WEBRTC został zaprojektowany. W tym artykule dotyczy działania strumieniowego strumieniowego WEBRTC, korzyści, jakie zapewnia, WebRTC’S ograniczenia i jak je rozwiązać.
Dostarczanie wideo na żywo: streaming vs. WEBRTC
Tutaj w API.Wideo, rozmawiamy z wieloma programistami, którzy szukają sposobów na budowanie fajnych i innowacyjnych usług z wideo. Wielu wciąż zastanawia się nad wszystkimi swoimi przypadkami użycia i próbuje dopasować je do technicznych możliwości różnych usług wideo.
Streaming na żywo to jedna z funkcji, o której otrzymujemy wiele pytań. W API.wideo, Nasze rozwiązanie do przesyłania strumieniowego wideo wykorzystuje transmisję na żywo HTTP (HLS) do wideo na żywo. Inną technologią, o którą często jesteśmy pytani, jest WebRTC. Obie technologie są świetne, ale mają znacząco różne zastosowania. W tym poście my’Spójrz na funkcje i zalety obu oraz podstawowe zastosowania, do których są odpowiednie.
Co to jest HLS?
HTTP Live Streaming (HLS) został opracowany przez Apple i jest obecnie głównym sposobem, w jaki wideo jest dziś przesyłane strumieniowo w Internecie. “Przekaz na żywo” W nazwie HLS jest nieco mylącym, ponieważ wideo nie musi być na żywo – YouTube, Netflix i inne usługi wideo na żądanie Użyj HLS do przesyłania strumieniowego wideo, który nie jest na żywo. Jest to zaleta korzystania z HLS do przesyłania strumieniowego na żywo – te same pliki używane do dostarczania wideo na żywo mogą być używane do odtwarzania wideo później ‘na żądanie.’
‘Http’ W HLS wskazuje, że wykorzystuje tradycyjne protokoły internetowe do przesyłania danych przez połączenie TCP. Film jest przecięty na małe segmenty i wysyłane z serwera do użytkownika. Odtwarzacz użytkownika’Urządzenie S rekombinacja wideo do odtwarzania na podstawie pliku manifestu tekstowego przesyłanego w segmentach wideo. To, co sprawia, że to potężne jest to, że jeśli masz różne wersje tego samego filmu (różne wymiary i transmisje transmisji), odtwarzacz może zoptymalizować dostawę na podstawie rzeczywistych warunków dla każdego użytkownika (przede wszystkim prędkość sieci i rozmiar ekranu).
Gdy wideo na żywo jest przesyłane za pomocą HLS, wideo jest wysyłane na serwer i jest przekodowane do segmentów w celu transmisji do użytkowników końcowych. To sprawia, że HLS jest idealny do przesyłania strumieniowego na żywo w strumieniach jeden do wielu-po nagraniu plików pliki są wysyłane jak każde inne żądanie HTTP, a ograniczenie jest zasadniczo serwerem hostującym wideo. (I oczywiście z CDNS ten narzut można dalej zmniejszyć).
Czas oczekiwania: Streaming HLS cierpi na około 6-15 sekund opóźnienia (i w zależności od architektur może być nawet dłuższe). Ponieważ wideo jest transkulowane na segmenty o skończonej długości, wideo musi być utrzymywane przez co najmniej tak długo, jak długość segmentu. Aby zmniejszyć błędy transmisji, niektórzy gracze wymagają przechowywania 2 segmentów w buforze odtwarzania przed rozpoczęciem odtwarzania, dalsze odtwarzanie czasu odtwarzania od dokładnego wydarzenia na żywo.
Uwaga: dziś wykonywane jest aktywne prace w celu zmniejszenia opóźnienia przesyłania strumieniowego HLS, a oczekuje się, że poprawi się w nadchodzących miesiącach (i API.Wideo inwestuje w przynoszenie HLS o niskich opóźnień naszym użytkownikom w najbliższej przyszłości).
Podsumowanie HLS: Solidne rozwiązanie do przesyłania strumieniowego do wielu użytkowników. Obecny stan HLS obejmuje opóźnienie 10-20 sekund, które sprawia, że HLS nie jest idealny do interaktywnych prezentacji. Filmy HLS są również dostępne do odtwarzania po wydarzeniu na żywo.
WEBRTC
“Komunikacja w czasie rzeczywistym internetowym” lub WebRTC to standard W3C, który jest obsługiwany we wszystkich przeglądarkach, pozwalający – jak można się domyślać – komunikacja w czasie rzeczywistym. WEBRTC ma niemal natychmiastową dostawę, zwykle poniżej 300 ms, co czyni go idealnym do interaktywnych rozmów w przód iw tył.
Zmniejszenie opóźnienia jest (częściowo) z powodu zastosowania UDP zamiast TCP, a ponieważ używane formaty nie wymagają żadnego transkodowania przed transmisją.
Ponieważ jednak istnieje natychmiastowe dostarczanie wideo między rówieśnikami, liczba użytkowników może udostępniać wideo, zwykle poniżej 6. Istnieją implementacje dla WebRTC, w których niewielka liczba użytkowników (poniżej 5) udostępnia swoje wideo, a kolejna liczba użytkowników może oglądać w czasie rzeczywistym (ale liczba ta jest zwykle niewielka – poniżej 300.).
Każda osoba udostępniająca wideo używa około 1 Mb / s szerokości pasma. Jeśli jest 4 osoby przesyłane strumieniowo, wideo ma 4 Mb / s na przeglądarkę – przepustowość wychodząca z serwera szybko będzie czynnikiem ograniczającym liczbę użytkowników, którzy mogą dołączyć do strumienia. Ponadto użytkownicy w sieciach niskiej jakości mogą nie być w stanie spożywać 4 Mb / s wideo i mieć problem z odtwarzaniem filmu ze względu na rozmiar.
Aby zapisać wideo w celu późniejszego odtwarzania, implementacja WebRTC wykorzysta atrybut MediariCorder, aby zapisać wideo na komputerze lokalnym. W celu późniejszego odtwarzania ten film będzie musiał zostać przesłany na serwer.
WEBRTC jest idealny do natychmiastowej komunikacji w czasie rzeczywistym, ale jest dla małych grup widzów-zazwyczaj 1-4 udostępnianie wideo i niewielka liczba widzów.
Są HLS i WEBRTC Independent?
Połączenie HLS i WEBRTC jest w rzeczywistości dość powszechne. Na przykład, jeśli hostujesz panel głośników, mogą one dołączyć do WebRTC (jak połączenie zooom), a następnie przesyłać strumieniowo połączenie HLS do dużej publiczności (Zoom oferuje to jako funkcję zwiększania odbiorców).
Jak korzystasz z WEBRTC i HLS w swoich aplikacjach wideo? Kontynuuj rozmowę na naszym forum programistów: społeczność.API.wideo.
Szef stosunków programistów
WEBRTC vs HLS: Porównanie protokołów strumieniowych
Ten post na blogu porównuje WebRTC i HLS, dwa z najpopularniejszych protokołów strumieniowych. Bada zalety i wady każdego protokołu i bada jego wnioski. Ponadto post zapewnia przegląd lepszy do przesyłania strumieniowego, umożliwiając czytelnikom wybór odpowiedniej technologii dla ich potrzeb.
ASHIK TS
22 lutego 2023 r
W dzisiejszej erze cyfrowej protokoły strumieniowe stały się niezbędne do konsumowania i udostępniania mediów. Od strumieni na żywo po wideo na żądanie, protokoły przesyłania strumieniowego umożliwiły nam dostęp do treści w dowolnym miejscu, w dowolnym miejscu. Ale przy tak wielu dostępnych opcjach, wiedza o najlepszych dla twoich potrzeb może zająć trochę czasu i wysiłku. W tym artykule przyjrzymy się dwóm najpopularniejszym protokołom strumieniowym: WebRTC i HLS, porównaj je i pomożesz podjąć świadomą decyzję.
Co to jest WebRTC?
WebRTC to bezpłatny i otwarty protokół opracowany przez W3C. Umożliwia komunikację w czasie rzeczywistym, taką jak połączenia głosowe i wideo, wizycie online i czat. WEBRTC stał się ostatnio widoczny ze względu na zdolność do dostarczania niskotrzymkowej, wysokiej jakości strumieni wideo i audio.
Zastosowania WebRTC
Oto niektóre z najczęściej stosowanych przypadków użycia WebRTC:
- Połączenia głosowe i wideo: Jednym z najpopularniejszych przypadków użycia dla WebRTC są połączenia głosowe i wideo. Umożliwia komunikację w czasie rzeczywistym i nisko opóźnień między dwoma lub więcej osobami. Firmy szeroko wykorzystują tę funkcję do komunikacji wewnętrznej, współpracy i aplikacji konsumenckich do sieci społecznościowych i randek online.
- Konferencje online: Kolejnym popularnym przypadkiem użycia dla WebRTC jest konferencje online. Umożliwia wielu użytkownikom dołączenie do wirtualnej sali konferencyjnej i interakcje ze sobą za pośrednictwem wideo i audio, a także udostępniać ekrany i dokumenty. Firmy szeroko używają tej funkcji do zdalnych spotkań i prezentacji, a także instytucji edukacyjnych na zajęcia i wykłady online.
- Czat: WebRTC umożliwia również komunikację tekstową w czasie rzeczywistym za pośrednictwem czatu. Ta funkcja może być zintegrowana z różnymi aplikacjami i platformami, takimi jak sieci społecznościowe, gry online i obsługa klienta. Pozwala na natychmiastową komunikację i może być używany do poprawy wrażeń użytkownika w różnych kontekstach.
Co to jest HLS?
HLS (HTTP Live Streaming) to adaptacyjny protokół transmisji strumieniowej opracowanej przez Apple. Jest szeroko stosowany do transmisji na żywo na urządzeniach mobilnych i przeglądarkach komputerowych. HLS jest zaprojektowany do współpracy z protokołem HTTP i można go łatwo zintegrować z istniejącą infrastrukturą opartą na HTTP.
Zastosowania HLS
Oto niektóre z bardziej powszechnych sposobów, w jakie HLS jest używany w dzisiejszych czasach i wieku:
- Przekaz na żywo: HLS jest powszechnie używany do wydarzeń związanych z transmisją na żywo, takich jak sport, koncerty i transmisje informacyjne. Protokół został zaprojektowany do obsługi dużego ruchu i zapewnienia płynnego przesyłania strumieniowego dla widzów. Funkcja adaptacyjnego bitratu pozwala strumieniu dostosować się do połączenia internetowego przeglądarki, zapewniając lepsze wrażenia z oglądania.
- Wideo na żądanie (VOD): HLS jest również powszechnie używany do treści wideo na żądanie (VOD), takich jak filmy, programy telewizyjne i samouczki wideo. Protokół umożliwia łatwą integrację z systemami zarządzania treścią i płynne wrażenia przesyłania strumieniowego dla widza z adaptacyjną transmisją.
- IPTV i OTT: HLS jest również używany w usługach IPTV i Over-the-Top (OTT), takich jak telewizja i usługi telewizji i wideo. Zdolność protokołu do obsługi dużego ruchu i zapewnienia płynnego przesyłania strumieniowego sprawia, że jest to popularny wybór dla tych aplikacji.
- Streaming mobilny: HLS jest również popularny w strumieniowaniu mobilnym, ponieważ jest obsługiwany zarówno na platformach iOS, jak i Android.
- Komunikacja korporacyjna: HLS jest używany na platformach komunikacyjnych przedsiębiorstw, które pozwalają pracownikom przesyłać strumieniowo filmy, udostępnianie ekranów i tworzenie połączeń audio/wideo, ponieważ zapewnia płynne wrażenia ze strumieniowego przesyłania strumieniowego i jest kompatybilny z większością urządzeń.
WEBRTC vs HLS: szczegółowa porównanie
Funkcja | WEBRTC | HLS |
---|---|---|
Obsługa przeglądarki | Chrome, Firefox, Safari, Edge (z wtyczką) | Safari, Chrome, Edge, Firefox (z wtyczką) |
Obsługa urządzenia | Windows, macOS, Linux, iOS, Android | iOS, Android, macOS, Windows |
Obsługa kodeka | VP8, VP9, H.264, godz.265 | H.264, godz.265 |
Czas oczekiwania | Niski | Wysoki |
Bezpieczeństwo | Wysoki | Średni |
Jakość wideo | Wysoki | Wysoki |
Sposób dostawy | Peer-to-peer | Oparte na serwerze |
Skalowalność | Wysoki | Wysoki |
Zgodność | Ograniczony | Szeroki |
Podejmując decyzję, który protokół użyć, ważne jest, aby wziąć pod uwagę takie czynniki, jak opóźnienie, bezpieczeństwo, jakość wideo, metoda dostawy, skalowalność i kompatybilność.
Czas oczekiwania
Jeśli chodzi o opóźnienie, WebRTC ma wyraźną przewagę nad HLS. WebRTC korzysta z komunikacji w czasie rzeczywistym, co oznacza, że wideo jest natychmiast dostarczane do przeglądarki. Z drugiej strony HLS używa mechanizmu buforowania, który opóźnia dostarczanie wideo. W zależności od warunków sieciowych opóźnienie może wynosić od kilku sekund do kilku minut. Te elementy sprawiają, że WebRTC jest bardziej odpowiednie do przypadków użycia, które wymagają niskiego opóźnienia, takie jak czaty wideo na żywo i gry online.
Bezpieczeństwo
Zarówno WebRTC, jak i HLS używają szyfrowania do zabezpieczenia strumieni wideo. Jednak poziom bezpieczeństwa zapewnianego przez każdy protokół jest inny. WebRTC wykorzystuje bezpieczny protokół transportu w czasie rzeczywistym (SRTP) do szyfrowania strumienia wideo, który jest uważany za jedną z najbezpieczniejszych metod szyfrowania. Z drugiej strony HLS używa protokołu HTTP Secure (HTTPS) do szyfrowania strumienia wideo. Podczas gdy HTTPS jest uważany za bezpieczny, SRTP jest mniej bezpieczny. Z tych powodów WEBRTC jest bardziej odpowiednie dla przypadków użycia, które wymagają wysokiego poziomu bezpieczeństwa, takich jak transakcje finansowe i komunikacja rządowa.
Jakość wideo
Zarówno WebRTC, jak i HLS są w stanie dostarczyć wysokiej jakości wideo. Jednak jakość wideo dostarczana przez każdy protokół może się różnić w zależności od warunków sieciowych. WEBRTC używa adaptacyjnego transmisji transmisji transmisji bitratu, który dostosowuje jakość wideo w czasie rzeczywistym w oparciu o warunki sieciowe widza. Oznacza to, że jakość wideo będzie wysoka nawet w sieciach o niskiej przepustowości. Z drugiej strony HLS wykorzystuje wcześniej segmentowy mechanizm dostarczania wideo, który może prowadzić do buforowania i jąkania się w sieciach o niskiej przepustowości. W rezultacie WebRTC jest bardziej odpowiednie dla przypadków użycia, które wymagają wysokiej jakości wideo w sieciach o niskiej przepustowości.
Sposób dostawy
WEBRTC i HLS używają różnych metod dostarczania do przesyłania strumieniowego wideo. WebRTC używa metody dostawy peer-to-peer (P2P), co oznacza, że wideo jest dostarczane bezpośrednio z jednego przeglądarki do drugiego. To zmniejsza ładowanie serwera i zwiększa skalowalność strumienia wideo. Z drugiej strony HLS używa metody dostawy klienta-serwera, co oznacza, że wideo jest dostarczane z serwera do przeglądarki. Może to prowadzić do problemów z skalowalnością, szczególnie w szczycie ruchu ruchu. W rezultacie WebRTC jest bardziej odpowiednie dla przypadków użycia, które wymagają wysokiej skalalności, takich jak wydarzenia na żywo i gry online.
Skalowalność
WEBRTC i HLS mają różne charakterystyki skalowalności. WebRTC używa metody dostawy P2P, która zmniejsza obciążenie serwera i zwiększa skalowalność strumienia wideo. Z drugiej strony HLS używa metody dostawy klienta-serwera, która może prowadzić do problemów z skalowalnością, szczególnie w czasach ruchu szczytowego. W rezultacie WebRTC jest bardziej odpowiednie dla przypadków użycia, które wymagają wysokiej skalalności, takich jak wydarzenia na żywo i gry online.
Zgodność
WEBRTC i HLS mają różne charakterystyki kompatybilności. WEBRTC jest kompatybilny z większością nowoczesnych przeglądarków, w tym Chrome, Firefox i Safari. Nie jest to jednak kompatybilne z Internet Explorer i Edge. Z drugiej strony HLS jest kompatybilny z większością współczesnych przeglądarków, w tym Chrome, Firefox, Safari, Internet Explorer i Edge. Z tego powodu HLS jest bardziej odpowiednia dla przypadków użycia, które wymagają kompatybilności z szerokim zakresem przeglądarek i urządzeń.
WEBRTC vs HLS: Co jest lepsze?
WEBRTC to świetna opcja dla aplikacji strumieniowych w czasie rzeczywistym w czasie rzeczywistym. Jest idealny do użytku, takich jak połączenia głosowe i wideo, wizycie online i czat. Z drugiej strony, HLS jest doskonałą opcją do przesyłania strumieniowego wideo na żywo do dużej publiczności. Jest szczególnie odpowiednie do przypadków użycia, takich jak strumieniowe sporty na żywo, koncerty i inne wydarzenia wymagające wysokiej skalowalności. Zdolność HLS do dostosowywania się do różnych warunków sieciowych sprawia, że jest to popularny wybór treści przesyłania strumieniowego dla widzów na różnych urządzeniach i sieciach.
Ponadto HLS ma lepsze wsparcie w ochronie praw autorskich treści, co czyni go preferowanym wyborem do przesyłania strumieniowego treści premium. Jeśli chodzi o kompatybilność, HLS ma niewielką przewagę nad WebRTC. HLS jest szeroko obsługiwany, co czyni go bardziej wszechstronną opcją przesyłania strumieniowego treści do szerszej publiczności. Jest to jednak kosztem nieco wyższego opóźnienia.
Jeśli głównym celem jest przesyłanie strumieniowe w czasie rzeczywistym i niskiej opóźnień, WebRTC może być Twoją lepszą opcją. W przeciwnym razie, jeśli główny nacisk kładziony jest na skalowalność i kompatybilność, HLS może być lepszym wyborem.
Wniosek
Podsumowując, zarówno WebRTC, jak i HLS mają swoje własne unikalne funkcje i przypadki użycia, które sprawiają, że są odpowiednie dla różnych rodzajów streamingu. WEBRTC najlepiej nadaje się do niskich opóźnień, komunikacji w czasie rzeczywistym, takim jak połączenia głosowe i wideo, wizycie online i czat. Z drugiej strony HLS najlepiej nadaje się do wysokiej jakości przesyłania strumieniowego wcześniej nagranych filmów na szerokiej gamie urządzeń.
FAQ
1. Czy WebRTC używa TCP lub UDP?
WebRTC używa zarówno TCP, jak i UDP w zależności od rodzaju przesyłanych danych. Wykorzystuje TCP do kontrolowania wiadomości i UDP do przesyłania strumieniowego multimediów.
2. Czy YouTube używa HLS?
Tak, YouTube używa HLS (transmisja na żywo HTTP) jako jeden z protokołów strumieniowych do dostarczania filmów dla widzów.
3. Czy WebRTC jest tylko dla przeglądarek?
WEBRTC to przede wszystkim technologia oparta na przeglądarce, ale może być również używana w natywnych aplikacjach za pośrednictwem bibliotek WebRTC.
4. Czy Netflix używa WebRTC?
Nie, Netflix nie używa WebRTC do przesyłania strumieniowego. Korzystają z własnej zastrzeżonej technologii o nazwie Adaptive Streaming nad HTTP (ASOH), która jest oparta na transmisji na żywo HTTP (HLS).
Czy Netflix używa WebRTC do przesyłania strumieniowego wideo
Chcę zbudować stronę internetową, która ma przesyłanie strumieniowe wideo takie jak Netflix jako mój kierunek boczny. Chciałbym wiedzieć, czy budują własną drogę do rozwiązania do przesyłania strumieniowego wideo, czy też używają również WebRTC?
zapytał 10 lutego 2021 o 13:39
Hua Chi Quan Hua Chi Quan
116 1 1 Złota odznaka 1 1 srebrna odznaka 8 8 brązowych odznaki
1 Odpowiedź 1
Netflix używa przede wszystkim DASH (dynamiczne adaptacyjne strumieniowanie nad HTTP), ale ma również inne profile kodowania Fallback (w zależności od platformy). O ile wiem, WebRTC nie jest używane przez Netflix.
Wikipedia ma bardziej techniczne tło na Netflix, a inny wątek tutaj na StackoverFlow rzuca trochę światła na zalety i wady kilku opcji przesyłania strumieniowego.
Co to jest WebRTC? (Aktualizacja)
W przypadku interaktywnych rozwiązań przesyłania strumieniowego na żywo, od wideokonferencji po zakłady online i licytacja, komunikacja w czasie rzeczywistym (WebRTC) stała się niezbędną technologią podstawową. Rozprzestrzenianie się WebRTC sprowadza się do kombinacji prędkości i kompatybilności.
Mówiąc dokładniej, WEBRTC jest formatem strumieniowym o najniższym opóźnieniu z dostawą wideo pod-500 milionów. Native Browser Support eliminuje również potrzebę pobierania użytkowników końcowych do wyświetlania dostarczanych strumieni.
To powiedziawszy, kiedy programiści rozgałęziają się z aplikacji opartych na czatu, do których WEBRTC został zaprojektowany. W tym artykule dotyczy działania strumieniowego strumieniowego WEBRTC, korzyści, jakie zapewnia, WebRTC’S ograniczenia i jak je rozwiązać.
Spis treści
- Co to jest WebRTC?
- Jak działa WebRTC?
- Snapshot WebRTC
- Jak powstał Webrtc
- Korzyści WebRTC
- Ograniczenia WebRTC
- Przypadki użycia strumieniowego WEBRTC
- Jakie jest zabezpieczenia WEBRTC?
- Jak WEBRTC porównuje się do innych protokołów?
- WEBRTC vs. HLS
- WEBRTC vs. RTMP i SRT
- WEBRTC vs. RTSP
- 1. Streaming w czasie rzeczywistym na skalę dla Wowza Video
- 2. WEBRTC zasilane przez silnik strumieniowy Wowza
- 3. Przekształcenie WebRTC na HLS lub Dash
Co to jest WebRTC?
WebRTC to bezpłatna, otwarta framework dla sieci, która umożliwia komunikację w czasie rzeczywistym (RTC) jej nazwa obiecuje dostarczyć. Jako połączenie standardów, protokołów i interfejsów API JavaScript, WebRTC wykorzystuje połączenia peer-to-peer między przeglądarkami w celu obsługi prawie symultowo wymiany danych-bez wymagania oprogramowania lub wtyczek stron trzecich.
Innymi słowy, WebRTC pozwala użytkownikom inicjować czaty wideo z przeglądarkami i wymieniać informacje wystarczająco szybko, aby powtórzyć interakcje osobiste. Obsługuje to interaktywne przesyłanie strumieniowe na żywo między osobami, a także komunikację przeglądarki do przeglądarki za pośrednictwem zestawu standardowych protokołów.
Jak działa WebRTC?
WebRTC wykorzystuje trzy interfejsy API HTML5, które pozwalają użytkownikom’ Przeglądarki do przechwytywania, kodowania i transmitowania transmisji na żywo między sobą, umożliwiając dwukierunkową komunikację. Z tego powodu WebRTC jest określany jako technologia peer-to-peer, w której każda przeglądarka komunikuje się bezpośrednio ze sobą.
Piękno WebRTC leży w nim: eliminuje potrzebę związanych z pośrednicami serwerów sieciowych podczas tych giełd, nie wspominając o dodatkowym sprzęcie lub oprogramowaniu. Sale konferencyjne oparte na adresach URL są doskonałym przykładem wygody i komunikacji w czasie rzeczywistym dostarczanym przez WebRTC.
Podczas gdy niektóre przepływy streamingowe wymagają kamery przesyłania strumieniowego na żywo, enkodera i multimediów, najprostsze wdrożenia WebRTC mogą osiągnąć wszystko za pomocą podłączonej kamery internetowej i przeglądarki. I w przeciwieństwie do filmu opartego na flashu, WebRTC można odtwarzać na dowolnym odtwarzaczu HTML5, który obsługuje API WebRTC.
Ponieważ jednak WebRTC został zaprojektowany do natywnej wymiany informacji bez serwera pośredniego, może’T Obsługuj dużą publiczność. Każdy, kto chce przesyłać strumieniowo WebRTC na skalę, będzie wymagał pomocy serwera strumieniowego lub usługi. Od przepakowania treści w bardziej skalowalny format po dostarczanie strumieni na żywo w niestandardowej sieci dostarczania treści WebRTC (CDN), Wowza ma opcje konfiguracji przepływu pracy WebRTC, aby pomieścić odbiorców do miliona przeglądarki.
Snapshot WebRTC
- Kodeki audio:Opus, ISAC, ILBC
- Kodeki wideo:H.264, VP8, VP9
- Kompatybilność odtwarzania: Chrome, Firefox i Safari obsługują WEBRTC bez żadnej wtyczki
- Korzyści: Super szybka i oparta na przeglądarce
- Wady: Zaprojektowany do wideokonferencji, a nie skali, wymagając w ten sposób platformy streamingowej, takiej jak wowza podczas przesyłania strumieniowego do dużej publiczności
- Czas oczekiwania: Dostawa pod-500 milionów
Jak powstał Webrtc
WEBRTC zaczął jako projekt Google Open-Source, którego celem jest zapewnienie przeglądarkom możliwości obsługi komunikacji głosowej i wideo w czasie rzeczywistym bez żadnych wtyczek. Pod wieloma względami antyteza własnych technologii przesyłania strumieniowego, takich jak RTMP i Flash, WEBRTC odtąd został znormalizowany przez IETF i W3C. WEBRTC wzrosła w ciągu dekady’od momentu początkowego rozwoju w celu połączenia siły projektu opartego na społeczności z wsparciem międzyplatformowym dla dobrze ustalonej specyfikacji.
Dzisiaj WEBRTC jest obsługiwany przez Chrome, Safari, Firefox, Opera, Microsoft Edge, Android i iOS (z wyjątkiem iOS 15 + Safari). To’S także technologia napędzająca czat wideo w Google Hangouts, Facebook Messenger i HouseParty – żeby wymienić kilka. Według Google, “Z Chrome, Edge, Firefox i Safari obsługującym WebRTC, ponad 85% wszystkich zainstalowanych przeglądarków na całym świecie stało się klientem komunikacji w czasie rzeczywistym w Internecie.”
Korzyści WebRTC
Rozważając wiele zalet, które WebRTC zapewnia zarówno użytkownikom, jak i programistom, ma sens, dlaczego tam ma sens’jest tyle szumu otaczającego to. Wszystko, od dostawy o niskiej opóźnieniu po interoperacyjność, czyni to atrakcyjnym wyborem.
- Z natury niskie opóźnienie. WEBRTC znokautuje go z parku, jeśli chodzi o prędkość dostawy. W przypadku opóźnień szkła do 500-miliosekundowego do szkła WEBRTC oferuje najszybszą metodę transportu wideo przez Internet.
- Niezależność platformy i urządzeń. Wszystkie główne przeglądarki i urządzenia obsługują WebRTC, co ułatwia integracja z szeroką gamą aplikacji bez dedykowanej infrastruktury. Ponieważ WebRTC używa interfejsów API HTML5, pozwala programistom wykorzystać wiele funkcji wbudowanych w język programowania HTML5 poprzez lekką, osadzoną strukturę. Co’S Co więcej, kodowanie oparte na przeglądarce zapewnia bardziej dostępne doświadczenie użytkowników końcowych dla wszystkich.
- Open source i standaryzowane. Framework open source jest znormalizowany przez IETF i W3C, eliminując w ten sposób wszelkie wyzwania interoperacyjne, które są związane z zastrzeżonymi technologiami przesyłania strumieniowego. Komputerowy świat’S Shan Sinha wyjaśnia, “WEBRTC korzysta z tysięcy programistów oprogramowania do pracy na koncercie, standaryzacji protokołów konferencyjnych i zwiększania interoperacyjności mniejszym problemem. Większość firm może’T konkuruje z tysiącami niezależnych programistów wnoszących kod do platformy-nawet organizacje tak duże jak Google i Apple Pale w porównaniu z wysiłkiem opartym na społeczności internetowej.”
- Dostosowuje się do warunków sieciowych. WEBRTC zapewnia niezawodne publikowanie w słabych warunkach sieciowych z adaptacyjnym kodowaniem sieci. To’s, ponieważ obsługuje zdolność o nazwie ‘Simulcasting’ – Nie mylić z nadawaniem do wielu miejsc docelowych, co jest tradycyjną definicją tego terminu. Dzięki WebRTC Simulcasting klient generuje wiele strumieni w różnych transakcjach i jakości, dzięki czemu słabe warunki sieciowe Don’t Nie przeszkadza wkładowi wideo. W przeciwieństwie do adaptacyjnego transmisji transmisji transmisji transmisji, w której strumień dynamicznie dostosowuje się podczas odtwarzania, ma to miejsce po stronie publikacji i zapewnia wiele kodowania, a nie możliwość dostosowania transakcji transmisji przyczepności w połowie strumienia.
Ograniczenia WebRTC
Dostawa o niskiej opóźnieniu ma najwyższy priorytet dzięki strumieniowaniu WABRTC. W rezultacie skala i jakość mają ograniczenia podczas wdrażania WebRTC bez żadnych dodatkowych technologii.
- Skalowalność. WEBRTC po prostu nie był’t Zaprojektowany z myślą o skalowalności. Konfiguracja intensywnej przepustowości wymaga, aby każda uczestnicząca przeglądarka łączyła się ze sobą za pośrednictwem połączenia. Mówiąc inaczej, ekspert WebRTC Tsahi Levent-Levi zaleca pozostanie w związku z ponad 50 równoczesnymi połączeniami równorzędnymi.
- Jakość transmisji. Powszechnym nieporozumieniem jest to, że WebRTC brakuje jakości z powodu ograniczeń transmisji przepustowości. Podczas gdy wkład oparty na przeglądarce jest z natury zależny od łączności i kamery na froncie rozdzielczości, kodowanie wysokiego bitrybytu jest nadal możliwe. To powiedziawszy, dystrybutorzy treści, którzy chcą przesyłać strumieniowo z profesjonalnym enkoderem i aparatem, mogą uznać ten rodzaj przepływu pracy za mniej niż idealny do strumieniowej treści. Ponadto adaptacyjne obsługa transmisji transmisji transmisji transmisji transmisji jest ograniczona w przypadku WebRTC.
Przypadki użycia strumieniowego WEBRTC
WEBRTC to idealna struktura dostawy dla aplikacji, które zależą od szybkości i interaktywności. Wyobraź sobie na przykład’Ponownie organizowanie aukcji online. Ty’Re Of On Camera proszących o oferty, ale pięciosekundowe opóźnienie oznacza, że twoja publiczność jest trochę za tobą. To’idzie raz, idąc dwa razy, przyjmujesz ostateczną ofertę – i ktoś wpada w ostatnią sekundę z lepszą ofertą, ale ty’ve już go zamknęło z powodu tego opóźnienia.
Z WEBRTC’s poniżej 500 milisekundowych opóźnień, które’nie jest problemem. Ty’Dowieść się z ostateczną ofertą w czasie niemal realistycznym. WEBRTC jest również przydatny w aplikacjach takich jak:
- Hazard
- ESports
- Sport na żywo
- Zdatność
- Hazard
- Reakcja awaryjna
- Nadzór
- Telehealth
I wiele więcej. Im bliżej czasu rzeczywistego potrzebujesz strumienia, tym bardziej prawdopodobne jest, że wybierzesz WebRTC.
Jakie jest zabezpieczenia WEBRTC?
WEBRTC jest bezpieczny, ponieważ nakazuje szyfrowanie SRTP (Secure Real Time Protocol) i grupę innych standardów (w końcu jest to tylko zwykły protokół). Jedna z organizacji, która pomogła standaryzować WebRTC, internetowa grupa zadaniowa inżynierii, wprost zabrania połączeń WebRTC bez niezbędnego szyfrowania.
Oprócz szyfrowania na poziomie protokołu WEBRTC wykorzystuje również przeglądarkę i bezpieczeństwo wspierane przez społeczność. Główne przeglądarki, takie jak Firefox, Chrome, Safari i Edge All poważnie podchodzą do zabezpieczeń WebRTC, więc wymagają one HTTPS dostępu do frameworka, ochrony wycieku IP, użytkownicy udzielania uprawnień do poszczególnych stron przed umożliwieniem dostępu do aparatu i mikrofonu oraz innych kontroli prywatności. Jako projekt open source, WebRTC’Społeczność programistów również współpracuje, aby zapewnić jej bezpieczeństwo najwyższego kalibru.
Sprawdź następujący przepływ pracy, aby lepiej zrozumieć, w jaki sposób standardowe szyfrowanie i bezpieczeństwo w porównaniu do WebRTC’s dodatkowe warstwy.
Jak WEBRTC porównuje się do innych protokołów?
Jak my’Ustanowiony, WebRTC jest czymś więcej niż protokołem, ale’s alternatywa dla kilku formatów dostarczania wideo, które są tylko protokołami, takimi jak HLS, RTMP, RTSP i SRT. Jak WEBRTC porównuje się do tych?
WEBRTC vs. HLS
HTTP Live Streaming (HLS) to zastrzeżony protokół Apple zwykle stosowany do dostawy ostatniej mili. Apple początkowo opracował protokół do rozwiązywania problemów z odtwarzaniem iPhone’ów podczas transmisji na żywo, ale od tego czasu zdjął i jest teraz prawie powszechnie akceptowanym protokołem, który niezliczone urządzenia i przeglądarki obsługują.
Kompatybilność jest głównym powodem, dla którego możesz zdecydować o porównaniu WebRTC vs. HLS. To’jest rzadkie w znalezieniu systemu, który nie’T wspieraj ich, więc nie’Muszę się martwić o wykluczenie każdego, kogo chcesz być częścią swoich odbiorców.
Ich podstawowe różnice leżą w opóźnieniu i skalowalności. Sam, HLS jest w rzeczywistości raczej powolny z opóźnieniem od sześciu do 30 sekund. Jeśli używasz Apple’S rozszerzenie HLS o niskim opóźnieniu, to’jest możliwe zmniejszenie tego opóźnienia do około dwóch sekund, ale nadal tak się nie dzieje’t Porównaj z WebRTC’S pod-500 milisekundowa dostawa.
HLS jest jednak bardziej skalowalny. Ten protokół pozwala z łatwością dotrzeć do tysięcy milionów widzów. WEBRTC ISN’Nie zamierzałem przesyłać strumieniowej treści do ogromnych odbiorców, dzięki czemu lepiej osiąga 50 widzów lub mniej. To powiedziawszy, to’jest możliwe przezwyciężenie WebRTC’S Problemy z skalowalnością i nadal docierają do milionów widzów z niestandardową częścią CDN rozwiązania takiego jak Wowza’S Streaming w czasie rzeczywistym na skalę.
WEBRTC vs. RTMP i SRT
Protokół wiadomości w czasie rzeczywistym (RTMP) był kiedyś branżą’S FOREMOST PROTOKOL Ze względu na jego zwarty związek z Adobe Flash. RTMP w dużej mierze wypadł z przychylności niektórych części przepływów pracy streamingowej od Flasha’S śmierć, ale to’nadal jest ulubionym wkładem pierwszej mili ze względu na jej kompatybilność z enkoderami. Na przykład wiele przepływów pracy koduje z RTMP przed transkodowaniem zasobów wideo do HLS w celu dostawy ostatniej mili.
RTMP ma opóźnienie około pięciu sekund, co jest’t blisko WebRTC’s Nienaganna prędkość, ale przewyższa HLS i Dash bez ich rozszerzeń o niskiej opóźnieniu. WEBRTC pasuje lub bije RTMP w wielu innych aspektach, w tym bezpieczeństwo i kompatybilność (prawie żadne przeglądarki nie obsługują już RTMP), ale tam, gdzie RTMP ma nogę, jest funkcjonalnością, w tym napisy, metadane czasowe i markery reklam. WEBRTC to doskonały wybór dla strumieniowego strumieniowego szkła’t Wymagaj transkodowania – szczególnie jeśli potrzebujesz tylko przeglądarki internetowej do każdego końca – ale wielu dystrybutorów treści decyduje się nadal pracować z RTMP, jeśli potrzebują większej kontroli nad ustawieniami kodowania.
To’jest również ważne, aby wziąć pod uwagę WebRTC vs. Bezpieczny niezawodny transport (SRT). SRT został stworzony jako alternatywa dla RTMP, rekompensując słabą jakość sieci, aby nadal dostarczać niską opóźnienie i niezawodne strumienie. Jako taki, srt’S Zalety i wady są podobne podczas porównywania go z WebRTC: Możesz użyć go do wkładu pierwszej mili przed przejściem na jego przejście, używając SRT do rozwiązania problemów takich jak drgania i utrata pakietów.
WEBRTC vs. RTSP
Protokół przesyłania strumieniowego w czasie rzeczywistym (RTSP) ISN’T odpowiedzialny za transport danych z klientów na serwery – to’Protokół transportu w czasie rzeczywistym (RTP)-ale ułatwia odtwarzanie multimedialne i jest często porównywane z RTMP.
RTSP i WebRTC czasami się uzupełniają, ponieważ RTSP jest często domyślnym protokołem wśród kamer IP. Kamery te wykorzystują RTSP do wkładu pierwszej mili i nagrania transkodowego w WEBRTC w celu dostawy ostatniej mili, dramatycznie zmniejszając opóźnienie (co jest szczególnie ważne w nadzorze). WEBRTC ISN’t używane do obu końców procesu, ponieważ’S nadal głównie oparte na przeglądarce, więc kamery IP nadal potrzebują RTSP do kodowania.
Rozwiązywanie skalowalności WebRTC
W tradycyjnym połączeniu WEBRTC peer-to-peer każda przeglądarka łączy się bezpośrednio ze wszystkimi innymi przeglądarkami w grupie-spalając przepustowość w tym procesie. Wowza oferuje trzy opcje przezwyciężania ograniczeń skalowalności WEBRTC
1. Streaming w czasie rzeczywistym na skalę dla Wowza Video
Nasza funkcja przesyłania strumieniowego w czasie rzeczywistym dla Wowza Video wdraża WebRTC na niestandardowym CDN, aby zapewnić prawie bez ograniczeń skalę. Dystrybutorzy treści mogą przesyłać strumieniowo do miliona widzów w mniej niż pół sekundy, łącząc dostawę w czasie rzeczywistym z transmisją na dużą skalę.
2. WEBRTC zasilane przez silnik strumieniowy Wowza
Łącząc wszystkich uczestników z serwerem przesyłania strumieniowego na żywo, takiego jak Wowza Streaming Engine, dystrybutorzy treści korzystają z strumieniowego przesyłania strumieniowego w czasie rzeczywistym na większą skalę, jednocześnie optymalizując przepustowość, minimalizując liczbę połączeń, które każdy klient musi ustanowić i utrzymać. Potrzebna byłaby dodatkowa infrastruktura, aby skalować ponad kilkaset widzów, w którym to przypadku strumieniowanie w czasie rzeczywistym na skalę z Wowza Video byłoby lepszą trasą.
3. Przekształcenie WebRTC na HLS lub Dash
Wreszcie, serwer transmisji strumieniowej na żywo lub usługa w chmurze może być używana do transkodowania strumienia WebRTC do protokołu takiego jak HLS w celu dystrybucji do tysięcy. W ten sposób dystrybutorzy treści mogą łączyć proste publikowanie oparte na przeglądarce z nadawaniem na dużą skalę-choć z wyższym opóźnieniem. Kiedy łatwe pozyskiwanie treści (a nie dostawa w czasie rzeczywistym) jest kluczowym powodem włączenia WebRTC do przepływu pracy streamingowej, to rozwiązanie to droga do przejścia.
Rozwiązywanie jakości WebRTC
Podczas zwiększania jakości treści przesyłanych strumieniowo za pośrednictwem WebRTC, dwie z powyższych opcji ponownie pojawiają się w grze.
1. Streaming w czasie rzeczywistym na skalę dla Wowza Video
Streaming w czasie rzeczywistym na skalę Wowza Video zapewnia elastyczność strumieniowego przesyłania za pośrednictwem dowolnego enkodera, przy użyciu RTMP Ingest lub wykorzystując naszą niestandardową integrację obsesyjną. Oznacza to, że nadawcy nie są’T Ograniczone do przechwytywania i kodowania opartego na przeglądarce, szukając dystrybucji wytwarzanej treści.
2. Przekształcenie WebRTC na HLS lub Dash
HLS i Dash dźwignia adaptacyjne transmisja transmisji transmisji transmisji transmisji transmisji transmisji, aby zapewnić najlepszą jakość wideo i wrażenia z przeglądarki – bez względu na połączenie, oprogramowanie lub urządzenie. Z tego powodu przekształcenie strumienia WebRTC na którykolwiek z tych protokołów rozwiązuje skalę i jakość. Znaczącym kompromisem jest opóźnienie, więc my’d sugeruj ten przepływ pracy tylko wtedy, gdy dostawa w czasie rzeczywistym jest’T priorytet.
Po co łączyć WebRTC z wowza
Niezależnie od tego, czy chcesz obsługiwać interaktywność w czasie rzeczywistym, nadawanie na dużą skalę, czy kombinację obu, wowza’Rozwiązanie WEBRTC można dostosować do Twoich potrzeb. Organizacje w branżach, od detalicznej po gry, polegają na WEBRTC z napędem Wowza w celu dostawy w czasie rzeczywistym, spożycie opartej na przeglądarce i dystrybucji wideo na dużą skalę.
- Niekończące się skalowanie. Choć zaprojektowane do środowisk czatu wideo z tylko garstką uczestników, WebRTC można połączyć z wowza’technologia nadawania do miliona widzów. Streaming w czasie rzeczywistym na skalę wideo Wowza sprawia, że ten proces płynny-z dostawą piorunów do rozruchu.
- Rozszerzone możliwości. Każdy, kto chce dodać dodatkową funkcjonalność do WebRTC – w tym nagrywanie wideo, bezpieczeństwo i inne ulepszenia – potrzebuje potężnego oprogramowania do przesyłania strumieniowego za zasłoną. Wowza zapewnia potężne narzędzia, interfejsy API i moduły w celu ulepszenia WebRTC’S Funkcje gotowe. Nasza platforma przesyłania strumieniowego na żywo umożliwia również dystrybutorom treści do budowania hybrydowych przepływów pracy, które łączą WebRTC z innymi protokołami strumieniowego, które lepiej odpowiadają ich potrzebom.
- Proste, oparte na przeglądarce nadawanie. Publikowanie oparte na przeglądarkach WEBRTC, a w tle Wowza w tle’w stanie nadać treść niezliczonym użytkownikom. Nasze rozwiązania przesyłania strumieniowego WebRTC zapewniają proste kompleksowe nadawanie do dowolnego miejsca docelowego-bez potrzeby enkodera.
Aby dowiedzieć się więcej o ulepszeniu WebRTC o Wowza, sprawdź filmy połączone poniżej:
Wowza Video i WebRTC do strumieniowego przesyłania strumieniowego w czasie rzeczywistym: Dzięki Wowza Video możesz tworzyć wydarzenia przesyłania strumieniowego na żywo, które natychmiast skalują się do miliona widzów z doświadczeniem w czasie rzeczywistym niezbędnym do interaktywnych aplikacji.
Silnik strumieniowy wowza i WebRTC: WEBRTC zasilane przez Wowza Streaming Engine umożliwia transkodę, recreę i ulepszanie WebRTC’możliwości w potężnym sposobie.
Wniosek
Opisane przez współzałożyciela Mozilli Brandana Eicha jako “nowy front w długiej wojnie dla otwartej i nieobciążonej sieci,” WEBRTC łączy strumieniowanie oparte na przeglądarce z interaktywnością w czasie rzeczywistym. Bezpłatna, otwarta framework działa świetnie dla małych środowisk wideo. A gdy wymagane są również dystrybucja na dużą skalę lub dodatkowe funkcje przesyłania strumieniowego, wowza’Technologia S zapewnia niezbędny wzrost.
Zacznij od strumieniowego przesyłania strumieniowego w czasie rzeczywistym
Dodatkowe zasoby:
- [Rozwiązania
- [Raport] 2021 Raport opóźnienia przesyłania strumieniowego wideo
O Traci Ruether
Traci Ruether to pisarz technologii B2B z Kolorado z doświadczeniem w strumieniowym i infrastrukturze sieciowym. Oprócz pisania, Traci lubi gotować, ogrodnictwo i spędzać czas z jej Kith i krewnymi. Śledź ją na LinkedIn na https: // www.LinkedIn.com/in/traci-ruether/lub naucz się… Zobacz więcej
Wiadomości z branży strumieniowej
Dołącz do profesjonalistów do strumieniowego strumieniowego 2K+ i dostarcz blog Wowza do swojej skrzynki odbiorczej.
WHIP & WHEP: Czy WebRtc jest przyszłością transmisji na żywo?
WHIP & WEP to specyfikacje, aby WEBRTC do transmisji na żywo. Ale czy to naprawdę potrzebne jest idzie naprzód?
WEBRTC jest świetny w czasie rzeczywistym. Cokolwiek innego – nie tyle. Niedawno doszło do dwóch nowych protokołów – Whip and Whep. Działają jako sygnalizacja WEBRTC, aby lepiej obsługiwać przypadki użycia streamingu na żywo.
W ostatnich miesiącach nastąpiło coraz większe przyjęcie we wdrażaniu tych protokołów (przyjęcie faktycznego użycia ISN’To coś, w co mogę, tak mogę’T zaświadcza się). Ten postęp jest pozytywny, ale mogę’Ignoruj uczucia, które mam, że jest to tylko tymczasowe rozwiązanie.
Spis treści
- Co to są Whip i Whep?
- Mocne strony ��
- Słabości ��
- Mocne strony ��
- Słabości ��
Co to są Whip i Whep?
WHIP oznacza protokół spożycia WebRTC-HTTP. WHEP oznacza protokół WEBRTC-HTTP. Oba są stosunkowo nowymi szkicami IETF, które definiują protokół sygnalizacyjny dla WebRTC.
�� WEBRTC wyraźnie postanowił nie mieć żadnego protokołu sygnalizacyjnego, aby programiści mogli wybierać i wybierać dowolny wybrany protokół sygnalizacyjny – czy to SIP, XMPP lub inna alternatywa. Dla branży strumieniowej mediów to nie było’To dobra rzecz-potrzebowali dobrze znanego protokołu z gotowymi implementacjami. Co doprowadziło do biczowania i wty.
Aby zrozumieć ich, jak pasują do rozwiązania, możemy użyć poniższego schematu:
W przypadku użycia transmisji na żywo mamy jednego lub więcej nadawców, którzy “Łykać” ich media do serwera multimediów. To’s, gdzie wchodzi bat. Widzowie po drugiej stronie, zdobądź strumienie mediów po stronie infrastruktury serwerów multimediów.
Aby uzyskać techniczny przegląd Whip & Whep, sprawdź tę sesję Kranky Geek autorstwa Sergio Garcia Murillo z Dolby:
Im niższe opóźnienie, tym bardziej trudne jest wdrożenie. Im bliżej żyć/w czasie rzeczywistym chcemy, tym więcej poświęceń będziemy musieli dokonać jakości pod względem jakości. I’zapisał o potrzebie wyboru jakości lub opóźnienia.
WEBRTC koncentruje się na brzytwie na czasie rzeczywistym i na żywo. Tak bardzo, że może’naprawdę radzisz sobie z czymś, co ma w nim opóźnienie. Może – ale poświęci za to zbyt wiele przy wysokim koszcie złożoności – coś, co donisz’naprawdę chcę lub potrzebuję.
Co to dokładnie oznacza?
- WEBRTC przechodzi przez UDP i spada z powrotem do TCP, jeśli musi
- Powodem jest to, że ogólne retransmisje wbudowane w TCP jest w większości efektowe dla WebRTC – jeśli pakiet zostanie utracony, wówczas w wielu przypadkach odbędzie się to za późno, aby z niego skorzystać – na żywo – na żywo – na żywo – na żywo – na żywo – na żywo – na żywo – na żywo?
- Więc WebRTC polega na UDP i używa RTP, umożliwiając decydowanie o tym, jak obsługiwać straty pakietów, fluktuacje transakcji i inne problemy sieciowe wpływające na komunikację w czasie rzeczywistym
- Jeśli mamy kilka sekund opóźnień, możemy użyć retransmisji na każdym pakiecie, aby poradzić sobie z stratami pakietu. Właśnie to robią na przykład Netflix i YouTube. Ze skupieniem się na niskim opóźnieniu, WebRTC’naprawdę pozwól nam dla nas
Wtedy należy zadać kilka trudnych pytań – Czego dokładnie potrzebuje Twoja usługa przesyłania strumieniowego?
- Opóźnienie podsekdowe, ponieważ jest to czas rzeczywistości i jest interaktywny?
- Jeśli widz otrzyma media dwie sekundy po ich transmisji. Czy to ogromny problem, czy jest w porządku?
- Co powiesz na 5 sekund?
- I 30 sekund?
- Czy strumień jest nawet na początku, czy jest wcześniej nagrany?
Jeśli potrzebujesz rzeczy, które należy przeprowadzić tylko w opóźnieniu podsekdowym, WEBRTC jest prawdopodobnie dobrym sposobem na przejście. Ale jeśli masz również w przypadku użycia, inne opóźnienia, pomyśl dwa razy przed wybraniem WebRTC jako rozwiązania do rozwiązania.
Hybrydowe podejście WebRTC do “na żywo” Streaming
Ważnym aspektem, o którym należy tutaj wspomnieć, jest to, że w wielu przypadkach WEBRTC jest używany w modelu hybrydowym w strumieniowaniu mediów.
Często chcemy spożywać media za pomocą WebRTC i przeglądać media w innym miejscu za pomocą innych protokołów – zwykle dlatego, że donamy’T zależy tak samo o opóźnieniu lub dlatego, że mamy już rozwiązany i wdrożony komponent oglądania – tutaj do istniejącej usługi dodaje się WEBRTC.
Dodanie tutaj protokołu WHIP i spożywanie multimediów WebRTC do usługi przesyłania strumieniowego oznacza, że możemy zdobyć multimedia z przeglądarki internetowej bez instalowania niczego. Czas rzeczywistego jest fajny, ale nie zawsze potrzebny. Spożycie przeglądarki polega jednak głównie na zmniejszaniu tarcia i umożliwienia aplikacji internetowych.
3 jeźdźcy: Webtransport, WebCodecs i Webassembly
Ta ostatnia sugestia wyglądałaby inaczej zaledwie dwa lata temu, kiedy w czasie rzeczywistym jedyną grą w mieście dla przeglądarków była WebRTC. Dziś jednak nie jest’T sprawa.
W 2020 r. Wskazałem na rozdzielenie WebRTC. Trend, w którym WebRTC jest podzielony na swoje podstawowe komponenty, aby programiści mogli korzystać z każdego z nich niezależnie i w pewien sposób zbudować własne rozwiązanie podobne do WebRTC, ale ISN’t Webrtc. Te elementy to:
- Webtransport – oznacza wysyłanie czegokolwiek ponad UDP z niskim opóźnieniem między serwerem a klientem – z retransmisjami lub bez
- WebCodecs – Kodeksy używane w WebRTC, oddzielone od WebRTC, z ich własną ramą przez interfejs kodowania ramek i dekodowania
- Webassembly – klej, który może wdrażać rzeczy z wysoką wydajnością w przeglądarce
Teoretycznie, używając tych 3 komponentów, które można zbudować rozwiązanie komunikacyjne w czasie rzeczywistym, co dokładnie jest tym, co zoom próbuje zrobić w przeglądarkach internetowych.
W ciągu ostatnich kilku miesięcy ja’widziałem coraz więcej firm przyjmujących te interfejsy. Zaczęło się od dostawców korzystających z Webassembly do rozmycia tła i wymiany. Przeszedł do firm bawiących się z WebTransport i/lub WebCodecs w celu przesyłania strumieniowego, a ostatnio wielu dostawców robi tłumienie hałasu z WebAssembly.
Tutaj’S co Intel zaprezentował podczas Kranky Geek 2021:
Ten trend będzie się rozwijać.
Jak to się ma do przesyłania strumieniowego?
Dobrze, że zapytałeś!
Te 3 pozwala nam wdrożyć własne rozwiązanie do przesyłania strumieniowego na żywo, a nie na podstawie WebRTC, które może osiągnąć opóźnienie pod drugim w przeglądarkach internetowych. Jest to również wystarczająco elastyczne, abyśmy mogli dodać do niego mechanizmy i narzędzia, które w razie potrzeby poradzą sobie z wyższymi opóźnieniami, gdzie na wyższych opóźnieniach poprawujemy jakość mediów.
Mocne strony ��
Tutaj’S Co lubię w tym podejściu:
- I Haven’Czytam o tym lub nie widziałem gdziekolwiek, więc lubię myśleć o tym jako o tym, który wymyśliłem na własną rękę ��, ale poważnie…
- Jest w stanie z jednym zestawem protokołów i technologii, aby wspierać wszelkie wymagania dotyczące opóźnień, które mamy w naszej usłudze
- Obsługa przeglądarków internetowych (jeszcze nie wszystkie, ale będziemy się tam dostać)
- Brak potrzeby serwerów skrętu lub ogłuszenia – mniej śladu serwera i bólu głowy i lepsza penetracja zapory (to’Z założeniem, że WebTransport staje się tak powszechny jak WebSocket i jest automatycznie biały listyfikowane przez zapory)
Słabości ��
To jest n’Jednak wszystko błyszczące:
- Wciąż nowe i powstające. Don’Nie wiem, co się nie’t pracować i jakie są ograniczenia
- Nie wszystkie nowoczesne przeglądarki jeszcze go popierają
- My’Re -Powrót do kwadratu – tam’s brak protokołu strumieniowego, aby go wspierać, co oznacza, że nie’T wspieraj ekosystem przesyłania strumieniowego mediów jako całości
- W razie potrzeby podłączenie go do WebRTC może nie być proste
- Musisz w tej chwili zbudować własną specyfikację, co oznacza dla ciebie więcej pracy
Czy WebRtc jest przyszłością transmisji na żywo?
Whip i Whep są tutaj. Zdobywają przyczepność i mają za nimi sprzedawców.
Z drugiej strony nie’T Rozwiąż cały problem – tylko na żywo aspekt przesyłania strumieniowego.
Powodem, dla którego WebRTC jest obecnie używany, jest to, że była to jedyna gra w mieście. Wkrótce to zmieni się wraz z przyjęciem rozwiązań opartych na WebTransport+WebCodecs+WebAssembly, w której wprowadzi się alternatywa dla WebRTC dla przeglądarki na żywo w przeglądarkach.
Czy to może zastąpić WebRTC? Do przesyłania strumieniowego mediów – tak.
Czy w ten sposób przemysł będzie? To jeszcze nie widać, ale zdecydowanie coś do śledzenia.