Verbesserung der Qualitätsmessung von Videostreams: Aktive Testclients vs. Analyse auf Netzwerkebene
In der heutigen hypervernetzten Welt, in der Videostreaming zu einem integralen Bestandteil unseres täglichen Lebens geworden ist, befinden sich Internetdienstanbieter (ISPs) und Content Provider in einem unerbittlichen Kampf, um ihren Kunden ein erstklassiges Videoerlebnis zu bieten. Die traditionellen Methoden zur Überwachung der Qualität von Videostreams aus den 2000er Jahren sind jedoch aufgrund der HTTPS-Verschlüsselung unbrauchbar geworden.
In ihrem Bemühen, nahtloses Streaming zu gewährleisten, haben ISPs erkannt, dass die bloße Messung des verschlüsselten Netzwerkverkehrs nicht ausreicht, um eine echte Bewertung des Zuschauererlebnisses vorzunehmen. Wie also können ISPs und Inhaltsanbieter die Qualität der Videos, die ihre Kunden ansehen, wirklich messen? Die Antwort liegt in einer Messeinrichtung, die sich in die Lage des Zuschauers versetzt. In diesem Beitrag erläutern wir die Hintergründe, diskutieren die Lösung des Monitorings von verschlüsselten Streams und stellen schließlich unsere Technologie vor. Wir erläutern, warum wir glauben, dass dies die bestmögliche Methode zur Bewertung der Videoqualität ist, und geben einige Beispiele aus der Praxis. Sind Sie bereit?
Dann los geht’s.
Die Herausforderungen verstehen
Es ist eine alte Frage (zumindest für Internet-Standards), die Netzneutralität, „Quality of Service“-ähnliche Bandbreitengestaltung, Peering-Verträge und letztlich möglicherweise frustrierte Endnutzer betrifft. Welche Daten können ISPs verwenden, um sicherzustellen, dass ihre Kunden Videos in hoher Qualität streamen können? Welche Daten werden Over the Top (OTT) oder CDN-Anbieter mit ISPs teilen, um dies zu ermöglichen, wenn überhaupt?
(Anmerkung des Autors: Die Antworten scheinen zu sein: 1) sehr wenig und 2) sehr wenig, je nachdem, wen man fragt).
Früher war es möglich, YouTube-Streams passiv zu überwachen, während sie über die Netze liefen, und zwar bis auf die Ebene der einzelnen Videosegmente. Mit solchen Daten war es selbst bei einem großen Gesamtdatenvolumen einfach, einen Blick in die Streams der einzelnen Nutzer zu werfen. Möchten Sie wissen, welche Videoauflösungen abgespielt werden? Das konnte man leicht anhand der URL-Signaturen herausfinden. Stalling? Ahmen Sie einfach den Buffer des Videoplayers nach.
Leider ist die Verschlüsselung heute allgegenwärtig (und das ist auch gut so™!). Aus der Sicht eines Kommunikationsdienstleisters bedeutet dies jedoch, dass Ihnen nur grundlegende Informationen über die Streaming-Erfahrung Ihrer Nutzer zur Verfügung stehen:
- Die ungefähre Dauer der Videositzungen
- den Durchsatz und die Gesamtmenge der übertragenen Daten
- Die beteiligten CDNs (über DNS-Anfragen, aber das kann sich ändern)
Sie können diese Daten verwenden, um einen allgemeinen Überblick über die Streaming-Nutzung zu erhalten und möglicherweise Ausfälle für Ihre Nutzer zu erkennen (z. B. wenn das Verkehrsaufkommen plötzlich abnimmt). Ohne detailliertere Informationen ist es für ISPs jedoch schwierig, die Qualität von Videostreams genau zu beurteilen und Probleme oder Engpässe zu erkennen, die sich auf das Erlebnis des Zuschauers auswirken können. Im Idealfall möchten Sie wissen, welches Qualitätsniveau die Kunden erhalten (z. B. in Bezug auf die Videoauflösung) und ob sie mit schwerwiegenden Problemen wie dem Abwürgen konfrontiert werden könnten.
Für Internetanbieter ist es auch wichtig, ihren Kunden ein bestimmtes Service Level zu garantieren. Dies geschieht in Form von Bandbreitenkapazitäten und Serviceverfügbarkeit. Aber die Nutzer denken nicht in Bandbreiten (zumindest die Nicht-Techniker). Sie wollen 4K-Videos streamen. Sie wollen Cloud-Gaming spielen und finden es nutzbar. Wie kann man diese Anwendungs-KPIs erkennen, wenn man nur die reinen Netzwerkmetriken betrachtet? Einige Länder gehen sogar so weit, Mindestanwendungskriterien für Dienste vorzuschreiben, die Kunden regelmäßig nutzen können müssen. Dafür müssen Sie diese KPIs kennen.
Eine Lösung, die dank der Fortschritte im Bereich des maschinellen Lernens (ML) – insbesondere des Deep Learning (DL) – praktikabel geworden ist, besteht in der Analyse des verschlüsselten Datenverkehrs auf einer niedrigeren Schicht des ISO/OSI-Stacks und der Ableitung/Vorhersage der KPIs auf Anwendungsebene aus diesen Daten. Im nächsten Abschnitt werden wir uns auf diesen Ansatz konzentrieren. Wir werden aber auch eine Alternative behandeln – aktive Testclients.
Analyse verschlüsselter Netzwerke
In den letzten Jahren gab es erhebliche Fortschritte bei der Analyse des verschlüsselten Netzwerkverkehrs, um durch den Einsatz von Big Data und maschinellen Lernverfahren Erkenntnisse über die Qualität von Videostreams zu gewinnen.
Bei diesem Ansatz werden Modelle (Algorithmen) trainiert, um Muster zu erkennen und relevante Informationen aus den verschlüsselten Paketen auf der TCP-Ebene zu extrahieren. Durch die Analyse von Merkmalen wie Paketgröße, Ankunftszeit und Nutzlastcharakteristiken versuchen diese Modelle, Leistungskennzahlen und die Qualität von Videoströmen abzuleiten, ohne dass eine Entschlüsselung erforderlich ist. Irena Orsolic et al. haben ein Framework zur Bewertung der Qualität von Videostreams auf der Grundlage von verschlüsseltem Datenverkehr vorgestellt. Sarah Wassermann et al. haben ebenfalls eine Methode zur Einschätzung der YouTube-Qualität anhand verschlüsselter Streams vorgestellt. Ein weiterer Ansatz von Tarun Mangla et al. verwendet ebenfalls ML, um qualitätsrelevante Merkmale vorherzusagen. Steve Göring et al. (mit denen wir schon früher Beiträge verfasst haben) klassifizierten die Streaming-Qualität ebenfalls auf der Grundlage des ITU-T Rec. P.1203 QoE-Modell. Diese Ansätze wurden alle online veröffentlicht und können von der Öffentlichkeit nachvollzogen werden.
Wo das Monitoring verschlüsselter Netzwerke versagt
Allerdings gibt es auch einige Nachteile. Alle diese Lösungen haben gemeinsam, dass sie die Videoqualität hauptsächlich anhand von Auflösungsklassen (hoch/niedrig), Abwürgen (kein Abwürgen, Abwürgen) oder QoE (z. B. niedrige/hohe QoE) vorhersagen. Eine feinkörnigere Ausgabe ist nicht möglich, da die Genauigkeit der Vorhersage nicht hoch genug ist. Darüber hinaus sind die oben genannten Modelle noch nicht für die Praxis geeignet – wir haben nur akademische Beschreibungen der Algorithmen.
Außerdem wird immer ein großer Datensatz benötigt, um solche Modelle zu trainieren und zu testen. Es wird eine spezielle Software benötigt, um Messergebnisse über einen bestimmten Zeitraum mit der richtigen Granularität zu sammeln, Kapazitäten für das Training von Algorithmen und die Hardware/Infrastruktur, um die enorme Datenmenge zu bewältigen, wenn das Ergebnis in die Praxis umgesetzt wird.
Ein Problem bei solchen Modellen ist, dass sie, sobald sie trainiert sind, eingefroren werden. Aber was passiert, wenn ein OTT-Anbieter seinen Videocodec auf einen effizienteren umstellt, wie es YouTube vor ein paar Jahren mit der Einführung von AV1 getan hat? Alle zuvor trainierten Modelle würden aufgrund der unterschiedlichen Beziehungen zwischen Bitrate, Auflösung und erreichbarer Qualität ungenauer, wenn nicht gar unbrauchbar werden. Das Gleiche gilt für Änderungen am Playout-Algorithmus. Und haben wir schon QUIC erwähnt? Ein anderer Transport bedeutet, dass man aus der Sicht des Netzwerks andere Merkmale lernen muss. Schließlich müssten Sie diese Übung für viele verschiedene Streaming-Anbieter durchführen, da sie alle ein wenig anders arbeiten.
Es gibt kommerzielle Lösungen, die behaupten, die QoE für verschiedene OTT-Anwendungen allein auf der Grundlage des verschlüsselten Datenverkehrs vorherzusagen. Diese gehen so weit zu sagen, dass man mit diesem Ansatz „die YouTube-QoE messen“ kann, aber unseres Wissens nach wurde keine dieser Lösungen in Bezug auf die Vorhersagegenauigkeit extern validiert. Sie könnten also eine allgemeine Lösung erhalten, die eine Art von Qualitätsbewertung vorhersagt, aber wenn es darum geht, die Gründe für eine schlechte QoE zu beheben, wissen Sie möglicherweise nicht, was die Ursache dafür ist. Diese Methoden ermöglichen es ISPs zwar, qualitätsrelevante Daten in großem Umfang zu erfassen – und das kann für die Erkennung von Ausfällen oder Änderungen der Verkehrsmuster durchaus nützlich sein -, sie können jedoch nicht die detaillierten Ergebnisse liefern, die man beim tatsächlichen Streaming eines Videos erhält. Oder möchten Sie vielleicht die Basisdaten für die Erstellung eines ML-basierten Modells für die Überwachung verschlüsselter Streams erhalten? An dieser Stelle kommen aktive Messclients ins Spiel.
Clients für aktives Monitoring
Alles begann mit einer Idee in den 2010er Jahren. Was wäre, wenn wir die Videoqualität von einem Client aus messen könnten – so wie der Kunde sie wahrnimmt? Was wäre, wenn wir dies auf eine leichtgewichtige Art und Weise tun könnten, die keine komplexe Aufnahme- und Synchronisationseinrichtung erfordert? So entwickelten wir die ersten Prototypen dessen, was heute der Surfmeter ist. Die Messungen werden direkt aus dem Kontext entnommen, den ein Benutzer in einer aktiven Überwachungsumgebung sehen würde. Wir lösen die Messungen auf der Grundlage eines vordefinierten Zeitplans aus und können im Voraus entscheiden, was wir messen wollen.
Der Vorteil dieses Ansatzes liegt auf der Hand:
- Wir messen die reale Situation. Wir machen keine Annahmen darüber, was passiert oder wie verschiedene Dienste funktionieren.
- Unsere Lösung funktioniert mit jedem Dienst, der in einem Webbrowser läuft. (Wir haben auch etwas für Mobiltelefone, aber das ist ein Thema für einen anderen Beitrag!)
- Wir können die genauen Zeitabläufe des Dienstes und seiner Leistung nachvollziehen – von Website-Ladevorgängen bis hin zu Videoladezeiten, Qualitätswechseln oder Werbung.
- Sie können Ihr Messszenario definieren, von der Displaygröße über den gewählten Videoinhalt bis hin zu simulierten Bandbreitenbeschränkungen.
- Zusätzliche Debug-Daten können aus den Client-Anwendungen extrahiert werden, z. B. die berühmten YouTube-Metriken „Stats for Nerds“ oder ein vollständiger PCAP-Dump der Streaming-Sitzung zusammen mit einer Bildschirmaufzeichnung.
Darüber hinaus ist unser Ansatz zur Berechnung einer Qualitätsbewertung ganz anders. Sie müssen verstehen, dass damals – und auch heute noch – viele Lösungen zur Messung der Videoqualität die Analyse des Videosignals selbst (d. h. der Pixel) und den Vergleich des empfangenen Videos mit einer auf einem Server gespeicherten Referenz erfordern. Dies ist ein sogenannter „Full Reference“-Ansatz (FR). FR-basierte Messungen sind nicht nur sehr rechenintensiv, sie sind auch nicht sehr praktisch. In vielen Fällen haben Sie nicht einmal Zugriff auf das Originalvideo, da Sie nicht der Dienstanbieter sind. Natürlich könnte man adaptives Streaming messen, indem man das abgespielte Video mit einer heruntergeladenen Version des Videos auf dem Server vergleicht, aber auch das ist oft unmöglich. Dies schließt die Verwendung von Videoqualitätsmodellen wie VMAF aus. Da die Anbieter von Inhalten einen DRM-Schutz verwenden, kommt eine Aufzeichnung des Bildschirms in vielen Fällen nicht in Frage. Wir verlassen uns daher auf Metadaten- und Bitstream-basierte Modelle, um die Qualität von Streaming-Sitzungen direkt aus dem Browser oder dem Gerät, auf dem die Streams empfangen werden, abzuleiten.
Wenn Sie eine Demonstration davon sehen möchten (und keine Angst vor ein paar Befehlszeilen-Terminals haben), sollten Sie sich dieses YouTube-Video ansehen. Darin erklären wir die Arten von Messungen, die durchgeführt werden können, und wie die Ergebnisse aussehen.
Was aktives Monitoring leisten kann und was nicht
Das ist natürlich ein Vergleich zwischen Äpfeln und Birnen: Mit einem aktiven Überwachungsansatz erhalten Sie viel feinkörnigere Daten, aber Sie können nicht schnell große Datensätze erhalten (im Vergleich zur passiven Aufnahme aller verschlüsselten Streams).
Die Operationalisierung der Stream-Überwachung in einem großen Netzwerk ist mit aktiven Clients möglicherweise nicht möglich, insbesondere wenn Sie Ausfälle in bestimmten Kundensegmenten erkennen müssen, die von einer aktiven Überwachungsinstanz möglicherweise nicht abgedeckt werden. Diese aktiven Clients geben Ihnen jedoch einen guten Anhaltspunkt dafür, was ein Kunde erleben könnte, insbesondere wenn sie in einem bekannten Kontext eingerichtet werden (z. B. an einem Router in Ihrem Labor, irgendwo im Backbone, bei Ihren Kunden zu Hause auf einem kleinen Gerät usw.). Auf diese Weise können Sie andere Probleme auf der Benutzerseite ausschließen. (Und seien wir ehrlich: Beschwerden beim Kundendienst kommen auch dann vor, wenn bei Ihnen alles in Ordnung ist).
Unsere Lösung funktioniert nicht nur auf Hardware: Sie können diese Surfmeter-basierten Messsonden in jeder virtuellen Maschine oder jedem Host einsetzen, der Docker-Container ausführen kann. So können Sie die Messungen problemlos auf eine größere Anzahl von Geräten und Standorten ausweiten.
Ein ganzheitlicher Ansatz zur Messung der OTT-Performance
Wir sind der Meinung, dass Sie eine aktive und automatisierte Testlösung einrichten müssen, um Ihr Netzwerk und die Leistung verschiedener OTT-Dienste darin vollständig zu verstehen. Damit können Sie:
- Planen Sie eine Reihe von Tests für stark genutzte OTT-Dienste, die nachahmen, was Ihre Kunden bei der Nutzung des Internets tun könnten.
- Sammeln Sie Funktionen auf Netzwerkebene und Leistungsdaten in Trace-Dateien, die Ihnen die Fehlersuche unter der Haube ermöglichen.
- Erhalten Sie tiefe Einblicke auf Anwendungsebene, die sonst nicht verfügbar sind.
Diese Art von Daten ist wertvoll, weil sie nicht durch andere Faktoren gestört werden, da Sie wissen, wo Sie sie gesammelt haben. Mit einer aktiven Datenerfassungspipeline können Sie die erhaltenen Merkmale auf Netzwerkebene auch mit den Informationen auf Anwendungsebene (z. B. Videoladezeiten, Videoauflösungen, QoE-Bewertungen) kombinieren. Auf diese Weise können Sie ähnliche Analysen durchführen, wie sie in der Literatur beschrieben werden. Sie können dann Analysen auf Netzwerkebene für verschlüsselte Streams mit Ihren neuen Erkenntnissen über Anwendungs-KPIs und QoE korrelieren und Modelle trainieren, um letztere vorherzusagen.
Unsere Kunden sind besonders an den genauen Details der Dienste interessiert, die über ihre Netzwerke gestreamt werden. Ob es darum geht, mögliche Engpässe an bestimmten Standorten zu erkennen, sicherzustellen, dass die OTTs wie beabsichtigt und von den Regulierungsbehörden vorgeschrieben funktionieren, oder die Fähigkeiten neuer Zugangsprodukte zu testen – der aktive Messansatz garantiert einzigartige Einblicke in diese Faktoren.
Setzen Sie sich mit uns in Verbindung, wenn Sie an einer Demonstration dieses Ansatzes interessiert sind oder wenn Sie einen bestimmten Anwendungsfall im Kopf haben, über den Sie mit uns sprechen möchten.