עם Media CDN, אפשר להשתמש בתשתית הנרחבת של Google לרישום ביומן ובמסירת יומנים עם השהיה נמוכה כדי לשייך יומנים לכל בקשה לאירוע הפעלה יחיד. הערך הזה עוזר להבין איך התנועה הועברה – מיקום הקצה, תנאי הרשת, בחירת המקור ושגיאות כלשהן – במהלך מחזור החיים של הפעלת הסרטון.
כך עושים את זה:
- כך תוכלו לספק מזהה הפעלה שנוצר על ידי הלקוח בכמה בקשות.
- שילוב עם Cloud Logging כדי לשלוח שאילתות לגבי הפעלות ובקשות פרטניות.
- ייצוא והרצת שאילתות באמצעות BigQuery או באמצעות הפלטפורמה שבחרתם. ניתוח נתונים בהיקף גדול מאפשר לכם לבדוק את זמן האחזור המצטבר ואת הפורמטים שהוצגו במהלך חיי ההפעלה.
השילוב של מעקב אחר הפעלה עם רישום ביומן כמעט בזמן אמת מאפשר לכם ליצור קורלציה בין סשנים של הפעלה לבין האיכות הכוללת של חוויית המשתמש לפי מיקום, סטרימינג או רשת לקוח, ולטפל בבעיות במהירות.
מעקב אחר הפעלה
כדי לשייך כמה בקשות לסשן הפעלה שמוצג למשתמש, צריך ליצור מזהה להפעלה הזו בלקוח. מעקב אחר הפעלת תוכן פועל על ידי הכללת הערך של כותרת או פרמטר שאילתה בכל יומני הבקשות המשויכים.
נגנים כמו Shaka, ExoPlayer ו-AVPlayer של אפל מאפשרים לכם לקשר אירועים של התחלת הפעלה ולהוסיף פרמטרים של שאילתות וכותרות HTTP לבקשות שמוגשות למקור המדיה הזה להזרמה.
הכותרת והפרמטרים של השאילתה מוגדרים כך:
- כותרת הבקשה של HTTP:
Playback-Trace-ID - פרמטר של שאילתה בכתובת URL:
playback-trace-id=
אם גם כותרת ה-HTTP וגם פרמטר השאילתה קיימים בבקשה, נעשה שימוש בכותרת ה-HTTP.
- האורך של מזהה ההפעלה צריך להיות לפחות 12 בייטים (96 ביט) ולא יותר מ-32 בייטים (256 ביט), והוא צריך להיות מופק ממקור אקראי.
- מזהי הפעלה שאורכם קצר מ-12 בייט לא נרשמים ביומן. כדי למנוע התנגשויות.
- מזהי הפעלה ארוכים מ-32 בייט ייחתכו ל-32 הבייט הראשונים שלהם.
מזהי ההפעלה צריכים להיות ייחודיים במשך תקופה של 7 ימים. אחרי תקופה של 7 ימים, כשמזהי ההפעלה חוזרים לשימוש או מתנגשים, כל קבוצת בקשות נחשבת להפעלה נפרדת.
דוגמה: יצירת מזהה הפעלה ב-Shaka Player
כדי ליהנות ממעקב אחר הפעלות בהיקף נרחב, כל הפעלה של סרטון על ידי משתמש צריכה לכלול מזהה הפעלה לכל הבקשות שמוגשות עבור קטעים (ואופציונלית, מניפסטים). מזהה ההפעלה הזה צריך להיות זהה בכל הבקשות במהלך הפעלה כדי לאסוף נתונים סטטיסטיים מצטברים.
דוגמה:
- המערכת יוצרת מזהה הפעלה בטעינת הסרטון.
- הוא נשלח רק באחזור פלחים, ולא במניפסטים.
אם רוצים להשתמש במזהה הפעלה קיים, כמו מזהה שסופק על ידי מערכת ניהול התוכן וניתוח הנתונים בצד הלקוח, צריך להזין את הערך הזה במאפיין playbackSessionId.
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;
}
});