סימניות

במדריך הזה מוסבר איך להטמיע סימניות באמצעות IMA DAI SDK כשמשתמשים בהטמעת מודעות דינמיות (DAI) בשידורי וידאו על פי דרישה (VOD). ההנחה היא שהטמעת מודעות IMA DAI תקינה, כמו זו שמוצגת בקטע תחילת העבודה.

מהי הוספה לסימניות?

הוספה לסימניות היא היכולת לשמור ולחזור לנקודה מסוימת בזרם התוכן. נניח שמשתמש צופה בתוכן במשך חמש דקות, עוזב את זרם הווידאו ולאחר מכן חוזר אליו. הוספה של תוכן לסימניות מאפשרת למשתמש להמשיך בסטרימינג מהנקודה שבה הוא הופסק, וכך לספק לצופה חוויה חלקה.

הוספת סימניות של DAI לעומק

כשמוסיפים לסימניות שידור DAI, צריך לתעד את מזהה השידור ואת השעה שבו המשתמש עוזב את הסרטון. כשהמשתמש יחזור, בקשו מחדש את השידור ומבקשים לחסוך לזמן. מכיוון שבכל מופע של השידור המבוקש יכולות להיות הפסקות למודעות במשכי זמן שונים, פשוט שמירת משך הזמן של השידור לא תעבוד. מה שאתם באמת רוצים לעשות הוא להמשיך מאותו זמן תוכן.

שיטות המרה להצלה

ב-IMA DAI SDK יש שתי שיטות לבקש את משך הזמן להצגת התוכן בזמן שידור נתון, ואת שעת השידור לכל זמן תוכן. בעזרת שיטות ההמרה האלה אפשר לאחסן את זמן התוכן שנוסף לסימניות ואז לחפש את שעת השידור המתאימה במופע החדש של השידור. זו הגישה, כולל קישור לאפליקציה לדוגמה שמציגה הטמעה תקינה של סימניות.

שומר סימניות

שמירת סימנייה כשנגן התוכן מושהה.

onPause() {
   var bookmarkTime = Math.floor(
   streamManager.contentTimeForStreamTime(videoElement.currentTime));
}

הסימניות נטענות

צריך לטעון את הסימניה כשמבקשים שידור חוזר.

function loadUrl(url) {
  hls.on(Hls.Events.MANIFEST_PARSED, () => {
    var startTime = 0;
    if (bookmarkTime) {
      var startTime = streamManager.streamTimeForContentTime(bookmarkTime);
      // Seeking on load triggers the onSeekEnd event, so treat this seek as
      // if it's snapback. Without this, resuming at a bookmark kicks you
      // back to the ad before the bookmark.
      isSnapback = true;
    }
    hls.startLoad(startTime);
    videoElement.addEventListener('loadedmetadata', () => { videoElement.play(); });
  });
  hls.loadSource(url);
  hls.attachMedia(videoElement);
}

אפליקציה לדוגמה

כדי לראות הטמעה של סימניות, צריך להוריד את האפליקציה לדוגמה.