Dengan Media CDN, Anda dapat menggunakan infrastruktur logging Google yang ekstensif dan pengiriman log latensi rendah untuk mengaitkan log per permintaan ke satu peristiwa pemutaran. Hal ini membantu Anda memahami cara traffic dikirim—lokasi edge, kondisi jaringan, pemilihan origin, dan error apa pun—sepanjang waktu pemutaran.
Hal ini dicapai sebagai berikut:
- Memungkinkan Anda memberikan ID pemutaran yang dibuat klien di beberapa permintaan.
- Berintegrasi dengan Cloud Logging untuk mengkueri di seluruh pemutaran dan permintaan individual.
- Mengekspor dan membuat kueri dengan BigQuery, atau dengan platform pilihan Anda. Analisis data yang diskalakan memungkinkan Anda melihat latensi gabungan dan format yang ditayangkan selama pemutaran.
Dikombinasikan dengan logging hampir real-time, pelacakan pemutaran memungkinkan Anda mengaitkan sesi pemutaran dan kualitas pengalaman secara keseluruhan menurut lokasi, streaming, atau jaringan klien, dan mengatasi masalah dengan cepat.
Melacak pemutaran
Untuk mengaitkan beberapa permintaan dengan sesi pemutaran yang ditampilkan kepada pengguna, Anda akan membuat ID untuk pemutaran tersebut di klien. Pelacakan pemutaran berfungsi dengan menyertakan nilai header atau parameter kueri di semua log permintaan terkait.
Pemutar seperti Shaka, ExoPlayer, dan AVPlayer Apple memungkinkan Anda mengaitkan peristiwa awal pemutaran dan menambahkan parameter kueri serta header HTTP ke permintaan yang dibuat untuk sumber media streaming tersebut.
Header dan parameter kueri ditentukan sebagai berikut:
- Header permintaan HTTP:
Playback-Trace-ID
- Parameter kueri URL:
playback-trace-id=
Header HTTP digunakan, bukan parameter kueri, jika keduanya ada dalam permintaan.
- ID pemutaran tidak boleh kurang dari 12 byte (96-bit), tidak lebih dari 32 byte (256-bit), dan dibuat dari sumber acak.
- ID pemutaran yang lebih pendek dari 12 byte tidak dicatat ke dalam log. Hal ini untuk menghindari tabrakan.
- ID pemutaran yang lebih panjang dari 32 byte akan terpotong menjadi 32 byte pertama.
ID pemutaran harus unik selama periode 7 hari. Setelah periode 7 hari, saat ID pemutaran digunakan kembali atau bentrok, setiap kumpulan permintaan akan diperlakukan sebagai pemutaran terpisah.
Contoh: Membuat ID pemutaran di Shaka Player
Untuk mendapatkan manfaat dari pelacakan pemutaran dalam skala besar, setiap pemutaran video pengguna harus menyertakan ID pemutaran untuk semua permintaan yang dibuat untuk segmen (dan secara opsional, manifes). ID pemutaran ini harus sama untuk semua permintaan dalam pemutaran guna menggabungkan statistik gabungan.
Contoh berikut:
- Menghasilkan ID pemutaran saat video dimuat.
- Hanya mengirimkannya pada pengambilan segmen, bukan untuk manifes.
Jika Anda ingin menggunakan ID pemutaran yang ada, seperti yang disediakan oleh Sistem Pengelolaan Konten dan analisis sisi klien, isi playbackSessionId
dengan nilai tersebut.
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; } });