ภาพรวม API สตรีมมิ��แบบสดของ YouTube

API สตรีมมิงแบบสดของ YouTube ช่วยให้คุณสามารถสร้าง อัปเดต และจัดการการถ่ายทอดสดบน YouTube ได้ เมื่อใช้ API คุณสามารถวางกำหนดการกิจกรรม (การออกอากาศ) และเชื่อมโยงกิจกรรมเหล่านั้นกับสตรีมวิดีโอ ซึ่งเป็นตัวแทนของเนื้อหาที่ออกอากาศจริง

ที่จริงแล้ว API สตรีมมิงแบบสดประกอบด้วยองค์ประกอบของ API ข้อมูลของ YouTube และ API สำหรับ Content ID ของ YouTube API ข้อมูลช่วยให้ผู้ใช้ YouTube จัดการบัญชี YouTube ของตนได้ ขณะที่YouTube Content ID APIช่วยให้โต้ตอบกับระบบจัดการสิทธิ์ของ YouTube ได้ อย่างไรก็ตาม ระบบจะใช้ทรัพยากรทั้งหมดที่ประกอบขึ้นเป็น API สตรีมมิงแบบสดเพื่อสร้างและจัดการการถ่ายทอดสดเท่านั้น

เอกสารนี้มีไว้สำหรับนักพัฒนาซอฟต์แวร์ที่ต้องการเขียนแอปพลิเคชันเพื่อช่วยสนับสนุนการออกอากาศสดบน YouTube โดยจะอธิบายแนวคิดพื้นฐานของ YouTube และตัว API เอง นอกจากนี้ยังแสดงภาพรวมของฟังก์ชันต่างๆ ที่ API รองรับด้วย

แนวคิดหลัก

การออกอากาศ
การออกอากาศแสดงถึงกิจกรรมหนึ่งๆ ที่ผู้ชมจะรับชมบน YouTube ได้แบบเรียลไทม์ ระบบยังสามารถบันทึกและจัดเก็บการออกอากาศเป็นวิดีโอ YouTube เพื่อให้ผู้ใช้สามารถดูได้หลังจากที่ออกอากาศไปแล้ว
สตรีม
สตรีมจะระบุเนื้อหาเสียงและวิดีโอที่กำลังสื่อสารกับ YouTube การออกอากาศแต่ละครั้งเชื่อมโยงกับสตรีมวิดีโอ 1 รายการ
จุดเริ่มโฆษณา
จุดเริ่มโฆษณาคือช่วงพักโฆษณาที่แทรกลงในการถ่ายทอดสดได้

กรณีการใช้งาน API

รายการด้านล่างจะแนะนำวิธีต่างๆ ในการใช้ API ในแอปพลิเคชันของคุณ

  • กำหนดเวลาออกอากาศและกำหนดการตั้งค่าการออกอากาศ แอปพลิเคชันของคุณสามารถช่วยให้ผู้ใช้กำหนดการตั้งค่าการออกอากาศล่วงหน้าได้ แล้วเลือกการตั้งค่าที่จะใช้กับการออกอากาศที่ต้องการ

  • เชื่อมโยงสตรีมวิดีโอและการออกอากาศ

  • ช่วยให้ผู้ออกอากาศกำหนดข้อมูลเกี่ยวกับการออกอากาศและวิดีโอของรายการ (โดยใช้ YouTube Data API) ไปพร้อมๆ กัน

  • ลดความซับซ้อนในการเปลี่ยนระหว่างสถานะการออกอากาศ (เช่น testing หรือ live) และให้ผู้ใช้แทรกจุดเริ่มโฆษณาได้

