In den Code von OBS Studio, einem Paket für Streaming, Compositing und Videoaufzeichnung, wurden Änderungen zur Implementierung der Unterstützung der WebRTC-Technologie aufgenommen, die anstelle des RTMP-Protokolls für das Streaming von Video ohne einen Zwischenserver verwendet werden kann, wobei der Inhalt im P2P-Modus direkt im Browser des Benutzers übertragen wird.
Die Umsetzung von WebRTC basiert auf der Verwendung der Bibliothek libdatachannel, die in C++ geschrieben ist. In der aktuellen Version wird nur das Broadcasting (Videoausgabe) in WebRTC unterstützt, und es wird ein Dienst zur Unterstützung des WHIP-Prozesses bereitgestellt, der für die Einrichtung von Sitzungen zwischen dem Server und dem WebRTC-Client verwendet wird. Der Code zur Unterstützung von WebRTC als Quelle befindet sich derzeit noch in der Überprüfung.
WebRTC ermöglicht es, die Verzögerung bei der Videoübertragung auf Bruchteile von Sekunden zu reduzieren, was die Erstellung interaktiver Inhalte und die Interaktion mit Zuschauern in Echtzeit ermöglicht, beispielsweise durch die Durchführung von Talkshows. Mit WebRTC kann man nahtlos zwischen Netzwerken wechseln, ohne das Streaming zu unterbrechen (zum Beispiel von WLAN zu einem mobilen Netzwerk) und mehrere Video Streams innerhalb einer einzigen Sitzung übertragen, beispielsweise für Aufnahmen aus verschiedenen Blickwinkeln oder die Organisation interaktiver Videos.
WebRTC ermöglicht auch das Laden mehrerer Varianten bereits transcodierter Streams mit unterschiedlichen Qualitätsstufen für Benutzer mit unterschiedlicher Bandbreite, um die Transcodierung auf der Client-Seite zu vermeiden. Server. Es ist die Verwendung verschiedener Video-Codecs möglich, z.B. H.265 und AV1, um die Anforderungen an die Bandbreite zu senken. Als Referenzimplementierung eines Servers für Streams auf WebRTC-Basis wird die Verwendung von Broadcast Box vorgeschlagen, aber für das Streaming an ein kleines Publikum kann man auch ohne Server auskommen, indem man den P2P-Modus einrichtet.
Quelle: opennet.ru
