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