ก่อนจะเริ่ม

  1. คุณต้องมีบัญชี Google เพื่อเข้าถึง Google API Console, ขอคีย์ API และลงทะเบียนแอปพลิเคชัน

  2. ลงทะเบียนแอปพลิเคชันกับ Google เพื่อให้แอปพลิเคชันสามารถส่งคำขอ API

  3. หลังจากลงทะเบียนแอปพลิเคชันแล้ว ให้เลือก YouTube Data API เป็นหนึ่งในบริการที่แอปพลิเคชันใช้

    1. ไปที่ API Console แล้วเลือกโปรเจ็กต์ที่คุณเพิ่งลงทะเบียน
    2. ไปที่หน้า API ที่เปิดใช้ ในรายการ API ตรวจสอ��ว่าสถานะใน API ข้อมูลของ YouTube เวอร์ชัน 3 เป็นเปิด และ API สำหรับ Content ID ของ YouTube หากคุณเป็นพาร์ทเนอร์เนื้อหาของ YouTube

  4. ทำความคุ้นเคยกับแนวคิดหลักของรูปแบบข้อมูล JavaScript Object Notation (JSON) JSON เป็นรูปแบบข้อมูลทั่วไปที่ไม่ขึ้นอยู่กับภาษา โดยมีการนำเสนอแบบข้อความอย่างง่ายของโครงสร้างข้อมูลที่กำหนดเอง สำหรับข้อมูลเพิ่มเติม โปรดดู json.org

การให้สิทธิ์คำขอ API

