คู่มือนี้จะแสดงวิธีใช้การบุ๊กมาร์กโดยใช้ IMA DAI SDK เมื่อใช้การแทรกโฆษณาแบบไดนามิก (DAI) สำหรับสตรีมวิดีโอตามคำขอ (VOD) โดยสมมติว่ามีการใช้งาน IMA DAI ที่ใช้งานได้ตามที่แสดงใน เริ่มต้นใช้งาน
การบุ๊กมาร์กคืออะไร
การสร้างบุ๊กมาร์กเป็นความสามารถในการบันทึกจุดที่เฉพาะเจาะจงในสตรีมเนื้อหา สมมติว่าผู้ใช้คนหนึ่งดูเนื้อหานาน 5 นาที ออกจากสตรีมวิดีโอ แล้วกลับมา การสร้างบุ๊กมาร์กจะบันทึกตำแหน่งของผู้ใช้ในสตรีม ดังนั้นสตรีมจะกลับมาที่จุดที่ดูค้างไว้ ทำให้ผู้ชมได้รับประสบการณ์ที่ราบรื่น
การบุ๊กมาร์ก DAI ขั้นสูง
เมื่อบุ๊กมาร์กสตรีม DAI คุณต้องบันทึกรหัสสตรีมและเวลาเมื่อผู้ใช้ออกจากวิดีโอ เมื่อผู้ใช้กลับมา ให้ขอสตรีมอีกครั้งและมองหาเวลาที่บันทึกไว้ เนื่องจากแต่ละอินสแตนซ์ของสตรีมที่ขออาจมีช่วงพักโฆษณาตามระยะเวลาที่ต่างกัน การบันทึกเวลาของสตรีมจึงไม่ทำงาน สิ่งที่คุณจะทำจริงๆ คือทำต่อจากเวลาแสดงเนื้อหาเดิม
วิธีการ Conversion ที่ช่วยได้
IMA DAI SDK มีวิธีขอเวลาของเนื้อหาสำหรับเวลาสตรีมที่ระบุ และเวลาสตรีมสำหรับเวลาของเนื้อหาที่ระบุ เมื่อใช้วิธี Conversion เหล่านี้ คุณจะจัดเก็บเวลาของเนื้อหาที่บุ๊กมาร์กไว้ จากนั้นค้นหาเวลาในสตรีมที่สอดคล้องกันในอินสแตนซ์ใหม่ของสตรีมได้ นี่คือวิธีการ ซึ่งรวมถึงลิงก์ไปยังแอปตัวอย่างที่แสดงการใช้บุ๊กมาร์กที่ทำงานอยู่
การบันทึกบุ๊กมาร์ก
บันทึกบุ๊กมาร์กเมื่อโปรแกรมเล่นเนื้อหาหยุดชั่วคราว
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);
}
แอปตัวอย่าง
ดาวน์โหลดแอปตัวอย่าง เพื่อดูการใช้บุ๊กมาร์ก