2013-06-20 12 views
5

Jestem nowy webrtc. Poszedłem za tutorialem z http://www.html5rocks.com/en/tutorials/webrtc/basics/#toc-security na webrtc i mogłem trochę pogadać.Broadcast WebRTC na dużą skalę

Jeśli chcę nadawać do większej liczby użytkowników, powiedzmy, jak 1000 użytkowników lub więcej, to jakie rzeczy muszę wziąć pod uwagę przy projektowaniu takiej aplikacji?

I googled trochę, ale wszystko, co mam, to implementacje Webrtc i kilka pytań, takich jak moje. Ale nie mam żadnej konkretnej odpowiedzi do tej pory.

+0

Proszę spojrzeć na odpowiedzi w http://stackoverflow.com/questions/17134778/how-does-webrtc-handle-many-to-many-connections – Makkes

Odpowiedz

2

Podana odpowiedź jest nieco niepoprawna. Jeśli mówimy o skalowaniu, podany link nic na nim nie robi. Jeśli przejdziesz do "demo transmisji" https://www.webrtc-experiment.com/RTCMultiConnection/video-broadcasting.html i przetestujesz, zobaczysz, że nadawca nie wysyła pojedynczego strumienia wideo, ale N strumieni, gdzie N to liczba "słuchaczy" lub "uczestników transmisji". Tak więc nadawca wkrótce osiągnie wąskie gardło połączenia. Na przykład pojedynczy strumień wychodzący wymaga 40 KB/s, więc jest to ~ 40 MB/s dla 1000 użytkowników, co jest ... nie do przyjęcia, jak sądzę.

Jedynym sposobem na zbudowanie skalowalnej aplikacji jest użycie rozwiązania po stronie serwera. Nie ma znaczenia, czy między nadawcą a słuchaczem będzie niewielkie opóźnienie, nie jest to rozmowa na żywo, tak jak w telewizji.

+0

Tak, myślałem również o kwestii przepustowości. Trochę utknęło po tym, jak o tym pomyślałem. Obecnie analizowanie red5, choć obsługuje tylko flash, pozwala spróbować. – karthick

+0

Myślałem, że demo RTCMultiConnection zaimplementowało schemat peer to peer, aby zmniejszyć wymagania dotyczące przepustowości pierwotnego nadawcy. – freakTheMighty

+0

RTCMultiConnection opiera się na wielu połączeniach 1: 1. Powinieneś sprawdzić linki MCU od [this stackoverflow answer] (http://stackoverflow.com/questions/24857637/current-state-of-javascript-webrtc-libraries). Pamiętaj, że połączenie 3-way nie jest możliwe w interfejsie API RTCWeb, również jest uważane za przestarzałą funkcję IETF RTWeb WG. Ponadto nie jest możliwe zaimplementowanie 1: wiele bez użycia jakiejkolwiek wtyczki java-applet/ativex/flash lub serwera mediów. –