Mit Media CDN können Sie die umfangreiche Logging-Infrastruktur von Google und die Logbereitstellung mit niedriger Latenz verwenden, um Logs pro Anfrage einem einzelnen Wiedergabe-Ereignis zuzuordnen. So können Sie nachvollziehen, wie der Traffic während der gesamten Lebensdauer einer Wiedergabe bereitgestellt wurde: der Edge-Standort, die Netzwerkbedingungen, die Auswahl des Ursprungs und mögliche Fehler.
So gehts:
- Ermöglicht die Angabe einer vom Kunden erstellten Wiedergabe-ID für mehrere Anfragen.
- Einbindung in Cloud Logging für Abfragen über Wiedergaben und einzelne Anfragen hinweg.
- Exportieren und Abfragen mit BigQuery oder mit einer Plattform Ihrer Wahl. Bei der skalierten Datenanalyse kannst du dir die kumulierten Latenzen und gesendeten Formate während der gesamten Wiedergabe ansehen.
In Kombination mit der nahezu Echtzeit-Protokollierung kannst du Wiedergabesitzungen und die allgemeine Wiedergabequalität nach Standort, Stream oder Clientnetzwerk korrelieren und Probleme schnell beheben.
Wiedergabe erfassen
Wenn du mehrere Anfragen einer Wiedergabesitzung für Nutzer zuordnen möchtest, generiere in deinem Client eine ID für diese Wiedergabe. Bei der Wiedergabeaufzeichnung wird der Wert eines Headers oder Abfrageparameters in alle zugehörigen Anfrageprotokolle aufgenommen.
Mit Playern wie Shaka, ExoPlayer und dem AVPlayer von Apple können Sie Start-Ereignisse für die Wiedergabe abfangen und Abfrageparameter und HTTP-Header an die Anfragen für diese Streaming-Medienquelle anhängen.
Die Header- und Abfrageparameter sind so definiert:
- Ein HTTP-Anfrageheader:
Playback-Trace-ID
- Ein URL-Suchparameter:
playback-trace-id=
Der HTTP-Header wird anstelle des Abfrageparameters verwendet, wenn beide in einer Anfrage vorhanden sind.
- Die Wiedergabe-ID muss mindestens 12 Byte (96 Bit) und maximal 32 Byte (256 Bit) lang sein und aus einer Zufallsquelle generiert werden.
- Wiedergabe-IDs, die kürzer als 12 Byte sind, werden nicht protokolliert. So werden Kollisionen vermieden.
- Wiedergabe-IDs, die länger als 32 Byte sind, werden auf die ersten 32 Byte gekürzt.
Wiedergabe-IDs müssen innerhalb eines Zeitraums von sieben Tagen eindeutig sein. Nach Ablauf des Zeitraums von 7 Tagen, wenn Wiedergabe-IDs wiederverwendet werden oder kollidieren, wird jeder Satz von Anfragen als eine separate Wiedergabe behandelt.
Beispiel: Wiedergabe-ID in Shaka Player generieren
Damit das Tracing der Wiedergabe in großem Umfang genutzt werden kann, muss jede Videowiedergabe eines Nutzers eine Wiedergabe-ID für alle Anfragen nach Segmenten (und optional Manifesten) enthalten. Diese Wiedergabe-ID muss für alle Anfragen innerhalb einer Wiedergabe gleich sein, damit zusammengefasste Statistiken erstellt werden können.
Im anschließenden Beispiel geschieht Folgendes:
- Generiert beim Laden des Videos eine Wiedergabe-ID.
- Wird nur bei Segmentabrufen und nicht bei Manifesten gesendet.
Wenn du eine vorhandene Wiedergabe-ID verwenden möchtest, z. B. eine, die von deinem Content-Management-System und deinen clientseitigen Analysen bereitgestellt wird, gib diesen Wert in playbackSessionId
ein.
let playbackSessionId; player.addEventListener('loading', () => { const randomBuffer = crypto.getRandomValues(new Uint8Array(16)); playbackSessionId = shaka.util.Uint8ArrayUtils.toBase64(randomBuffer); }); player.getNetworkingEngine().registerRequestFilter((type, request) => { // Remove this "type" check if you want the header on every request. // Alternately, you can check the request.uris array to send the // header to some servers and not others. if (type == shaka.net.NetworkingEngine.RequestType.SEGMENT) { request.headers['CPN'] = playbackSessionId; } });