API สตรีมมิงแบบสดของ YouTube ช่วยให้คุณสร้าง อัปเดต และจัดการการถ่ายทอดสดบน YouTube ได้ คุณสามารถใช้ API เพื่อกําหนดเวลากิจกรรม (ประกาศ) และเชื่อมโยงกับสตรีมวิดีโอ ซึ่งเป็นตัวแทนของเนื้อหาการออกอากาศจริง
Liveสตรีมมิงแบบสด API ประกอบด้วยส่วนประกอบของ YouTube Data API และ YouTube Content ID API Data API ช่วยให้ผู้ใช้ YouTube จัดการบัญชี YouTube ของตน ส่วน YouTube Content ID API จะช่วยให้โต้ตอบกับระบบการจัดการสิทธิ์ของ YouTube อย่างไรก็ตาม แหล่งข้อมูลทั้งหมดประกอบด้วย Live Streaming API จะใช้เพื่อสร้างและจัดการการถ่ายทอดสดเท่านั้น
เอกสารนี้มีไว้สําหรับนักพัฒนาซอฟต์แวร์ที่ต้องการเขียนแอปพลิเคชันเพื่ออํานวยความสะดวกในการถ่ายทอดสดบน YouTube โดยจะอธิบายแนวคิดเบื้องต้นของ YouTube และตัว API และยังมีภาพรวมของฟังก์ชันต่างๆ ที่ API รองรับด้วย
แนวคิดหลัก
- การออกอากาศ
- การประกาศแสดงถึงกิจกรรมที่สามารถรับชมบน YouTube ได้แบบเรียลไทม์ คุณยังสามารถบันทึกและบันทึกเป็นวิดีโอ YouTube เพื่อให้ผู้ใช้สามารถรับชมหลังจากที่จบแล้วได้
- สตรีม
- สตรีมจะระบุเนื้อหาเสียงและวิดีโอที่กําลังสื่อสารกับ YouTube การออกอากาศแต่ละรายการจะเชื่อมโยงกับสตรีมวิดีโอ 1 รายการ
- จุดเริ่มโฆษณา
- จุดเริ่มโฆษณาแสดงถึงช่วงพักโฆษณาที่สามารถแทรกลงในการถ่ายทอดสดได้
กรณีการใช้งาน API
ลิสต์ด้านล่างแนะนําวิธีใช้ API ในแอปพลิเคชันของคุณหลายวิธี
-
กําหนดเวลาเผยแพร่และกําหนดการตั้งค่าการออกอากาศ แอปพลิเคชันของคุณจะช่วยให้ผู้ใช้กําหนดการตั้งค่าการออกอากาศไว้ล่วงหน้าและเลือกการตั้งค่าที่จะใช้กับการออกอากาศได้
-
เชื่อมโยงสตรีมวิดีโอและการออกอากาศ
-
ให้ผู้ออกอากาศกําหนดข้อมูลเกี่ยวกับการออกอากาศและวิดีโอ (โดยใช้ Data API ของ YouTube) พร้อมกัน
-
ทําให้การเปลี่ยนระหว่างสถานะการประกาศ (
testing
,live
ฯลฯ) ง่ายขึ้น และให้ผู้ใช้แทรกจุดเริ่มโฆษณาได้
ก่อนจะเริ่ม
-
คุณต้องมีบัญชี Google จึงจะเข้าถึง Google API Console ได้ ขอคีย์ API และลงทะเบียนแอปพลิเคชันได้
-
ลงทะเบียนแอปพลิเคชันกับ Google เพื่อให้แอปพลิเคชันสามารถส่งคำขอ API
-
หลังจากลงทะเบียนแอปพลิเคชันแล้ว ให้เลือก YouTube Data API เป็นบริการที่แอปพลิเคชันของคุณใช้ ดังนี้
- ไปที่ API Console แล้วเลือกโปรเจ็กต์ที่คุณเพิ่งลงทะเบียน
- ไปที่หน้า API ที่เปิดใช้ ในรายการ API ให้ตรวจสอบสถานะเปิดสําหรับ YouTube Data API v3 และ API ของ YouTube สําหรับพาร์ทเนอร์เนื้อหา YouTube
-
ทําความคุ้นเคยกับแนวคิดหลักของรูปแบบข้อมูล JSON (JavaScript Object Notation) JSON คือรูปแบบข้อมูลที่ไม่เกี่ยวกับภาษาซึ่งพบได้ทั่วไปซึ่งนําเสนอโครงสร้างข้อมูลแบบง่ายในรูปแบบข้อความที่เรียบง่าย สำหรับข้อมูลเพิ่มเติม โปรดดู json.org
การให้สิทธิ์คําขอ API
ดังที่กล่าวไว้ข้างต้น Live Streaming API ใช้ฟังก์ชันที่เป็นส่วนหนึ่งของทางเทคนิคใน YouTube Data API หรือ YouTube Content ID API คุณใช้ Content ID API เพื่อส่งข้อมูลเมตา ข้อมูลการเป็นเจ้าของ และข้อมูลนโยบายสําหรับเนื้อหาของคุณให้กับ YouTube ได้ (การถ่ายทอดสดวิดีโอเป็นตัวอย่างของเนื้อหา) API นี้ยังช่วยให้คุณอ้างสิทธิ์วิดีโอและกําหนดนโยบายโฆษณาสําหรับวิดีโอได้อีกด้วย
ส่วนนี้อธิบายข้อกําหนดในการให้สิทธิ์สําหรับคําขอที่ส่งไปยัง Content ID API ซึ่งแตกต่างจากข้อกําหนดในการให้สิทธิ์คําขอ Live Streaming API อื่นๆ
- กําลังโทรหา Data API
- คําขอ API ต้องได้รับอนุญาตจากบัญชี Google ที่เป็นเจ้าของช่อง YouTube ที่ออกอากาศ
- กําลังโทรหา Content ID API
- คําขอ API ต้องได้รับอนุญาตจากบัญชี Google ที่ลิงก์กับเจ้าของเนื้อหาซึ่งเป็นเจ้าของช่อง YouTube ที่ออกอากาศ
ทรัพยากรและประเภททรัพยากร
ทรัพยากรคือเอนทิตีข้อมูลแต่ละรายการที่มีตัวระบุที่ไม่ซ้ํากัน ตารางด้านล่างอธิบายทรัพยากรประเภทต่างๆ ที่คุณจะโต้ตอบด้วยโดยใช้ Live Streaming API ในทางเทคนิคแล้ว ทรัพยากรเหล่านี้ทั้งหมดถือว่าเป็นส่วนหนึ่งของ YouTube Data API หรือ YouTube Content ID API อย่างไรก็ตาม ทรัพยากร liveBroadcast
, liveStream
และ cuepoint
จะใช้เพื่อสร้างและจัดการการถ่ายทอดสดเท่านั้น
ทรัพยากร | |
---|---|
liveBroadcast |
มีข้อมูลเกี่ยวกับกิจกรรมที่คุณกําลังออกอากาศบน YouTube ทรัพยากร liveBroadcast เป็นส่วนขยายของทรัพยากรวิดีโอ YouTube และตั้งค่าข้อมูลเมตาของวิดีโอที่เกี่ยวข้องกับการถ่ายทอดสด ไม่ใช่ในวิดีโอ YouTube อื่นๆด้วยเหตุนี้ ทรัพยากร liveBroadcast จะสอดคล้องกับทรัพยากรวิดีโอ YouTube จํานวน 1 รายการ
เราพบว่าทรัพยากร liveBroadcast และทรัพยากร video จะใช้รหัสเดียวกัน และหลังจากสร้างการออกอากาศโดยใช้ Live Streaming API แล้ว คุณจะใช้ YouTube Data API เพื่อระบุข้อมูลเมตาเพิ่มเติมเกี่ยวกับวิดีโอได้ |
liveStream |
มีข้อมูลเกี่ยวกับสตรีมวิดีโอที่คุณกําลังส่งไปยัง YouTube สตรีมจะมอบเนื้อหาที่จะออกอากาศให้แก่ผู้ใช้ YouTube เมื่อสร้างแล้ว ทรัพยากร liveStream จะเชื่อมโยงกับทรัพยากร liveBroadcast ได้ 1 รายการ (ในทํานองเดียวกัน ทรัพยากร liveBroadcast จะผูกกับทรัพยากร liveStream ได้เพียง 1 รายการเท่านั้น |
cuepoint |
แทรกจุดเริ่มโฆษณาในวิดีโอที่ออกอากาศซึ่งอาจทําให้เกิดช่วงพักโฆษณา ใช้เมธอด liveBroadcasts.cuepoint เพื่อแทรกจุดเริ่มโฆษณาระหว่างการออกอากาศ
|
video |
แสดงวิดีโอ YouTube รายการเดียว ตามที่ระบุไว้ข้างต้น ทรัพยากร liveBroadcast เป็นส่วนขยายของทรัพยากร video คุณใช้ YouTube Data API เพื่ออัปเดตข้อมูลเมตาเกี่ยวกับวิดีโอได้ เช่น ตําแหน่งการบันทึกหรือภูมิภาคที่รับชมได้ |
videoAdvertisingOptions |
กําหนดการตั้งค่าโฆษณาสําหรับวิดีโอ (หรือการออกอากาศ) คุณใช้ YouTube Content ID API เพื่อตั้งค่าตัวเลือกการโฆษณา |
asset |
แสดงถึงทรัพย์สินทางปัญญา เช่น ภาพยนตร์หรือตอนของรายการ ในกรณีนี้ วิดีโอที่เผยแพร่คือเนื้อหา คุณจะใช้ YouTube Content ID API เพื่อสร้างและจัดการทรัพยากร asset ได้ |
claim |
ลิงก์วิดีโอกับชิ้นงานที่วิดีโอตรงกัน คุณสร้างการอ้างสิทธิ์โดยใช้ YouTube Content ID API เพื่อระบุตัวคุณเองว่าเป็นเจ้าของวิดีโอการออกอากาศ |
policy |
กําหนดกฎซึ่งระบุสถานการณ์ที่คุณต้องการให้เนื้อหาของคุณรับชมบน YouTube หรือบล็อกไม่ให้แสดงบน YouTube คุณต้องใช้นโยบายกับวิดีโอที่เผยแพร่ และสามารถระบุนโยบายที่ YouTube จะมีผลกับวิดีโอที่ผู้ใช้อัปโหลดซึ่งตรงกับวิดีโอการออกอากาศของคุณ |
การดําเนินการที่รองรับ
ตารางต่อไปนี้แสดงวิธีต่างๆ ที่ API รองรับ
การทำงาน | |
---|---|
list |
เรียกดู (GET ) รายการทรัพยากรเป็น 0 ขึ้นไป |
insert |
สร้างทรัพยากรใหม่ (POST ) |
update |
แก้ไข (PUT ) ทรัพยากรที่มีอยู่ให้สอดคล้องกับข้อมูลในคําขอของคุณ |
bind |
ลิงก์ทรัพยากร liveBroadcast กับทรัพยากร liveStream หรือนําลิงก์ดังกล่าวออก |
transition |
เปลี่ยนสถานะของทรัพยากร liveBroadcast และเริ่มกระบวนการที่เกี่ยวข้องกับสถานะใหม่ เช่น เมื่อคุณเปลี่ยนสถานะการออกอากาศเป็น testing YouTube จะเริ่มส่งวิดีโอไปยังสตรีมการตรวจสอบของการออกอากาศนั้น |
delete |
นําทรัพยากร (DELETE ) ออก |
ตารางด้านล่างระบุการดําเนินการที่รองรับทรัพยากรประเภทต่างๆ การดําเนินการที่แทรก อัปเดต หรือลบทรัพยากรจะต้องมีการให้สิทธิ์ผู้ใช้เสมอ ในบางกรณี เมธอด list
จะรองรับทั้งคําขอที่ได้รับอนุญาตและไม่ได้รับอนุญาต โดยที่คําขอที่ไม่ได้รับอนุญาตจะเรียกข้อมูลสาธารณะเท่านั้น ในขณะที่คําขอที่ได้รับอนุญาตยังสามารถดึงข้อมูลที่จํากัดไว้เฉพาะผู้ใช้ที่ตรวจสอบสิทธิ์แล้วในปัจจุบันด้วย
การดําเนินการที่รองรับ | |||||||
---|---|---|---|---|---|---|---|
list | insert | update | bind | transition | cuepoint | delete | |
liveBroadcast | |||||||
สตรีมแบบสด |
แหล่งข้อมูลบางส่วน
API อนุญาตให้เรียกข้อมูลทรัพยากรบางส่วนได้จริงๆ และบังคับให้แอปพลิเคชันหลีกเลี่ยงการโอน แยกวิเคราะห์ และจัดเก็บข้อมูลที่ไม่จําเป็น วิธีนี้ยังช่วยให้มั่นใจว่า API ใช้ทรัพยากรเครือข่าย, CPU และหน่วยความจําได้อย่างมีประสิทธิภาพมากขึ้น
พารามิเตอร์ part
คือพารามิเตอร์ที่จําเป็นสําหรับคําขอ API ที่ดึงหรือแสดงผลทรัพยากร YouTube Data API พารามิเตอร์จะระบุพร็อพเพอร์ตี้ทรัพยากรระดับบนสุด (ไม่ซ้อน) อย่างน้อย 1 รายการที่ควรรวมไว้ในการตอบกลับ API เช่น ทรัพยากร liveStream
มีส่วนต่อไปนี้
snippet
cdn
status
ชิ้นส่วนเหล่านี้ทั้งหมดคือออบเจ็กต์ที่มีพร็อพเพอร์ตี้ที่ซ้อนกัน และคิดว่าออบเจ็กต์เหล่านี้เป็นกลุ่มช่องข้อมูลเมตาที่เซิร์ฟเวอร์ API อาจ (หรืออาจไม่ดึง) ดังนั้น พารามิเตอร์ part
จึงต้องเลือกคอมโพเนนต์ทรัพยากรที่แอปพลิเคชันใช้จริง ข้อกําหนดนี้มีวัตถุประสงค์ที่สําคัญ 2 ประการดังนี้
- ลดเวลาในการตอบสนองโดยการป้องกันไม่ให้เซิร์ฟเวอร์ API ใช้เวลาเรียกข้อมูลช่องข้อมูลเมตาที่แอปพลิเคชันไม่ได้ใช้
- ช่วยลดการใช้แบนด์วิดท์โดยการลด (หรือกําจัด) ปริมาณข้อมูลที่ไม่จําเป็นที่แอปพลิเคชันของคุณอาจเรียกข้อมูล
เมื่อเวลาผ่านไปทรัพยากรต่างๆ มีส่วนเพิ่มขึ้น สิทธิประโยชน์เหล่านี้จะเพิ่มขึ้นเนื่องจากแอปพลิเคชันจะไม่ขอพร็อพเพอร์ตี้ที่เพิ่งแนะนําซึ่งไม่รองรับ
เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุด
อ้างสิทธิ์เนื้อหาของคุณ
หากต้องการแสดงโฆษณาระหว่างการออกอากาศ คุณต้องอ้างสิทธิ์วิดีโอการออกอากาศก่อนที่กิจกรรมจะเริ่มต้นขึ้น คุณต้องเป็นพาร์ทเนอร์ด้านเนื้อหาของ YouTube ที่เข้าร่วมในโปรแกรม Content ID เพื่ออ้างสิทธิ์เนื้อหา
ขั้นตอนการอ้างสิทธิ์วิดีโอการถ่ายทอดสดแตกต่างจากขั้นตอนปกติของการอ้างสิทธิ์วิดีโอ เมื่ออ้างสิทธิ์วิดีโอสด คุณจะต้องสร้างการอ้างสิทธิ์ก่อนจะมีวิดีโอนั้นอยู่จริง API รองรับการดําเนินการนี้ และเอกสารอายุการใช้งานของการออกอากาศจะอธิบายการเรียก YouTube Content ID API ที่ให้คุณสร้างการอ้างสิทธิ์ได้
ดูตัวอย่างและทดสอบเนื้อหา
เมื่อได้รับสตรีมวิดีโอขาเข้าแล้ว YouTube จะประกาศวิดีโอดังกล่าวในสตรีมขาออก 2 สตรีมที่แตกต่างกันได้
-
สตรีมการตรวจสอบช่วยให้คุณดูตัวอย่าง (และทดสอบ) การเผยแพร่วิดีโอได้ สตรีมส่วนตัวที่มีเพียงคุณเท่านั้นที่เข้าถึงได้ คุณสามารถเปลี่ยนการออกอากาศเป็น
testing
ได้เฉพาะกรณีที่เปิดใช้สตรีมการตรวจสอบการออกอากาศเท่านั้น สตรีมการตรวจสอบจะไม่แสดงช่วงพักโฆษณา -
สตรีมการประกาศคือสตรีมที่ผู้ชมของคุณมองเห็นได้ คุณตั้งค่าสถานะความเป็นส่วนตัวของการออกอากาศเป็น
public
,private
หรือunlisted
ได้ (การออกอากาศส่วนตัวจะปรากฏต่อผู้ใช้ที่ได้รับเชิญให้รับชมอย่างชัดแจ้งเท่านั้น ในขณะที่ทุกคนที่มีลิงก์จะมองเห็นได้ในการออกอากาศที่ไม่เป็นสาธารณะ)คุณสามารถเลือกที่จะเลื่อนสตรีมการออกอากาศออกไปเพื่อไม่ให้สตรีมทํางานพร้อมกันกับสตรีมจอภาพ ความล่าช้าของสตรีมการออกอากาศช่วยให้คุณควบคุมจุดที่คุณแทรกจุดเริ่มออกอากาศได้ละเอียดยิ่งขึ้น
แต่การล่าช้าของสตรีมการออกอากาศจะทําให้ผู้นําเสนอสตรีมแบบสดโต้ตอบกับผู้ชมที่ต้องการดูได้ยาก นอกจากนี้ ความล่าช้าในการออกอากาศยังเพิ่มโอกาสที่ผู้ชมจะค้นพบรายละเอียดสําคัญเกี่ยวกับกิจกรรมจากแหล่งที่มาที่ไม่ใช่การออกอากาศของคุณ ตัวอย่างเช่น หากคุณออกอากาศการแข่งขันกีฬาที่มีเวลาล่าช้า 60 วินาที ผู้ชมอาจได้เรียนรู้เกี่ยวกับช่วงสําคัญของเหตุการณ์จากแหล่งข่าวแบบเรียลไทม์อื่นๆ ก่อนที่จะเห็นเหตุการณ์จริงในการออกอากาศ
YouTube ขอแนะนําให้คุณเปิดใช้สตรีมการตรวจสอบสําหรับการออกอากาศเพื่อให้คุณทดสอบเนื้อหาได้ นอกจากนี้ คุณยังควรเลือกที่จะเลื่อนการออกอากาศโดยอิงตามความต้องการที่จะควบคุมช่วงเวลาของจุดเริ่มโฆษณาหรือไม่ จากความต้องการที่จะโต้ตอบกับผู้ชมหรือนําเสนอกิจกรรมแบบเรียลไทม์
การลงโฆษณาตอนกลางระหว่างการออกอากาศ
ในระหว่างการออกอากาศ คุณแทรกจุดเริ่มโฆษณาเพื่อระบุว่าช่วงพักโฆษณาควรเริ่มออกอากาศโดยเร็วที่สุดหรือตามเวลาที่ระบุไว้ ช่วงพักโฆษณาช่วยให้ YouTube แสดงโฆษณาตอนกลางระหว่างการออกอากาศได้
ช่วงพักโฆษณามีลักษณะดังต่อไปนี้
-
มีระยะเวลาที่กําหนดไว้ล่วงหน้าซึ่งคุณตั้งค่าไว้โดยใช้พร็อพเพอร์ตี้
durationSecs
ของทรัพยากรcuepoint
หลังจากช่วงพักโฆษณาสิ้นสุดลง ผู้ชมจะกลับไปที่การถ่ายทอดสด -
เมื่อเกิดช่วงพักโฆษณา โฆษณาจะเล่นในโปรแกรมเล่นวิดีโอเฉพาะสําหรับผู้ชมที่รับชมการออกอากาศเมื่อมีการแทรกจุดเริ่มโฆษณา โฆษณาจะไม่ทํางานเมื่อผู้ชมรีเฟรชหน้าเว็บที่ออกอากาศ หรือเมื่อผู้เข้าชมเริ่มดูการออกอากาศหลังจากแทรกจุดเริ่มโฆษณา
ลําดับขั้นตอนด้านล่างแสดงถึงแนวทางปฏิบัติแนะนําสําหรับการแทรกช่วงพักโฆษณาระหว่างการออกอากาศ
ตั้งการชดเชยเวลา
เมื่อแทรกจุดเริ่มโฆษณา คุณระบุได้ว่าควรแทรกจุดใดทันทีหรือแทรกจุดใดจุดหนึ่งไว้ในการออกอากาศ ตัวเลือกจะขึ้นอยู่กับว่าสตรีมการออกอากาศสําหรับวิดีโอล่าช้าหรือไม่
-
หากสตรีมการออกอากาศล่าช้า คุณสามารถแทรกจุดเริ่มโฆษณาทันทีหรือใช้พร็อพเพอร์ตี้
walltimeMs
เพื่อให้ช่วงพักโฆษณาเริ่มต้นในเวลาที่ต้องการ-
หากต้องการเริ่มต้นช่วงพักโฆษณาทันที โปรดเรียกใช้เมธอด
liveBroadcasts.cuepoint
ในค่าของทรัพยากรคําขอ ให้ตั้งค่าของพร็อพเพอร์ตี้insertionOffsetTimeMs
เป็น0
หรือไม่ระบุค่าของพร็อพเพอร์ตี้นั้น และอย่าระบุค่าของพร็อพเพอร์ตี้walltimeMs
สําคัญ: โปรดทราบว่าผู้ชมจะไม่เห็นเนื้อหาโฆษณาที่เกิดขึ้นทันที อาจมีความล่าช้าประมาณ 30 วินาทีกว่าที่เนื้อหาโฆษณาจะปรากฏต่อผู้ใช้ ในระหว่างระยะเวลาดังกล่าว ผู้ชมจะยังเห็นสตรีมการออกอากาศของคุณอยู่และคุณต้องดูสตรีมดังกล่าวเพื่อดูว่าเนื้อหาโฆษณาจะแสดงเมื่อใดแทนสตรีมที่เฝ้าติดตาม
-
หากต้องการเริ่มช่วงพักโฆษณาในเวลาใดเวลาหนึ่ง ให้เรียกใช้เมธอด
liveBroadcasts.cuepoint
และใช้พร็อพเพอร์ตี้walltimeMs
เพื่อระบุเวลาที่ต้องการ ค่าพร็อพเพอร์ตี้เป็นจํานวนเต็มที่แทนการประทับเวลา Epoch
-
หากต้องการเริ่มต้นช่วงพักโฆษณาทันที โปรดเรียกใช้เมธอด
-
หากสตรีมการออกอากาศล่าช้า คุณสามารถแทรกจุดเริ่มโฆษณาได้ทันทีตามที่อธิบายไว้ข้างต้น ระบุเวลานาฬิกาตามที่อธิบายไว้ข้างต้น หรือระบุการชดเชยเวลาเพื่อกําหนดว่าช่วงพักโฆษณาจะเริ่มเมื่อใด การชดเชยเวลาจะระบุจุดหนึ่งในการออกอากาศของคุณเมื่อผู้ชมควรเห็นโฆษณา
ค่าออฟเซ็ตจะวัดเป็นมิลลิวินาทีนับจากจุดเริ่มต้นของสตรีมการตรวจสอบสําหรับการออกอากาศ โปรดทราบว่าหากการออกอากาศมีระยะทดสอบ สตรีมที่ตรวจสอบจะเริ่มเมื่อการออกอากาศเปลี่ยนเป็นสถานะ
testing
มิเช่นนั้น สตรีมการตรวจสอบจะเริ่มต้นเมื่อการออกอากาศเปลี่ยนเป็นสถานะlive
เมื่อแทรกจุดเริ่มงาน ให้ตั้งค่าพร็อพเพอร์ตี้
insertionOffsetTimeMs
ของทรัพยากรcuepoint
เป็นออฟเซ็ตที่ต้องการ
คํานวณค่าการชดเชยเวลา
หากต้องการเรียกค่าออฟเซ็ตให้เรียกใช้ฟังก์ชัน getCurrentTime
ของ YouTube Player API สําหรับโปรแกรมเล่นที่เล่นสตรีมจอภาพ ใช้ค่าที่ดึงมาเพื่อแทรกจุดเริ่มโฆษณาในสตรีมการออกอากาศในเวลานั้น
ค่าที่เป็นไปได้สําหรับระยะเวลาชดเชยสามารถคํานวณเป็นช่วงต่อไปนี้
[(elapsed_time - broadcast_delay + Δ), (elapsed_time - Δ)]
Δ
เป็นบัฟเฟอร์ 5 วินาทีที่จุดเริ่มต้นและจุดสิ้นสุดของการชดเชยเวลาที่เป็นไปได้เมื่อ YouTube ไม่สามารถแทรกจุดเริ่มโฆษณาได้อย่างแม่นยํา เช่น
- การออกอากาศมีช่วงทดสอบ 5 นาที
- สตรีมการออกอากาศล่าช้า 60 วินาทีหลังจากสตรีมตรวจสอบ
- ผู้ออกอากาศจะแทรกจุดเริ่มโฆษณาหลังจากที่การออกอากาศเปลี่ยนเป็นสถานะ
live
เป็นเวลา 4 นาที (นี่เป็น 3 นาทีหลังจากการสตรีมปรากฏขึ้น)
ในกรณีนี้ ช่วงเวลาที่ชดเชยได้คือ [(485,000), (535,000)]
เวลาเหล่านี้จะระบุเป็นมิลลิวินาทีและคํานวณโดยใช้ค่าต่อไปนี้
elapsed_time=540000
– สตรีมการตรวจสอบจะทํางานเป็นเวลา 9 นาที (540 วินาที 540, 000 มิลลิวินาที) เมื่อมีการเรียกเมธอดliveBroadcasts.cuepoint
broadcast_delay=60000
– สตรีมการออกอากาศล่าช้า 60 วินาทีหรือ 60, 000 มิลลิวินาทีΔ=5000
– บัฟเฟอร์ 5 วินาทีเมื่อแทรกจุดเริ่มโฆษณาได้อย่างน่าเชื่อถือ
การแก้ปัญหาและการจัดการข้อผิดพลาด
หลักเกณฑ์ต่อไปนี้อธิบายวิธีแก้ไขปัญหาที่อาจเกิดขึ้นได้ นอกจากนี้ โปรดดูเอกสารแสดงข้อผิดพลาดสําหรับรายการข้อผิดพลาดที่เมธอด API แต่ละเมธอดอาจแสดงผล
-
เมื่อการออกอากาศเปลี่ยนจากสถานะหนึ่งไปยังอีกสถานะหนึ่ง ระบบอาจกําหนดสถานะดังกล่าวให้มีสถานะอื่นชั่วคราว ขณะที่ YouTube ดําเนินการที่เกี่ยวข้องกับการเปลี่ยนนั้นให้เสร็จสิ้น ตัวอย่างเช่น หากคุณส่งคําขอ
liveBroadcasts.transition
เพื่อเปลี่ยนสถานะการออกอากาศจากready
เป็นtesting
YouTube จะตั้งสถานะการออกอากาศเป็นtestStarting
จากนั้นดําเนินการที่เกี่ยวข้องกับการเปลี่ยนแปลงสถานะให้เสร็จสมบูรณ์ เมื่อการดําเนินการทั้งหมดเสร็จเรียบร้อยแล้ว YouTube จะอัปเดตสถานะการออกอากาศเป็นtesting
ซึ่งบ่งชี้ว่าการเปลี่ยนเสร็จสมบูรณ์หากการออกอากาศอยู่ในสถานะ
testStarting
หรือliveStarting
คุณจะต้องเรียกใช้เมธอดliveBroadcasts.delete
และลบการออกอากาศ จากนั้นสร้างการออกอากาศใหม่ เชื่อมโยงกับสตรีมแบบสด และดําเนินกระบวนการทดสอบต่อไปตามที่ระบุไว้ในเอกสารประกอบของเมธอด
liveBroadcasts.transition
คุณควรยืนยันว่าค่าของพร็อพเพอร์ตี้status.streamStatus
สําหรับสตรีมที่เชื่อมโยงกับการออกอากาศคือactive
ก่อนที่จะเรียกใช้เมธอดนั้น