ภาพรวม
คู่มือนี้มีไว้สำหรับนักพัฒนาแอปพลิเคชันไคลเอ็นต์ API ที่ใช้ทรัพยากร liveStream และ liveBroadcast เริ่มต้นของช่อง YouTube เพื่อสตรีมเนื้อหาแบบสด โดยมีจุดมุ่งหมายเพื่อช่วยให้คุณมั่นใจว่าแอปพลิเคชันจะจัดการการเลิกใช้งานการออกอากาศและสตรีมเริ่มต้นได้อย่างราบรื่น และคู่มือนี้เกี่ยวข้องกับคุณหากข้อความใดข้อความหนึ่งต่อไปนี้ใช้ได้กับแอปพลิเคชันของคุณ
- แอปพลิเคชันตรวจสอบค่าของพร็อพเพอร์ตี้ของทรัพยากร
liveBroadcastisDefaultBroadcast - แอปพลิเคชันตรวจสอบค่าของพร็อพเพอร์ตี้ของทรัพยากร
liveStreamisDefaultStream แอปพลิเคชันเรียกใช้เมธอด
liveBroadcasts.listและตั้งค่าพารามิเตอร์broadcastTypeเป็นpersistentตั้งแต่วันที่เลิกใช้งานเป็นต้นไป- หากค่าพารามิเตอร์
broadcastTypeเป็นpersistentเมธอดliveBroadcasts.listจะไม่แสดงผลลัพธ์ใดๆ - หากค่าพารามิเตอร์
broadcastTypeเป็นallเมธอดliveBroadcasts.listจะไม่แสดงการออกอากาศแบบต่อเนื่องที่มีอยู่ก่อนหน้านั้น
- หากค่าพารามิเตอร์
หากแอปพลิเคชันของคุณได้รับผลกระทบ โปรดดูส่วนการอัปเดตแอปพลิเคชัน ซึ่งอธิบายการเปลี่ยนแปลงขั้นตอนที่แอปพลิเคชันอาจต้องดำเนินการอันเป็นผลมาจากการเลิกใช้งานนี้ ส่วนดังกล่าวจะระบุขั้นตอนเฉพาะในคู่มือวงจรการออกอากาศที่ไคลเอ็นต์ API อาจไม่ได้ ทำตามโดยปกติหากปัจจุบันใช้การออกอากาศและสตรีมเริ่มต้น
เกิดอะไรขึ้น
ตั้งแต่ปี 2015 เป็นต้นมา YouTube ได้สร้างสตรีมเริ่มต้นและการออกอากาศเริ่มต้นสำหรับช่องโดยอัตโนมัติเมื่อเปิดใช้การไลฟ์สดสำหรับช่องนั้น สตรีมเริ่มต้นมีอยู่ตลอดไปและลบไม่ได้ ในทำนองเดียวกัน การออกอากาศเริ่มต้นถือเป็นทรัพยากรแบบ ต่อเนื่อง โดยมีอยู่เสมอ ไม่ได้กำหนดเวลาเริ่มต้นหรือสิ้นสุด และไม่ได้เชื่อมโยงกับเหตุการณ์ใดเหตุการณ์หนึ่ง
ตั้งแต่วันที่เลิกใช้งานที่กล่าวถึงข้างต้นเป็นต้นไป YouTube จะไม่สร้างสตรีมและการออกอากาศเริ่มต้นอีกต่อไป การเปลี่ยนแปลงนี้ส่งผลต่อแอปพลิเคชันไคลเอ็นต์ที่ใช้ทรัพยากรเหล่านั้นในการออกอากาศเนื้อหาแบบสด นอกจากนี้ยังส่งผลต่อแอปพลิเคชันที่ปรับแต่งอินเทอร์เฟซผู้ใช้เพื่อแยกความแตกต่างระหว่างทรัพยากรเริ่มต้นเหล่านั้นกับการออกอากาศและสตรีมอื่นๆ ที่เจ้าของช่องสร้างขึ้น
ไคลเอ็นต์ API ต้องสร้างและจัดการทรัพยากร liveBroadcast และ liveStream รวมถึงเชื่อมโยงทรัพยากรเหล่านั้นเข้าด้วยกันแทนที่จะใช้ทรัพยากรเริ่มต้น
การอัปเดตแอปพลิเคชัน
หากต้องการทบทวนคำศัพท์อย่างรวดเร็ว การออกอากาศ หมายถึงเหตุการณ์ที่ดูได้บน YouTube ขณะที่เหตุการณ์นั้นเกิดขึ้นจริง และสตรีม คือกลไกในการส่งเนื้อหาวิดีโอจริงไปยัง YouTube การออกอากาศสามารถและต้องเชื่อมโยงกับสตรีมเพียงรายการเดียวเท่านั้น
การย้ายข้อมูลจากการออกอากาศเริ่มต้น
ก่อนการเลิกใช้งานนี้ ไคลเอ็นต์ API สามารถเลือกระหว่างใช้การออกอากาศเริ่มต้นของช่องหรือสร้างการออกอากาศเฉพาะเหตุการณ์ การออกอากาศเริ่มต้นเป็นทรัพยากรแบบต่อเนื่องที่นำไปใช้ซ้ำกับหลายเหตุการณ์ได้ ในขณะที่ทรัพยากรการออกอากาศเฉพาะเหตุการณ์เป็นทรัพยากรแบบใช้ครั้งเดียวที่สอดคล้องกับวิดีโอ YouTube เพียงรายการเดียว
แอปพลิเคชันไคลเอ็นต์ใช้การออกอากาศเริ่มต้นหากเรียกใช้เมธอด liveBroadcasts.list และดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้
- ตั้งค่าค่าพารามิเตอร์
broadcastTypeเป็นpersistentคำขอนี้จะดึงข้อมูลการออกอากาศเริ่มต้นเท่านั้น - ตั้งค่าค่าพารามิเตอร์
broadcastTypeเป็นallจากนั้นระบุทรัพยากรliveBroadcastใน การตอบกลับจาก API ซึ่งค่าของพร็อพเพอร์ตี้isDefaultBroadcastเป็นtrue
หลังจากการเลิกใช้งาน YouTube จะรองรับเฉพาะการออกอากาศเฉพาะเหตุการณ์
ซึ่งหมายความว่าแอปพลิเคชันไคลเอ็นต์
ต้องสร้าง
liveBroadcast
ทรัพยากร
สำหรับเหตุการณ์การออกอากาศแต่ละรายการแทนที่จะใช้การออกอากาศเริ่มต้น
หากต้องการสร้างทรัพยากร liveBroadcast ให้เรียกใช้เมธอด
liveBroadcasts.insert
กระบวนการนี้อธิบายไว้ใน ขั้นตอนที่ 1.1 ของคู่มือ "วงจรการออกอากาศ"
อินเทอร์เฟซผู้ใช้ยังต้องมีกลไกให้ผู้ใช้แยกความแตกต่างและเลือกการออกอากาศเฉพาะเหตุการณ์ที่จะเกิดขึ้น หากยังไม่มี
การย้ายข้อมูลจากสตรีมเริ่มต้น
สตรีมช่วยให้คุณส่งเนื้อหาเสียงและวิดีโอไปยัง YouTube ได้ และกำหนดการตั้งค่าสำหรับวิธีสตรีมเนื้อหาไปยัง YouTube ผู้ออกอากาศมักจะใช้สตรีมเดียวกันซ้ำสำหรับการออกอากาศที่แตกต่างกันหลายรายการหากการออกอากาศเหล่านั้นเกิดขึ้นในเวลาที่ต่างกัน
แม้ว่าแอปพลิเคชันจะใช้สตรีมเริ่มต้นไม่ได้ แต่ก็สามารถสร้างสตรีมที่นำไปใช้ซ้ำได้สำหรับการออกอากาศแต่ละรายการ หากต้องการสร้างทรัพยากร liveStream
ให้เรียกใช้เมธอด liveStreams.insert
โดยทำตามวิธีการใน ขั้นตอนที่ 1.2 ของคู่มือ "วงจรการออกอากาศ" โดยค่าเริ่มต้น สตรีมที่สร้างขึ้นใหม่จะนำไปใช้ซ้ำได้ อย่างไรก็ตาม หากต้องการ คุณสามารถตั้งค่า
contentDetails.isReusable
พร็อพเพอร์ตี้เป็น false เพื่อสร้างสตรีมแบบใช้ครั้งเดียวและมีความสัมพันธ์แบบหนึ่งต่อหนึ่ง
ระหว่างการออกอากาศกับสตรีม
รายการต่อไปนี้มีพร็อพเพอร์ตี้ 4 รายการนอกเหนือจาก ชื่อสตรีม และ คำอธิบายสตรีม, ที่คุณตั้งค่าได้เมื่อสร้างสตรีมใหม่ รายการจะแสดงค่าที่สตรีมเริ่มต้นใช้สำหรับแต่ละพร็อพเพอร์ตี้ ซึ่งน่าจะเป็นการตั้งค่าที่คุณต้องการใช้ในแอปพลิเคชันไคลเอ็นต์หากคุณกำลังย้ายข้อมูลจากการใช้สตรีมเริ่มต้น
cdn.frameRate-variablecdn.ingestionType-rtmpcdn.resolution-variablecontentDetails.isReusabletrue
การเชื่อมโยงการออกอากาศกับสตรีม
ทรัพยากร liveBroadcast แต่ละรายการต้องเชื่อมโยงกับสตรีมเพียงรายการเดียวก่อนที่จะเริ่มการถ่ายทอดสดบน YouTube ได้ (การออกอากาศจะไม่เชื่อมโยงกับสตรีมใดๆ ในขณะที่สร้าง)
ระบบจะจัดการกระบวนการเชื่อมโยงโดยอัตโนมัติสำหรับการออกอากาศเริ่มต้น ซึ่งเชื่อมโยงกับการออกอากาศเริ่มต้นอย่างแยกไม่ออก อย่างไรก็ตาม หลังจากวันที่เลิกใช้งาน แอปพลิเคชันไคลเอ็นต์ต้องจัดการกระบวนการดังกล่าวสำหรับการออกอากาศทั้งหมด
หากต้องการเชื่อมโยงการออกอากาศกับการสตรีม ให้เรียกใช้เมธอด
liveBroadcasts.bind ตามที่
อธิบายไว้ใน ขั้นตอนที่ 1.3 ของคู่มือ "วงจรการออกอากาศ"
- หากใช้สตรีมที่นำไปใช้ซ้ำได้ คุณสามารถสร้างสตรีมเพียงครั้งเดียวแล้วเชื่อมโยงการออกอากาศทุกรายการกับสตรีมนั้น
- หากไม่ได้ใช้สตรีมที่นำไปใช้ซ้ำได้ คุณต้องสร้างการออกอากาศและสตรีม แล้วเชื่อมโยงทั้ง 2 รายการเข้าด้วยกัน
การทดสอบการออกอากาศ
เมื่อไม่ได้ใช้การออกอากาศเริ่มต้น คุณจะมีตัวเลือกในการทดสอบการออกอากาศ หากต้องการทำการทดสอบ ให้ฝังเพลเยอร์ที่ช่วยให้คุณดูตัวอย่างวิดีโอการออกอากาศตามที่ YouTube Viewers จะเห็น แต่การออกอากาศจะไม่ปรากฏต่อผู้ชมรายอื่น
หากไคลเอ็นต์ API เคยใช้การออกอากาศและสตรีมเริ่มต้น และคุณ ต้องการเพิ่มระยะการทดสอบลงในกระบวนการสตรีม โปรดดูระยะที่ 3 ของ "วงจรการออกอากาศ" คู่มือ
หากต้องการทดสอบสตรีม เมื่อแทรกการออกอากาศ คุณต้อง
ตั้งค่าพร็อพเพอร์ตี้ contentDetails.monitorStream.enableMonitorStream
เป็น true และพร็อพเพอร์ตี้ contentDetails.enableAutoStart
เป็น
false ซึ่งเป็นค่าเริ่มต้นของทั้ง 2 พร็อพเพอร์ตี้
การใช้ฟีเจอร์เริ่มต้นอัตโนมัติและหยุดอัตโนมัติ
การออกอากาศเริ่มต้นจะเริ่มโดยอัตโนมัติทุกครั้งที่คุณเริ่มสตรีมวิดีโอบนสตรีมเริ่มต้น ในทำนองเดียวกัน การออกอากาศเริ่มต้นจะสิ้นสุดลงหลังจากที่คุณหยุดสตรีมวิดีโอ เซสชันการสตรีมแต่ละเซสชันที่ใช้ทรัพยากรเริ่มต้นเหล่านั้นจะกลายเป็นวิดีโอในช่องของคุณในภายหลัง
แม้ว่าฟีเจอร์เริ่มต้นอัตโนมัติและหยุดอัตโนมัติจะเป็นลักษณะการทำงานเริ่มต้นสำหรับการออกอากาศเริ่มต้น แต่ฟีเจอร์เหล่านี้เป็นตัวเลือกและต้องเปิดใช้สำหรับการออกอากาศอื่นๆ หากต้องการใช้ฟีเจอร์เหล่านี้ เมื่อแทรกการออกอากาศ
คุณต้องตั้งค่าcontentDetails.enableAutoStart
และ
contentDetails.enableAutoStop
เป็น true ฟีเจอร์เหล่านี้ทำงานแยกกัน คุณจึงเลือกใช้ฟีเจอร์ใดฟีเจอร์หนึ่งก็ได้
หากไม่เปิดใช้ฟีเจอร์เริ่มต้นอัตโนมัติและหยุดอัตโนมัติสำหรับการออกอากาศใหม่ ไคลเอ็นต์ API ต้องเรียกใช้เมธอด liveBroadcasts.transition เพื่ออัปเดต สถานะของการออกอากาศ เมื่อคุณเริ่มและสิ้นสุดการสตรีมวิดีโอ ในคู่มือ "วงจรการออกอากาศ" โปรดดูขั้นตอนที่ 4.3 และขั้นตอนที่ 5.2 เพื่อดูวิธีการจัดการการเปลี่ยนสถานะเหล่านี้เมื่อเริ่มต้นและสิ้นสุดการ ออกอากาศ