Der Weg zur Anwendung und Praxis des WebTransport Broadcasting

Praktische Aufmerksamkeit

99e894a8247b5ea57e340d90a414ad43.gif

Trockenware geht nicht verloren

Geschäftliche Herausforderungen des Web-Broadcastings

Unabhängig davon, ob es sich um lokales Software-Streaming oder Web-Streaming handelt, müssen Probleme wie Streaming-Jitter, gut sichtbare Bilder und eingefrorene Audiosignale gelöst werden. Im aktuellen Web-Technologie-Umfeld liegt der Schwerpunkt unseres technischen Teams auf der stabilen Präsentation hochwertiger Audio- und Videostreams für mehr Benutzer. Aus technischer Sicht interpretieren wir hier einige Schlüsselwörter:

  • Stabilität: Die Stabilität des Übertragungsprotokolls selbst muss gewährleistet sein. Eine zuverlässige Übertragung wird bevorzugt, um Probleme wie verschwommenen Bildschirm und Rauschen durch Netzwerkverlust zu vermeiden. Noch wichtiger ist, dass es schnell umgeschaltet werden kann, wenn die Serviceverbindung nicht verfügbar ist. Serviceleitung. Daher ist es notwendig, in Streaming-Szenarien eine mehrzeilige Backup-Funktion bereitzustellen.

  • Hohe Qualität: In einigen Szenarien, wie z. B. Marketingszenarien für Medizin und Schönheitspflege sowie Lieferszenarien, ist es erforderlich, Produktdetails anzuzeigen. Dies erfordert technische Lösungen, um unter der Voraussetzung, dass die Bandbreite dies zulässt, so viele Bilddetails wie möglich auszuwählen planen

  • Großbenutzer: Um mehr Benutzer zu erreichen, wird das technische Lösungsdesign definitiv Live-CDN-Dienste einführen. Ob das Streaming-Protokoll jedoch von Live-CDN unterstützt werden kann, ist ein Gesichtspunkt, der berücksichtigt werden kann, und dieser Punkt kann auch nicht erfüllt werden private Protokolle.

Das technische Prinzip von WebTransport

Lassen Sie uns zunächst kurz die technischen Grundprinzipien des Transportprotokolls WebTransport verstehen. WebTransport ist ein Transportprotokoll der Anwendungsschicht, das auf HTTP3 basiert. Die unterste Schicht von HTTP3 basiert auf dem Quic-Protokoll. Das Quic-Protokoll ist eine Reihe von Transportprotokollen, die auf dem UDP-Protokoll basieren und zuverlässige und unzuverlässige Übertragungen unterstützen.

d29de443335bf2e4d2cb4830b7dbf2d6.png

Technische Vorteile von WebTransport

Die Bedeutung von WebTransport für Webanwendungen beschränkt sich nicht nur auf ein besseres Transportprotokoll, sondern bringt auch einen umfangreicheren Technologie-Stack mit sich, der durch die Kombination von WebCodecs, WebAssembly und WebNN je nach tatsächlichem Szenario ein besseres Anwendungserlebnis erzielen kann. Im Vergleich zum relativ zentralisierten Technologie-Stack von WebRTC ist diese Methode offensichtlich flexibler und es ist einfacher, flexiblere Technologiekombinationen zu erstellen.

0ca51ab9f68fb17393f0bdcc15a7983b.png

Ein weiterer offensichtlicher Vorteil besteht darin, dass WebTransport das Multithreading auf der Seite nutzen kann. Mit dem WebRTC-Protokoll kann eine große Menge an Logik nur im Hauptthread ausgeführt werden, aber mit WebTransport kann der gesamte Audio- und Videoverarbeitungsprozess in WebWorker abgelegt werden , wodurch die Belastung des Haupt-Threads reduziert wird. Die Thread-Belegung verbessert den Seitenfluss. Die gleichzeitige Verwendung mehrerer Threads kann die Skalierbarkeit der Anwendung verbessern, und Threads können zur Abstraktion und Isolierung verwendet werden, wenn mehr Audio- und Videoaufgaben anstehen.

206863a59c0a83ee55b3c8e18d08ea45.png

