ภาพรวม
คู่มือนี้มีไว้สำหรับนักพัฒนาแอปพลิเคชันไคลเอ็นต์ API ที่ใช้ทรัพยากร liveStream
และ liveBroadcast
เริ่มต้นของช่อง YouTube เพื่อสตรีมเนื้อหาแบบสด
โดยมีจุดประสงค์เพื่อช่วยให้คุณมั่นใจว่าแอปพลิเคชันจะจัดการการเลิกใช้งานการออกอากาศและสตรีมเริ่มต้นได้อย่างราบรื่น
และเกี่ยวข้องกับคุณหากข้อความต่อไปนี้มีผลกับแอปพลิเคชันของคุณ
- โดยจะตรวจสอบค่าของพร็อพเพอร์ตี้
liveBroadcast
ของทรัพยากรisDefaultBroadcast
- โดยจะตรวจสอบค่าของพร็อพเพอร์ตี้
liveStream
ของทรัพยากรisDefaultStream
โดยจะเรียกใช้เมธอด
liveBroadcasts.list
และตั้งค่าพารามิเตอร์broadcastType
เป็นpersistent
ตั้งแต่วันที่เลิกใช้งาน- หากค่าพารามิเตอร์
broadcastType
เป็นpersistent
เมธอดliveBroadcasts.list
จะไม่แสดงผลลัพธ์ใดๆ - หากค่าพารามิเตอร์
broadcastType
เป็นall
วิธีการliveBroadcasts.list
จะไม่แสดงการออกอากาศแบบถาวรที่ มีอยู่ก่อนหน้านั้น
- หากค่าพารามิเตอร์
หากแอปพลิเคชันได้รับผลกระทบ โปรดดูส่วนการอัปเดตแอปพลิเคชัน ซึ่งอธิบายการเปลี่ยนแปลงตามขั้นตอนที่แอปพลิเคชันอาจต้องทำอันเป็นผลมาจากการเลิกใช้งานนี้ ส่วนดังกล่าวจะระบุขั้นตอนที่เฉพาะเจาะจงในคู่มือวงจรการออกอากาศ ซึ่งไคลเอ็นต์ API ของคุณอาจไม่ได้ทำตามตามปกติหากปัจจุบันใช้การออกอากาศและสตรีมเริ่มต้น
จะเกิดอะไรขึ้น
ตั้งแต่ปี 2015 เป็นต้นมา YouTube ได้สร้างสตรีมเริ่มต้นและการออกอากาศเริ่มต้น สำหรับช่องโดยอัตโนมัติเมื่อช่องนั้นเปิดใช้สตรีมแบบสด สตรีมเริ่มต้นจะคงอยู่ตลอดไปและไม่สามารถลบได้ ในทำนองเดียวกัน การออกอากาศ เริ่มต้นถือเป็นแบบถาวร โดยไม่มีเวลาเริ่มต้นหรือสิ้นสุดที่เชื่อมโยงอยู่ และไม่ได้ผูกกับกิจกรรมใดกิจกรรมหนึ่ง
ตั้งแต่วันที่เลิกใช้งานที่ระบุไว้ข้างต้น YouTube จะไม่สร้างสตรีมและ การออกอากาศเริ่มต้นอีกต่อไป การเปลี่ยนแปลงนี้จะส่งผลต่อแอปพลิเคชันไคลเอ็นต์ที่ ใช้ทรัพยากรเหล่านั้นในการออกอากาศเนื้อหาแบบสด นอกจากนี้ ยังจะส่งผลต่อแอปพลิเคชันที่อินเทอร์เฟซผู้ใช้ได้รับการปรับแต่งเพื่อแยกความแตกต่างระหว่าง ทรัพยากรเริ่มต้นเหล่านั้นกับรายการออกอากาศและสตรีมอื่นๆ ที่เจ้าของช่อง สร้างขึ้นด้วย
ไคลเอ็นต์ API ต้องสร้างและจัดการทรัพยากร liveBroadcast
และ liveStream
รวมถึงเชื่อมโยงทรัพยากรเหล่านั้นเข้าด้วยกันแทนที่จะใช้ทรัพยากรเริ่มต้น
การอัปเดตแอปพลิเคชัน
หากต้องการทบทวนคำศัพท์อย่างรวดเร็ว การออกอากาศหมายถึงกิจกรรมที่ดูได้บน YouTube ขณะที่กำลังเกิดขึ้น ส่วนสตรีมคือกลไกสำหรับส่งเนื้อหาวิดีโอจริงไปยัง YouTube การออกอากาศต้องเชื่อมโยงกับสตรีม 1 รายการเท่านั้น
การย้ายข้อมูลจากการออกอากาศเริ่มต้น
ก่อนที่จะเลิกใช้งานนี้ ไคลเอ็นต์ 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
-variable
cdn.ingestionType
-rtmp
cdn.resolution
-variable
contentDetails.isReusable
-true
เชื่อมโยงการออกอากาศกับสตรีม
แหล่งข้อมูล liveBroadcast
แต่ละรายการต้องเชื่อมโยงกับสตรีม 1 รายการเท่านั้นก่อนที่
การออกอากาศสดบน YouTube จะเริ่มได้จริง (การออกอากาศไม่ได้เชื่อมโยงกับสตรีมใดๆ
ในขณะที่สร้าง)
ระบบจะจัดการกระบวนการเชื่อมโยงโดยอัตโนมัติสำหรับการออกอากาศเริ่มต้น ซึ่ง เชื่อมโยงกับสตรีมเริ่มต้นอย่างแยกไม่ออก อย่างไรก็ตาม หลังจากวันที่เลิกใช้งาน แอปพลิเคชันไคลเอ็นต์จะต้องจัดการกระบวนการดังกล่าวสำหรับการออกอากาศทั้งหมด
หากต้องการเชื่อมโยงการออกอากาศกับสตรีม ให้เรียกใช้เมธอด
liveBroadcasts.bind
ตามที่อธิบายไว้ในขั้นตอนที่ 1.3 ของคำแนะนำ "วงจรของการออกอากาศ"
- หากใช้สตรีมที่ใช้ซ้ำได้ คุณจะสร้างสตรีมเพียงครั้งเดียวแล้ว เชื่อมโยงการออกอากาศทุกรายการกับสตรีมนั้นได้
- หากไม่ได้ใช้สตรีมที่ใช้ซ้ำได้ คุณจะต้องสร้างการออกอากาศและสตรีม แล้วเชื่อมโยงทั้ง 2 รายการเข้าด้วยกัน
การทดสอบการออกอากาศ
เมื่อไม่ได้ใช้การออกอากาศเริ่มต้น คุณจะมีตัวเลือกในการทดสอบการออกอากาศ หากต้องการทำการทดสอบ ให้ฝังเพลเยอร์ที่ช่วยให้คุณดูตัวอย่าง วิดีโอการออกอากาศได้เหมือนที่ผู้ชม YouTube เห็น แต่ผู้ชมคนอื่นๆ จะไม่เห็นการออกอากาศ
หากก่อนหน้านี้ไคลเอ็นต์ API ของคุณใช้การออกอากาศและสตรีมเริ่มต้น และคุณต้องการเพิ่มระยะการทดสอบลงในกระบวนการสตรีม โปรดดูขั้นตอนที่ 3 ของคำแนะนำ "วงจรการออกอากาศ"
หากต้องการทดสอบสตรีม เมื่อแทรกการออกอากาศ คุณต้องตั้งค่าพร็อพเพอร์ตี้ contentDetails.monitorStream.enableMonitorStream เป็น true
และพร็อพเพอร์ตี้ contentDetails.enableAutoStart เป็น false
ค่าเหล่านี้เป็นค่าเริ่มต้นของทั้ง 2 พร็อพเพอร์ตี้
การใช้ฟีเจอร์เริ่มอัตโนมัติและหยุดอัตโนมัติ
การออกอากาศเริ่มต้นจะเริ่มโดยอัตโนมัติทุกครั้งที่คุณเริ่มสตรีมวิดีโอ ในสตรีมเริ่มต้น เช่นเดียวกัน การออกอากาศเริ่มต้นจะสิ้นสุดลงหลังจากที่คุณหยุด สตรีมวิดีโอ เซสชันการสตรีมแต่ละเซสชันที่ใช้แหล่งข้อมูลเริ่มต้นเหล่านั้น จะกลายเป็นวิดีโอในช่องของคุณในภายหลัง
แม้ว่าฟีเจอร์เริ่มอัตโนมัติและหยุดอัตโนมัติจะเป็นลักษณะการทำงานเริ่มต้นสำหรับ
การออกอากาศเริ่มต้น แต่ฟีเจอร์ดังกล่าวเป็นแบบไม่บังคับและต้องเปิดใช้สำหรับการออกอากาศอื่นๆ
หากต้องการใช้ฟีเจอร์เหล่านี้ เมื่อแทรกการออกอากาศ คุณต้องตั้งค่าพร็อพเพอร์ตี้ contentDetails.enableAutoStart และ contentDetails.enableAutoStop
เป็น true
ฟีเจอร์เหล่านี้ทำงานแยกกัน คุณจึงเลือกใช้ฟีเจอร์ใดฟีเจอร์หนึ่งได้
หากไม่ได้เปิดใช้ฟีเจอร์เริ่มอัตโนมัติและหยุดอัตโนมัติสำหรับการออกอากาศใหม่ ไคลเอ็นต์ API จะต้องเรียกใช้เมธอด liveBroadcasts.transition เพื่ออัปเดตสถานะการออกอากาศ เมื่อคุณเริ่มและหยุดสตรีมวิดีโอ ในคู่มือ "วงจรการออกอากาศ" โปรดดูขั้นตอนที่ 4.3 และขั้นตอนที่ 5.2 เพื่อดูวิธีการจัดการการเปลี่ยนฉากเหล่านี้ที่จุดเริ่มต้นและจุดสิ้นสุดของการออกอากาศ