Uns wird ein Echtzeitvideo ohne Friese und Zuckungen versprochen


Jedes Mal, wenn ich Skype, Zoom oder Hangouts starte, warte ich mit Interesse auf eine neue Menge Pfosten mit Video und Ton. Technologie enttäuscht mich selten: Quaken, Hintergrundgeräusche, Sprachverlust, Aufteilen von Videos in „Quadrate“, eingefrorene Frames und andere Freuden von Videokonferenzen werden, wie ich mich erinnere, von Videoanrufen heimgesucht. Das Interesse ist weitgehend professionell: Neben der programmierbaren Telefonie für normale Telefone, Webseiten und mobile Anwendungen liefern wir bei Voximplant Videos an Entwickler. Ich möchte Full HD in Echtzeit, ohne Friese, in jedem Browser und die Konferenz hat ungefähr 50 Personen. Interessanterweise funktioniert es im Labor einfach so. In einigen Parks auf 3G kann die Video-Konsultation mit einem Arzt zu einer rundenbasierten Strategie werden: Pakete gehen verloren! Der moderne Technologie-Stack erlaubt es uns noch nicht, mit dem "blinkenden" Internet gleichberechtigt zu kämpfen, aber die Forschung ist ständig im Gange. Unter einer für Habr angepassten Kat- Übersetzung für Salsify : eine Legierung aus einem Video-Codec und einem Netzwerkprotokoll, das Probleme bei der Übertragung von Videos in Echtzeit minimiert.

Ein Team aus Stanford führte ein Experiment durch: Es ersetzte den gesamten Quilt moderner Videokonferenztechnologien durch ein Komprimierungs- und Übertragungsprotokoll über das Netzwerk.

Videokonferenzen: lllllags, ffffffreezes und Ruckeln


Nach einer Weile verschwinden die Probleme von selbst. Manchmal - zusammen mit dem Bild, stattdessen ein schwarzer Bildschirm. Die Ergebnisse reichen von "Warten Sie ein paar Minuten, das Raster blinkt" bis "Teleoperation kann abgeschlossen werden, der Patient ist tot". Wissenschaftler aus Stanford gingen das Problem dramatisch an und entwickelten von Grund auf einen Netzwerkstapel, einen Codec und eine Möglichkeit, Daten zu übertragen, und zwar ausschließlich zum Zweck: bessere Ergebnisse als Skype, FaceTime, Hangouts und Chrome + WebRTC.

Der Stanford-Doktorand Sajjad Foladi, der die Studie leitet, präsentierte die Ergebnisse auf der NSDI'18-Kernkonferenz . Die Ideen, die der „von Grund auf neu“ -Lösung zugrunde liegen, stehen allen Beteiligten zur Verfügung und können in kommerziellen Lösungen verwendet werden. Natürlich, wenn jemand den gesamten Stapel ersetzen möchte.


„Die Videoübertragung über das Internet hat sich über Jahrzehnte weiterentwickelt. Jetzt ähnelt der Technologie-Stack eher einem Patchwork-Quilt “, sagt Keith Winstein, Associate Professor für Informatik. "Sajjad hat gezeigt, wie man diese Teile auf andere Weise zusammenbauen kann, um qualitativ bessere Videos und weniger Latenz zu erhalten."

Aber über den Zeitpunkt der Einführung von Winstein vorsichtiger. „Jetzt denken wir über Änderungen nach, damit die Echtzeit-Videoübertragung eines Tages zuverlässiger wird. Es wird sehr nützlich bei Telemedizin- und Roboteroperationen sein “, sagt er. "Aber in der Software, die jetzt verwendet wird, sind all diese Änderungen schwierig vorzunehmen."

Neuer Ansatz, neuer Name


Das Stanford-Team nannte seinen Rahmen „Schwarzwurzeln“ (Ziegengärtner, eine solche „Blume“, die in seiner Jugend einem Löwenzahn vage ähnelt - ein Kommentar eines Übersetzers). Das Framework löst das Problem, das durch die Tatsache verursacht wird, dass die „Echtzeit-Videoübertragung“ jetzt aus zwei verschiedenen Technologien besteht. Dies ist ein „Codec“, der Videos komprimiert, und ein „Netzwerkprotokoll“, das kleine Datenmengen über das Netzwerk überträgt und zu erraten versucht, wann die nächsten Daten gesendet werden müssen, damit sie nicht aus dem Weg geworfen werden, da das Netzwerk überlastet ist und im Allgemeinen alles schlecht ist. Das Problem ist, dass diese beiden Komponenten, oft von verschiedenen Unternehmen, getrennt voneinander entwickelt und dann in Produkten wie Skype oder FaceTime kombiniert wurden.

Foladi ist sich sicher: Um das Problem mit Friesen und Verzögerungen zu lösen, müssen der Codec und der Netzwerkstapel zusammenarbeiten. Schließlich ist es wichtig, das Paket nicht nur pünktlich über das Netzwerk zu senden. Sie benötigen die richtigen Daten in diesem Paket! Und vor 3 Sekunden kein Video, das auf der Empfangsseite immer noch als "zu alt" ausgeworfen wird. Laut Projektmanager „beginnen Probleme, wenn das Transportprotokoll und der Codec die Synchronisation verlieren.“ Aus diesem Grund hat das Team einen neuen Codec erstellt, der so gut wie möglich in das Transportprotokoll integriert ist. Ein Algorithmus steuert die Komprimierung von Videobildern, die Bildung von Netzwerkpaketen und deren Senden. Somit „kennt“ der Videostream den Status des Netzwerks in Echtzeit und versucht, ihn nach Möglichkeit „einzupassen“.

Schon ein Frame, der nicht rechtzeitig gesendet wird, kann zu Rucken und Friesen führen. Salsify sendet niemals einen Frame, wenn dies zu Netzwerkproblemen führen kann

Sehen und glauben


Die Forscher führten viele Tests durch, in denen Salsify mit Microsoft Skype, Google Hangouts, Apple FaceTime und Google Chrome + WebRTC verglichen wurde. Im Durchschnitt reduziert Salsify die Verzögerung um das Vierfache (!!!) und die Bildqualität wird um 60% besser (gemäß der Methode zur Änderung der strukturellen Ähnlichkeit, SSIM). Ein Nebeneinander-Vergleich mit Chrome 65 WebRTC ist fertig und es wurde eine separate Website für das Projekt erstellt. Open Source- Projekt: Sie können die Best Practices herunterladen, studieren und anwenden.

Jeder hat Probleme mit Videokonferenzen. Es ist sehr cool, an einem Projekt zu arbeiten, das etwas bewirken soll.

Source: https://habr.com/ru/post/de419423/


All Articles