Nutzen Sie den Multithread-Mechanismus voll aus, um die Belastung des Hauptthreads zu verringern

a5e6357d49cdb879db4802a2c31125a9.png

Verwendung eines Multithreading-Mechanismus zur Verbesserung der Anwendungsskalierbarkeit

In Bezug auf die Eigenschaften des Übertragungsprotokolls ist seine Einrichtungsgeschwindigkeit schneller und für die erste Einrichtung der Assoziation ist nur 1 RTT erforderlich, während TCP 2 bis 3 RTTs benötigt. Für die bereits aufgebaute Verbindung kann 0RTT erreicht werden, indem die Verbindung innerhalb des Timeout-Zeitraums erneut aufgebaut wird. Im Falle einer Netzwerküberlastung ist die Optimierung der Geschwindigkeit durch die Reduzierung der Anzahl der RTTs sehr offensichtlich. Es kann mehrere zehn ms erreichen. Die letzte Funktion ist die Verbindungsmigration, wenn das WLAN-Netzwerk während der Live-Übertragung nicht gut ist. Durch das Wechseln zum Hotspot des Mobiltelefons kann auch 0RTT erreicht werden. Im Gegensatz dazu müssen sowohl TCP als auch RTC die Verbindung wiederherstellen, und die Wiederherstellungsgeschwindigkeit ist viel langsamer.

1d332b7ea11a01360c46858ffb778136.png

Die erste Verbindung ist 1~2RTT schneller als TCP 

2edb5d0789529e4763cf14d7a35c0da4.png

Unterstützt 0RTT für zwischengespeicherte Verbindungen

Aufgrund dieser Vorteile entschied sich das Live-Streaming-Team von Volcano Engine für die Verwendung von WebTransport zur Optimierung des Live-Streamings. Das Entwurfsschema basiert auf der stabilen Übertragung von Einwegströmen, und RTMP ist in Bezug auf das Übertragungsformat Standard, sodass die Supportkosten für Live-CDN relativ gering sind und es besser ist, die aktuelle RTMP-Stream-Empfangslogik wiederzuverwenden . Da dieser Technologie-Stack relativ neu ist, müssen einige Probleme im Prozess gelöst werden: Obwohl W3C die Kodierungsfunktionen von AAC definiert, stellt Chrome keine Implementierung der AAC-Kodierung bereit. Sie kann durch Kompilieren von libFaaC in eine Wasm-Bibliothek implementiert werden Darüber hinaus zielen Browser nicht auf FLV-Container ab. Die Kapselung erfordert zusätzliche Unterstützung für diesen Teil der Funktion. Was ist also der tatsächliche Anwendungseffekt des WebTransport-Streamings im Vergleich zum WebRTC-Streaming?

a172b900cb70b444ff894e7fde2d4329.png

Vergleich von WebTransport- Streaming- und WebRTC- Streaming-Effekten

Warum WebTransport bessere Ergebnisse erzielen kann als WebRTC- Streaming :

Netzwerkübertragung (Qualität und Stabilität):

WebRTC ist ein Transportprotokoll für Echtzeitkommunikation und reagiert empfindlich auf Änderungen der Netzwerklatenz. Wenn das WebRTC-Protokoll zum Pushen von Streams verwendet wird, ist es stark von Netzwerk-Jitter betroffen. Wenn Netzwerkverzögerungs-Jitter auftritt, geht das RTC-Bandbreitenschätzungsmodul davon aus, dass das aktuelle Netzwerk überlastet ist, und es ist erforderlich, das Sendebit zu reduzieren Rate, um eine Überlastung zu vermeiden. Die Auswirkungen einer Reduzierung der Videoqualität sind sehr groß und das intuitive Gefühl wird teilweise als Mosaik erscheinen. Bei Verwendung von WebTransport, das auf der zuverlässigen Quic-Übertragung basiert, reagiert der Überlastungskontrollalgorithmus relativ weniger empfindlich auf Netzwerk-Jitter und kann die Übertragungszuverlässigkeit durch den Verzicht auf eine bestimmte Verzögerung gewährleisten. Daher ist es nicht einfach, die Übertragungsbandbreite stark zu reduzieren, und die Bildqualität ist relativ garantiert.

