PROBLEM:
WebRTC bietet Peer-to-Peer-Video- / Audioverbindungen. Es ist perfekt für P2P-Anrufe, Hangouts. Aber was ist mit Rundfunk (eins zu viele, zum Beispiel 1 zu 10000)?
Nehmen wir an, wir haben einen Sender "B" und zwei Teilnehmer "A1", "A2". Natürlich scheint es lösbar zu sein: Wir verbinden einfach B mit A1 und dann B mit A2. Also sendet B einen Video- / Audiostream direkt an A1 und einen weiteren Stream an A2. B sendet Streams zweimal.
Stellen wir uns nun vor, es gibt 10000 Teilnehmer: A1, A2, ..., A10000. Dies bedeutet, dass B 10000 Streams senden muss. Jeder Stream hat eine Geschwindigkeit von ~ 40 KB / s, was bedeutet, dass B eine ausgehende Internetgeschwindigkeit von 400 MB / s benötigt, um diese Sendung aufrechtzuerhalten. Inakzeptabel.
URSPRÜNGLICHE FRAGE (OBSOLETE)
Ist es irgendwie möglich, dies zu lösen, sodass B nur einen Stream auf einem Server sendet und die Teilnehmer diesen Stream einfach von diesem Server abrufen? Ja, dies bedeutet, dass die Ausgangsgeschwindigkeit auf diesem Server hoch sein muss, aber ich kann sie beibehalten.
Oder bedeutet dies vielleicht, die WebRTC-Idee zu ruinieren?
ANMERKUNGEN
Flash funktioniert nicht für meine Anforderungen gemäß schlechtem UX für Endkunden.
LÖSUNG (NICHT WIRKLICH)
26.05.2015 - Derzeit gibt es keine solche Lösung für skalierbares Broadcasting für WebRTC, bei der Sie überhaupt keine Medienserver verwenden. Es gibt sowohl serverseitige als auch hybride Lösungen (p2p + serverseitige Lösungen, abhängig von unterschiedlichen Bedingungen) auf dem Markt.
Es gibt zwar einige vielversprechende Technologien wie https://github.com/muaz-khan/WebRTC-Scalable-Broadcast, aber sie müssen diese möglichen Probleme beantworten: Latenz, allgemeine Stabilität der Netzwerkverbindung, Skalierbarkeitsformel (sie sind wahrscheinlich nicht unendlich skalierbar ).
VORSCHLÄGE
- Verringern Sie die CPU / Bandbreite, indem Sie sowohl Audio- als auch Video-Codecs optimieren.
- Holen Sie sich einen Medienserver.