ดังที่กล่าวไว้ข้างต้น API สตรีมมิงแบบสดจะใช้ฟังก์ชันการทำงานที่อยู่ในทางเทคนิคของ API ข้อมูลของ YouTube หรือ API สำหรับ Content ID ของ YouTube คุณใช้ API ของ Content ID เพื่อระบุข้อมูลเมตา ข้อมูลการเป็นเจ้าของ และข้อมูลนโยบาย���ำหรับเนื้อหาแก่ 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 จะแชร์ รหัสเดียวกัน และหลังจากที่สร้างการออกอากาศโดยใช้ API สตรีมมิงแบบสดแล้ว คุณสามารถใช้ API ข้อมูลของ YouTube เพื่อให้ข้อมูลเมตาเพิ่มเติมเกี่ยวกับวิดีโอ
liveStream ประกอบด้วยข้อมูลเกี่ยวกับสตรีมวิดีโอที่คุณกำลังส่งไปยัง YouTube สตรีมมอบเนื้อหาที่จะออกอากาศไปยังผู้ใช้ YouTube เมื่อสร้างแล้ว ทรัพยากร liveStream จะเชื่อมโยงกับทรัพยากร liveBroadcast ได้ 1 รายการเท่านั้น (ในทำนองเดียวกัน ทรัพยากร liveBroadcast จะเชื่อมโยงกับทรัพยากร liveStream ได้เพียง 1 รายการเท่านั้น
cuepoint แทรกจุดเริ่มโฆษณาในสตรีมวิดีโอที่เผยแพร่ ซึ่งอาจเรียกให้ช่วงพักโฆษณาแสดง ใช้เมนู liveBroadcasts.cuepoint วิธีแทรกจุดเริ่มโฆษณาระหว่างการออกอากาศ
video แสดงวิดีโอ YouTube รายการเดียว ตามที่ระบุไว้ข้างต้น ทรัพยากร liveBroadcast เป็นส่วนขยายของทรัพยากร video คุณสามารถใช้ API ข้อมูลของ YouTube เพื่ออัปเดตข้อมูลเมตาเกี่ยวกับวิดีโอ เช่น สถานที่บันทึก หรือภูมิภาคที่จะรับชมการแพร่ภาพได้
videoAdvertisingOptions กำหนดการตั้งค่าการโฆษณาสำหรับวิดีโอ (หรือการออกอากาศ) คุณใช้ YouTube Content ID API เพื่อตั้งค่าตัวเลือกการโฆษณาได้
asset หมายถึงทรัพย์สินทางปัญญา เช่น ภาพยนตร์หรือตอนของรายการ ในกรณีนี้ วิดีโอที่ออกอากาศคือเนื้อหา คุณจะใช้ YouTube Content ID API เพื่อสร้างและจัดการทรัพยากร asset ได้
claim ลิงก์วิดีโอกับเนื้อหาที่ตรงกับวิดีโอ คุณสร้างการอ้างสิทธิ์โดยใช้ YouTube Content ID API เพื่อระบุว่าตนเองเป็นเจ้าของวิดีโอที่ออกอากาศ
policy ก��หนดกฎที่ระบุสถานการณ์ที่คุณต้องการให้เนื้อหาของคุณสามารถดูได้บน YouTube หรือถูกบล็อกไม่ให้ปรากฏบน YouTube คุณจำเป็นต้องใช้นโยบายกับวิดีโอที่ออกอากาศของคุณ และยังสามารถระบุนโยบายให้ YouTube นำไปใช้กับวิดีโอที่ผู้ใช้อัปโหลดซึ่งตรงกับวิดีโอที่ออกอากาศของคุณ

การดำเนินการที่รองรับ

ตารางต่อไปนี้แสดงเมธอดต่างๆ ที่ API รองรับ

การดำเนินการ
list เรียกข้อมูลรายการทรัพยากรศูนย์รายการขึ้นไป (GET)
insert สร้าง (POST) ทรัพยากรใหม่
update แก้ไข (PUT) ทรัพยากรที่มีอยู่เพื่อแสดงข้อมูลในคําขอ
bind ลิงก์ทรัพยากร liveBroadcast กับทรัพยากร liveStream หรือนำลิงก์ดังกล่าวออก
transition เปลี่ยนสถานะของทรัพยากร liveBroadcast และเริ่มกระบวนการที่เชื่อมโยงกับสถานะใหม่ เช่น เมื่อคุณเปลี่ยนสถานะของการออกอากาศเป็น testing YouTube จะเริ่มส่งวิดีโอไปยังสตรีมตรวจสอบของการออกอากาศ
delete นําทรัพยากรที่เฉพาะเจาะจงออก (DELETE)

ตารางด้านล่างระบุการดำเนินการที่รองรับสำหรับทรัพยากรประเภทต่างๆ การดำเนินการที่แทรก อัปเดต หรือลบทรัพยากรจะต้องมีการให้สิทธิ์ผู้ใช้เสมอ ในบางกรณี เมธอด list จะรองรับทั้งคำขอที่ได้รับอนุญาตและไม่ได้รับอนุญาต ซึ่งคำขอที่ไม่ได้รับอนุญาตจะเรียกเฉพาะข้อมูลสาธารณะ แต่คำขอที่ได้รับอนุญาตยังเรียกข้อมูลที่จำกัดไว้สำหรับผู้ใช้ที่ตรวจสอบสิทธิ์แล้วในปัจจุบันได้ด้วย

การดำเนินการที่รองรับ
list insert update bind transition cuepoint delete
liveBroadcast
liveStream

แหล่งข้อมูลบางส่วน

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 ทำงานได้ ระหว่างการออกอากาศ

ช่วงพักโฆษณามีลักษณะดังต่อไปนี้

  1. โดยมีความยาวที่กำหนดไว้ล่วงหน้า ซึ่งตั้งค่าโดยใช้ทรัพยากรของ cuepoint durationSecs หลังจากช่วงพักโฆษณาสิ้นสุดลง ผู้ชมจะกลับไปยังการถ่ายทอดสด

  2. เมื่อมีช่วงพักโฆษณา โฆษณาจะเล่นในโปรแกรมเล่นวิดีโอสำหรับผู้ชมที่กำลังดูเท่านั้น การออกอากาศเมื่อแทรกจุดเริ่มโฆษณา โฆษณาจะไม่ทำงานเมื่อผู้ชมรีเฟรชหน้าเว็บ ตำแหน่งที่กำลังออกอากาศ หรือเมื่อผู้เข้าชมเริ่มดูการแพร่สัญญาณหลังจาก แทรกจุดเริ่มโฆษณาแล้ว

ลำดับขั้นตอนด้านล่างแสดงแนวทางปฏิบัติแนะนำสำหรับการแทรกช่วงพักโฆษณาระหว่างการออกอากาศ

ตั้งการชดเชยเวลา

เมื่อแทรกจุดเริ่มโฆษณา คุณระบุได้ว่าควรแทรกทันทีหรือควรแทรกจุดเริ่มโฆษณา ควรแทรกไว้ ณ เวลาที่เจาะจงในการออกอากาศ ตัวเลือกของคุณจะขึ้นอยู่กับว่า สตรีมการออกอากาศสำหรับวิดีโอของคุณล่าช้า

  • หากสตรีมการออกอากาศไม่ล่าช้า คุณสามารถแทรกจุดเริ่มโฆษณาทันทีหรือใช้ walltimeMs เพื่อให้ช่วงพักโฆษณาเริ่มต้นในเวลาที่เจาะจง

    • หากต้องการเริ่มช่วงพักโฆษณาทันที ให้เรียกใช้เมธอด liveBroadcasts.cuepoint ใน ในเนื้อหาคำขอ ให้ตั้งค่า ของพร็อพเพอร์ตี้ insertionOffsetTimeMs เป็น 0 หรือไม่ระบุค่าสำหรับพร็อพเพอร์ตี้นั้นและไม่ระบุ ค่าสำหรับ walltimeMs

      สำคัญ: โปรดทราบว่าผู้ชมจะไม่เห็นโฆษณาที่แสดง เนื้อหาทันที อาจมีความล่าช้าประมาณ 30 วินาทีก่อนที่เนื้อหาโฆษณา ให้ผู้ใช้เห็น ในช่วงการหน่วงเวลาดังกล่าว สตรีมการออกอากาศของคุณจะยัง ผู้ชมได้และคุณต้องดูสตรีมการออกอากาศเพื่อกำหนดว่าเนื้อหาโฆษณา แสดงแทนสตรีมตรวจสอบ

    • หากต้องการเริ่มช่วงพักโฆษณาในเวลาที่ต้องการ ให้เรียกใช้ liveBroadcasts.cuepoint และใช้เมธอด walltimeMs เพื่อระบุเวลาที่ต้องการ ค่าพร็อพเพอร์ตี้เป็นจำนวนเต็มที่แสดง การประทับเวลา Epoch

  • ถ้าสตรีมการออกอากาศล่าช้า คุณสามารถแทรกจุดเริ่มโฆษณาได้ทันที ดังที่���ธิบายไว้ข้างต้น ให้ระบุเวลาของนาฬิกาตามที่อธิบายไว้ข้างต้น หรือคุณอาจระบุการชดเชยเวลาเพื่อ กำหนดว่าช่วงพักโฆษณาจะเริ่มเมื่อใด ออฟเซ็ตเ��ลาจะ���ะบุ��������วลา��อ��อากาศ เวลาที่ผู้ชมควรจะเห็นโฆษณา

    ค่าออฟเซ็ตจะวัดเป็นมิลลิวินาทีนับจากจุดเริ่มต้นของสตรีมการตรวจสอบสำหรับ ออกอากาศของคุณ โปรดทราบว่าหากการออกอากาศของคุณมีช่วงทดสอบ สตรีมมอนิเตอร์ จะเริ่มเมื่อการออกอากาศเปลี่ยนเป็นสถานะ testing มิฉะนั้น สตรีมการตรวจสอบจะเริ่มต้นเมื่อการออกอากาศเปลี่ยนเป็นสถานะ live

    เมื่อแทรกจุดเริ่มโฆษณา ให้ตั้งค่าทรัพยากรของ cuepoint insertionOffsetTimeMs ให้กับออฟเซ็ตที่ต้องการ

คำนวณค่าชดเชยเวลา

หากต้องการดึงค่าออฟเซ็ต ให้เรียกฟังก์ชัน getCurrentTime ของ API โปรแกรมเล่น YouTube สำหรับโปรแกรมเล่นที่เล่นสตรีมตรวจสอบอยู่ ใช้ค่าที่ดึงมาเพื่อแทรกจุดเริ่มโฆษณาในสตรีมการออกอากาศ ณ เวลานั้น

ค่าที่เป็นไปได้สำหรับเวลาออฟเซ็ตสามารถคำนวณจากช่วงต่อไปนี้

[(elapsed_time - broadcast_delay + Δ), (elapsed_time - Δ)]

Δ คือบัฟเฟอร์ 5 วินาทีที่จุดเริ่มต้นและจุดสิ้นสุดของการชดเชยเวลาที่เป็นไปได้เมื่อ YouTube ไม่สามารถแทรกจุดเริ่มโฆษณาได้อย่างแม่นยำ เช่น

  • การออกอากาศมีระยะเวลาการทดสอบ 5 นาที
  • สตรีมการออกอากาศล่าช้า 60 วินาทีหลังจากที่สตรีมตรวจสอบ
  • ผู้ออกอากาศกำลังแทรกจุดเริ่มโฆษณา 4 นาทีหลังจากการออกอากาศเปลี่ยนเป็น สถานะ live (นี่คือเวลาสามนาทีหลังจากสตรีมการออกอากาศปรากฏ)

ในกรณีนี้ ช่วงเวลาออฟเซ็ตที่เป็นไปได้คือ [(485,000), (535,000)]

เวลาเหล่านี้จะระบุเป็นมิลลิวินาที และคำนวณโดยใช้ค่าต่อไปนี้

  • elapsed_time=540000 – สตรีมตรวจสอบทำงานถึง 9 ครั้งแล้ว นาที (540 วินาที, 540,000 มิลลิวินาที) เมื่อเรียกเมธอด liveBroadcasts.cuepoint
  • broadcast_delay=60000 - สตรีมการออกอากาศล่าช้า 60 วินาทีหรือ 60, 000 มิลลิวินาที
  • Δ=5000 – บัฟเฟอร์ 5 วินาทีเมื่อไม่สามารถแทรกจุดเริ่มโฆษณาได้อย่างน่าเชื่อถือ

การแก้ปัญหาและการจัดการข้อผิดพลาด

หลักเกณฑ์ต่อไปนี้จะอธิบายวิธีแก้ไขปัญหาเฉพาะที่อาจเกิดขึ้น สำหรับรายการ ของข้อผิดพลาดที่เมธอด API แต่ละเมธอดอาจแสดง โปรดดู YouTube Live Streaming API - ข้อผิดพลาด

  • เมื่อการออกอากาศเปลี่ยนจากสถานะหนึ่งไปเป็นอีกสถานะหนึ่ง ระบบอาจกำหนดสถานะอื่นเป็นการชั่วคราวในขณะที่ YouTube ดำเนินการที่เกี่ยวข้องกับการเปลี่ยนดังกล่าว ตัวอย่างเช่น หากคุณส่งคำขอ liveBroadcasts.transition เพื่อเปลี่ยนสถานะของการออกอากาศจาก ready เป็น testing YouTube จะตั้งสถานะของการออกอากาศเป็น testStarting และดำเนินการที่เกี่ยวข้องกับการเปลี่ยนแปลงสถานะให้เสร็จสิ้น เมื่อดำเนินการทั้งหมดเรียบร้อยแล้ว YouTube จะอัปเดตสถานะการออกอากาศเป็น testing ซึ่งหมายความว่าการเปลี่ยนแปลงเสร็จสมบูรณ์แล้ว

    หากการออกอากาศค้างอยู่โดยมีสถานะ testStarting หรือ liveStarting คุณจะต้องเรียกใช้เมธอด liveBroadcasts.delete แล้วลบการออกอากาศ จากนั้นสร้างการออกอากาศใหม่ เชื่อมโยงกับสตรีมแบบสด และดำเนินการทดสอบต่อ

    ตามที่ระบุไว้ในเอกสารประกอบของเมธอด liveBroadcasts.transition คุณควรยืนยันว่าค่าของพร็อพเพอร์ตี้ status.streamStatus สำหรับสตรีมที่เชื่อมโยงกับการออกอากาศคือ active ก่อนที่จะเรียกใช้เมธอดนั้น