Codierungsoptimierung (Qualität):

WebTransport bietet Netzwerkübertragungsfunktionen in Web-Spezifikationen und kann tief in vorhandene webseitige Multimedia-Funktionen wie WebCodecs und WebGPU integriert werden. Es bietet mehr Spielraum für das Codierungsformat und die Parameterauswahl zur Anwendungsoptimierung.

Einfache Integration in Live-CDN (Verteilung im großen Maßstab):

WebTransport basiert auf der finalisierten HTTP3-Spezifikation, die einfach zu integrieren ist und von Live-CDN unterstützt wird. Im Vergleich zu WebRTC ist die Anwendungskomplexität geringer und gleichzeitig wird die Signalverbindung im RTC-Push- und Verbindungsaufbauprozess eingespart , was die Geschwindigkeit des ersten Frame-Push beschleunigen kann und praktisch ist. Bereitstellung auf mehr Live-CDNs

Erstens ist im Fall von Netzwerk-Jitter, wenn auch der Verzögerungs-Jitter von 100 ms hinzugefügt wird, das Bild des WebTransport-Streamings offensichtlich klarer als das des RTC-Streamings. Im Netzwerk-Preemption-Szenario ist eine niedrigere Bandbreite festgelegt, und der Datenfluss verwendet den GCC-Überlastungskontrollalgorithmus. Im Vergleich zur Datenübertragung mithilfe des TCP-Protokolls sind die Bandbreitenressourcen, die er zuweisen kann, sehr gering.

23ec8b41ddbe085c265ebef473e741f7.png

WebTransport-Streaming + 100 ms Verzögerungsjitter

acde28659dad8033e30db4a81cc5ac3c.png

 WebRTC-Streaming + 100 ms Verzögerungsjitter

Darüber hinaus werden in einem Netzwerk mit einer festen Upstream-Bandbreite von 3 Mbit/s WebTransport und RTC-Streaming gleichzeitig verwendet und die Zielbitrate ist auf 1,5 M eingestellt. Während des Vorgangs wird die Bitrate des RTC-Streamings erheblich beeinträchtigt. und die Bitrate sinkt stark. Garantierte Bildqualität. Die fließende Leistung des WebTransport-Streamings unter verschiedenen Netzwerkbedingungen kann im Wesentlichen der des RTC-Streamings in anderen Szenarien entsprechen, mit Ausnahme einer großen Anzahl von Paketverlustfällen.

caf8b821d25c37099627ecab5b7e9828.png

WebTransport-Streaming

bc28a78c404556c6ef1b6a70d2ba1d6e.png

 WebRTC-Streaming

Zusammenfassung und Ausblick

Verschiedene Streaming-Protokolle haben ihre eigenen Vor- und Nachteile. Derzeit gibt es keine perfekte Lösung. Sie muss entsprechend dem tatsächlichen Szenario ausgewählt werden. Beispielsweise ist im Lianmai-Szenario im Allgemeinen WebRTC-Retweeting erforderlich, das für niedrige Latenzzeiten besser geeignet ist interaktive Szenarien. Die WebTransport-Lösung eignet sich besser für Szenen mit hohen Anforderungen an die Bildqualität. Im Allgemeinen löst die WebTransport-Streaming-Lösung das Problem, „wie man einer großen Anzahl von Benutzern stabil hochwertiges Audio und Video liefert“, das heißt, sie erreicht eine zuverlässige Übertragung, garantiert Verbindungsstabilität und leidet nicht unter Netzwerkverlusten. In einigen Szenarien kann die Audio- und Videoqualität garantiert werden, indem ein Teil der Verzögerung geopfert wird, was zu einer relativ zufriedenstellenden Antwort führt. Wenn Sie den Übertragungseffekt von WebTransport erleben möchten, können Sie die Volcano Engine-Konsole für eine Online-Demo-Erfahrung aufrufen.

f73bae2dcd29c18a796cc2807e7c46de.png

16e39f79376e2d98a27b224d8f331e11.png Klicken Sie auf „Originaltext lesen“, um es jetzt zu erleben!

Je suppose que tu aimes

Origine blog.csdn.net/ByteDanceTech/article/details/131179726
conseillé
Classement