บทนำ
เอกสารนี้จะแนะนําการถ่ายทอดสดของ YouTube ที่สร้างและจัดการโดยใช้ YouTube Live Streaming API และ Content API ของ YouTube
ทรัพยากรและประเภททรัพยากร
ตามที่อธิบายไว้ในคู่มือการเริ่มต้นใช้งาน ทรัพยากรคือเอนทิตีข้อมูลแต่ละรายการที่มีตัวระบุที่ไม่ซ้ํากัน ในการสร้างและจัดการการถ่ายทอดสดบน YouTube คุณจะใช้ทรัพยากรหลากหลายประเภทที่ระบุไว้เป็นส่วนหนึ่งของ Data API ของ YouTube หรือ API ของ Content ID ของ YouTube แหล่งข้อมูลที่ระบุไว้ในส่วนหัว YouTube Live Streaming API มีการกําหนดทางเทคนิคใน API อื่นๆ เหล่านี้ แต่ระบุแยกกันเพราะใช้สําหรับการถ่ายทอดสดเท่านั้น
แหล่งข้อมูลเกี่ยวกับ YouTube Live Streaming API
แหล่งข้อมูล YouTube Data API
แหล่งข้อมูลเกี่ยวกับ Content ID API ของ YouTube
สร้างและจัดการการถ่ายทอดสด
ขั้นตอนต่อไปนี้อธิบายวิธีสร้างและจัดการการถ่ายทอดสดบน YouTube ขั้นตอนมีดังนี้
ขั้นตอนที่ 1: ตั้งค่าประกาศ
ขั้นตอนที่ 1.1: สร้างการออกอากาศ
โทรหาเมธอด liveBroadcasts.insert
เพื่อเพิ่มการออกอากาศลงในกําหนดการถ่ายทอดสดของ YouTube ทรัพยากร liveBroadcast
ที่คุณแทรกต้องกําหนดค่าสําหรับพร็อพเพอร์ตี้ที่แสดงด้านล่าง
โปรดทําตามหลักเกณฑ์ต่อไปนี้เมื่อตั้งค่าการออกอากาศ
หากต้องการผ่านช่วงทดสอบการออกอากาศ เมื่อคุณดูการเผยแพร่วิดีโอโดยที่ผู้ชมรายอื่นดูการออกอากาศไม่ได้ คุณต้องตั้งค่าพร็อพเพอร์ตี้
contentDetails.monitorStream.enableMonitorStream
เป็นtrue
และพร็อพเพอร์ตี้contentDetails.enableAutoStart
เป็นfalse
ค่าเหล่านี้เป็นค่าเริ่มต้นสําหรับพร็อพเพอร์ตี้ทั้งสองหากต้องการสร้างข้อมูลอ้างอิงจากการออกอากาศที่บันทึกไว้ คุณต้องตั้งค่าพร็อพเพอร์ตี้
contentDetails.recordFromStart
ของการออกอากาศเป็นtrue
หากต้องการให้วิดีโอที่บันทึกไว้เล่นได้ทันทีหลังจากการออกอากาศสิ้นสุดลง คุณต้องตั้งค่าพร็อพเพอร์ตี้contentDetails.enableDvr
เป็นtrue
ด้วย (พร็อพเพอร์ตี้ทั้ง 2 รายการมีค่าเริ่มต้นเป็นtrue
)คุณอัปเดตพร็อพเพอร์ตี้
contentDetails
ใดก็ได้ตราบใดที่สถานะของการออกอากาศยังคงเป็นcreated
หรือready
คุณสามารถอัปเดตเวลาเริ่มต้นและเวลาสิ้นสุดที่กําหนดไว้ของการออกอากาศได้ ตราบใดที่สถานะของการออกอากาศคือ
created
,ready
หรือtesting
คุณอัปเดตชื่อ คําอธิบาย สถานะความเป็นส่วนตัว และช่องข้อมูลเมตาอื่นๆ ที่เป็นส่วนหนึ่งของทรัพยากร
video
ของการออกอากาศได้ทุกเมื่อ
หมายเหตุ: หากต้องการให้วิดีโอดูได้เฉพาะสําหรับผู้ใช้ YouTube บางราย ให้ตั้งค่าพร็อพเพอร์ตี้status.privacyStatus
เป็นunlisted
หรือprivate
ตามความต้องการของคุณ
การประมวลผลการตอบกลับ API
เมื่อคุณเรียกเมธอด liveBroadcasts.insert
การตอบกลับ API จะมีทรัพยากร liveBroadcast
ที่คุณสร้างขึ้น โค้ดควรแยกและจัดเก็บ id
จากทรัพยากรดังกล่าว คุณจะต้องใช้ค่านั้นเพื่อระบุการออกอากาศในคําขอ API ในอนาคต (นอกจากนี้ คุณยังระบุทรัพยากร video
ที่สอดคล้องกับทรัพยากร liveBroadcast
โดยใช้รหัสเดียวกันได้)
ขั้นตอนที่ 1.2: สร้างสตรีมของคุณ
ทรัพยากร liveStream
ช่วยให้คุณส่งวิดีโอไปยัง YouTube และอธิบายเนื้อหาที่คุณกําลังส่งได้ การออกอากาศแต่ละรายการต้องเชื่อมโยงกับสตรีมเดียว
เรียกเมธอด liveStreams.insert
เพื่อสร้างสตรีมวิดีโอสําหรับกิจกรรมของคุณ เมื่อสร้างสตรีม คุณต้องตั้งค่าสําหรับพร็อพเพอร์ตี้ที่ระบุไว้ด้านล่าง
ระบบจะอัปเดตค่าเหล่านี้หลังจากที่สร้างสตรีมแล้วไม่ได้ ยกเว้นชื่อของสตรีม หากจําเป็นต้องเปลี่ยน คุณจะต้องสร้างสตรีมอื่นโดยทําซ้ําขั้นตอนนี้ เราจะอธิบายขั้นตอนนี้อย่างละเอียดเพิ่มเติมในขั้นตอนที่ 3.5 ในเอกสารนี้
นอกจากนี้คุณยังมีตัวเลือกในการตั้งค่าสําหรับพร็อพเพอร์ตี้ต่อไปนี้อีกด้วย
snippet.description
- เหมือนกับชื่อสตรีม คุณจะอัปเดตคําอธิบายสตรีมได้หลังจากที่สร้างสตรีมแล้ว ผู้ใช้ YouTube จะไม่เห็นชื่อและคําอธิบายcontentDetails.isReusable
- ระบุว่าสตรีมนํามาใช้ซ้ําได้หรือไม่ ซึ่งหมายความว่าสตรีมดังกล่าวจะเชื่อมโยงกับการออกอากาศหลายรายการได้ ค่าของพร็อพเพอร์ตี้นี้จะเป็นตัวกําหนดว่าช่องมีความสัมพันธ์แบบ 1 ต่อ 1 ระหว่างliveBroadcast
กับliveStream
- หากใช้ค่าเริ่มต้นของ
true
ของพร็อพเพอร์ตี้ คุณจะใช้ทรัพยากรliveStream
เดียวกันสําหรับการออกอากาศทั้งหมดของช่องได้ ซึ่งหมายความว่าคุณไม่จําเป็นต้องทําขั้นตอนนี้ซ้ํา (1.2) ในการออกอากาศแต่ละครั้ง คุณนํารหัสสตรีมมาใช้ซ้ําในการออกอากาศครั้งต่อไปแทนได้ - หากคุณกําหนดค่าพร็อพเพอร์ตี้เป็น
false
ก็จะต้องสร้างสตรีมใหม่สําหรับการออกอากาศแต่ละครั้ง
- หากใช้ค่าเริ่มต้นของ
หลังจากที่ส่งคําขอ API สําหรับสตรีมแล้ว การตอบกลับ API จะมีทรัพยากร liveStream
ที่คุณสร้างไว้ โค้ดควรแยกและจัดเก็บ id
จากทรัพยากรดังกล่าว คุณจะต้องใช้ค่านั้นเพื่อระบุสตรีมในคําขอ API ในอนาคต
ขั้นตอนที่ 1.3: เชื่อมโยงการออกอากาศกับสตรีม
เมื่อสร้างทรัพยากร liveBroadcast
และ liveStream
แล้ว คุณจะต้องเชื่อมโยงทรัพยากรทั้ง 2 รายการโดยใช้เมธอด liveBroadcasts.bind
ซึ่งจะลิงก์บิตของวิดีโอที่คุณจะส่งมายัง YouTube พร้อมด้วยการออกอากาศเหตุการณ์สําหรับวิดีโอนั้น
ในการเรียกเมธอด liveBroadcasts.bind
ให้ตั้งค่าพารามิเตอร์ id
เป็นรหัสการประกาศที่ได้รับในขั้นตอนที่ 1.1 และพารามิเตอร์ streamId
เป็นรหัสสตรีมที่ได้รับในขั้นตอนที่ 1.2
ขั้นตอนที่ 2: อ้างสิทธิ์เนื้อหาของคุณ
หากต้องการแสดงโฆษณาระหว่างการออกอากาศ คุณต้องอ้างสิทธิ์วิดีโอประกาศก่อนที่กิจกรรมจะเริ่มต้นขึ้น ขั้นตอนต่อไปนี้จะอธิบายกระบวนการนี้ โปรดทราบว่าการเรียก API ทั้งหมดที่กล่าวถึงในขั้นตอนนี้จะระบุอยู่ใน YouTube Content ID API
ขั้นตอนที่ 2.1: สร้างชิ้นงาน
ทรัพยากร asset
แสดงถึงทรัพย์สินทางปัญญา ในกรณีนี้ เนื้อหาจะเป็นการออกอากาศของคุณ เรียกใช้เมธอด assets.insert
เพื่อสร้างชิ้นงาน
การตอบกลับ API จะมีทรัพยากร asset
ที่คุณสร้าง โค้ดควรจะดึงและจัดเก็บ id
จากทรัพยากรนั้น เนื่องจากคุณจะต้องใช้ค่านั้นเพื่อระบุเนื้อหาในคําขอ API ในอนาคต
ขั้นตอนที่ 2.2: กําหนดการเป็นเจ้าของเนื้อหา
ข้อมูลการเป็นเจ้าของเนื้อหาจะระบุเจ้าของเนื้อหาและเขตแดนที่เจ้าของเนื้อหาเป็นเจ้าของ YouTube ใช้ข้อมูลนี้เพื่อดูว่าเจ้าของสามารถกําหนดนโยบายสําหรับวิดีโอที่อ้างสิทธิ์ได้อย่างไร
เช่น หากคุณมีสิทธิ์ออกอากาศกิจกรรมในสหรัฐอเมริกา และผู้ออกอากาศรายอื่นเป็นเจ้าของสิทธิ์เดียวกันสําหรับแคนาดา คุณจะกําหนดนโยบายที่แตกต่างกันสําหรับวิดีโอที่ออกอากาศและวิดีโอที่ผู้ใช้อัปโหลดซึ่งตรงกับวิดีโอการออกอากาศได้ ระบบจะใช้นโยบายการจับคู่ของคุณกับวิดีโอที่ผู้ใช้อัปโหลดซึ่งตรงกันในสหรัฐอเมริกา ส่วนนโยบายของเจ้าของรายอื่นจะมีผลกับวิดีโอที่ตรงกันในแคนาดา
หากต้องการกําหนดพื้นที่การเป็นเจ้าของสําหรับเนื้อหา ให้เรียกใช้เมธอด ownership.update
ในคําขอดังกล่าว ให้ตั้งค่าพารามิเตอร์ assetId
เป็น id
ที่เก็บไว้ในขั้นตอนที่ 2.1
ขั้นตอนที่ 2.3: กําหนดนโยบายการจับคู่ของชิ้นงาน
นโยบายการจับคู่ของเนื้อหาอธิบายสิ่งที่ YouTube ควรทําเมื่อผู้ใช้อัปโหลดวิดีโอที่ตรงกับข้อมูลอ้างอิงที่เชื่อมโยงกับเนื้อหา ในกรณีนี้ นโยบายการจับคู่จะระบุวิธีที่ YouTube ควรจัดการวิดีโอที่อัปโหลดซึ่งตรงกับการถ่ายทอดสดของคุณ
หมายเหตุ: คุณควรตั้งค่านโยบายการจับคู่หากคุณวางแผนที่จะสร้างข้อมูลอ้างอิงจากวิดีโอประกาศและใช้ข้อมูลอ้างอิงดังกล่าวเพื่อระบุวิดีโอที่ผู้ใช้อัปโหลดซึ่งตรงกับการออกอากาศของคุณ ไม่เช่นนั้น ให้ข้ามขั้นตอนนี้
หากต้องการตั้งค่านโยบายการจับคู่ คุณจะต้องระบุนโยบายที่ต้องการใช้ก่อน คุณเรียกดูรายการนโยบายที่มีอยู่ได้โดยวิธีเมธอด policies.list
หรือกําหนดนโยบายใหม่โดยเรียกใช้เมธอด policies.insert
ไม่ว่าจะเป็นกรณีใด คุณต้องบันทึก id
ของนโยบายที่ต้องการใช้
เมื่อระบุนโยบายแล้ว ให้เรียกใช้เมธอด assetMatchPolicy.update
ในคําขอดังกล่าว ให้ตั้งค่าพารามิเตอร์ assetId
เป็น id
ที่คุณจัดเก็บไว้ในขั้นตอนที่ 2.1
ขั้นตอนที่ 2.4: อ้างสิทธิ์วิดีโอ
ในขั้นตอนนี้ ระบบจะสร้างการอ้างสิทธิ์ซึ่งจะลิงก์วิดีโอที่คุณจะออกอากาศไปยังเนื้อหาที่คุณสร้างขึ้นในขั้นตอนที่ 2.1 การอ้างสิทธิ์จะตั้งค่านโยบายที่ใช้เฉพาะกับวิดีโอการออกอากาศเท่านั้น (วิดีโอที่อัปโหลดโดยผู้ใช้ที่ตรงกับวิดีโอออกอากาศของคุณจะอยู่ภายใต้นโยบายการจับคู่ที่ตั้งค่าไว้ในขั้นตอนก่อนหน้า)
หากต้องการสร้างการอ้างสิทธิ์ ให้เรียกใช้เมธอด claims.insert
ในทรัพยากร claim
ที่คุณแทรก คุณต้องตั้งค่าค่าของพร็อพเพอร์ตี้ต่อไปนี้
assetId
– คุณได้ค่านี้ในขั้นตอนที่ 2.1videoId
– รหัสการออกอากาศที่คุณได้รับในขั้นตอนที่ 1.1policy
– นี่คือทรัพยากรpolicy
คุณสามารถนํานโยบายที่มีอยู่ไปใช้ได้โดยตั้งค่าพร็อพเพอร์ตี้id
ของทรัพยากรนั้นกับรหัสของนโยบายที่มีอยู่ ขั้นตอนก่อนหน้านี้อธิบายวิธีเรียกข้อมูลรหัสของนโยบายที่มีอยู่contentType
– ตั้งค่านี้เป็นaudiovisual
การประมวลผลการตอบกลับ API
เมื่อแทรกการอ้างสิทธิ์แล้ว การตอบกลับ API จะมีทรัพยากร claim
ที่คุณสร้างขึ้น โค้ดควรแยกและจัดเก็บ id
จากทรัพยากรดังกล่าว โดยคุณจะใช้ค่าดังกล่าวในภายหลังเพื่อสร้างข้อมูลอ้างอิงจากวิดีโอที่ประมวลผลแล้ว
ขั้นตอนที่ 2.5: อัปเดตการตั้งค่าโฆษณาสําหรับการออกอากาศ
คุณต้องตั้งค่าตัวเลือกการโฆษณาสําหรับวิดีโอ หากต้องการเรียกใช้โฆษณาตอนต้นเมื่อผู้ชมเริ่มดูการออกอากาศหรือแสดงโฆษณาระหว่างช่วงพักการออกอากาศ
- หากคุณเปิดใช้โฆษณาตอนต้นสําหรับการออกอากาศ ผู้ชมทั้งหมดจะเห็นโฆษณาเมื่อเริ่มต้นดูการออกอากาศแม้ว่าจะเริ่มดูระหว่างการออกอากาศก็ตาม
- หากเปิดใช้โฆษณาตอนกลางสําหรับการออกอากาศ คุณจะแทรกจุดเริ่มโฆษณาได้ในระหว่างการออกอากาศ
หากต้องการเปิดใช้โฆษณา ให้เรียกใช้เมธอด videoAdvertisingOptions.update
ในคําขอ ให้ตั้งค่าพารามิเตอร์ videoId
เป็นการออกอากาศ id
ที่ได้รับในขั้นตอนที่ 1.1 ใช้พร็อพเพอร์ตี้ adFormats[]
ของทรัพยากร videoAdvertisingOption
เพื่อระบุรูปแบบโฆษณา (preroll
, midroll
หรือ postroll
) ที่คุณต้องการเปิดใช้
ขั้นที่ 3: ทดสอบ
ในขั้นตอนนี้ ให้ฝังโปรแกรมเล่นที่แสดงสตรีมการตรวจสอบสําหรับการออกอากาศเพื่อให้ทดสอบประสบการณ์การรับชมได้ สตรีมการตรวจสอบคือสตรีมส่วนตัวที่ให้คุณดูตัวอย่างวิดีโอการออกอากาศตามที่ผู้ชม YouTube จะเห็น
โปรดทราบว่าคุณสามารถทดสอบการเผยแพร่วิดีโอได้ก็ต่อเมื่อเปิดใช้สตรีมการตรวจสอบเท่านั้น สตรีมการตรวจสอบการออกอากาศจะเปิดใช้อยู่โดยค่าเริ่มต้น คุณปิดใช้สตรีมการตรวจสอบของการออกอากาศได้โดยตั้งค่าพร็อพเพอร์ตี้ contentDetails.MonitorStream.enableMonitorStream เป็น false
เมื่อสร้างหรืออัปเดตการออกอากาศ
ขั้นตอนที่ 3.1: ฝังโปรแกรมเล่นสตรีมจอภาพ
เรียกดูการออกอากาศโดยใช้เมธอด liveBroadcasts.list
และดึงค่าของพร็อพเพอร์ตี้ contentDetails.streamDetails.monitorStreamEmbedHtml
ค่านั้นประกอบด้วย HTML ที่คุณต้องฝังโปรแกรมเล่น YouTube ที่แสดงสตรีมการตรวจสอบ
ขั้นตอนที่ 3.2: เริ่มวิดีโอ
เริ่มส่งสตรีมวิดีโอของคุณ
ขั้นตอนที่ 3.3: ยืนยันว่าสตรีมวิดีโอใช้งานได้
เรียกเมธอด liveStreams.list
เพื่อเรียกข้อมูลทรัพยากร liveStream
ที่เชื่อมโยงกับการออกอากาศ ยืนยันว่าค่าของพร็อพเพอร์ตี้ status.streamStatus
คือ active
ซึ่งระบุว่าเซิร์ฟเวอร์ YouTube ได้รับข้อมูลจากโปรแกรมเปลี่ยนไฟล์อย่างถูกต้อง
ขั้นตอนที่ 3.4: เปลี่ยนสถานะการออกอากาศเป็นการทดสอบ
เรียกใช้เมธอด liveBroadcasts.transition
เพื่ออัปเดตสถานะการออกอากาศ ตั้งค่าพารามิเตอร์ id
เป็นรหัสการออกอากาศที่ได้รับในขั้นตอนที่ 1.1 และกําหนดค่าพารามิเตอร์ broadcastStatus
เป็น testing
หลังจากเรียกเมธอด liveBroadcasts.transition
แล้ว อาจใช้เวลาหลายวินาทีหรือถึง 1 นาทีกว่าที่การเปลี่ยนแปลงจะเสร็จสมบูรณ์ ในระหว่างนั้น คุณควรสํารวจ API เพื่อตรวจสอบสถานะของการออกอากาศ สถานะของการออกอากาศจะเป็น testStarting
จนกว่าการเปลี่ยนจะเสร็จสมบูรณ์ สถานะจะเป็น testing
เมื่อการเปลี่ยนเสร็จสมบูรณ์
ขั้นตอนที่ 3.5: ทําการทดสอบให้เสร็จสิ้น
หากการทดสอบเป็นไปอย่างราบรื่น คุณสามารถไปยังขั้นตอนที่ 4 อย่างไรก็ตาม ในบางกรณีคุณอาจต้องทําการทดสอบเพิ่มเติม เช่น หากการทดสอบระบุว่าสตรีมวิดีโอได้รับการกําหนดค่าไม่ถูกต้อง คุณจะต้องแก้ไขสตรีมนั้นก่อนทําการออกอากาศ
หากกําหนดค่าสตรีมวิดีโอไม่ถูกต้อง คุณต้องยกเลิกการเชื่อมโยง (และลบ) สตรีมที่มีอยู่และสร้างสตรีมใหม่ เช่น การกําหนดค่าสตรีมอาจกําหนดค่าไม่ถูกต้องหากระบุรูปแบบวิดีโอที่ไม่ถูกต้อง
-
หากต้องการยกเลิกการลิงก์สตรีมวิดีโอ ให้เรียกเมธอด
liveBroadcasts.bind
จากขั้นตอนที่ 1.3 ในคําขอ API ให้ตั้งค่าพารามิเตอร์id
เป็นid
ที่ได้รับในขั้นตอนที่ 1.1 อย่าใส่พารามิเตอร์streamId
ในคําขอ -
หากต้องการลบสตรีมวิดีโอ ให้เรียกใช้เมธอด
liveStreams.delete
ในคําขอ ให้ตั้งค่าพารามิเตอร์id
เป็นid
ที่ได้ในขั้นตอนที่ 1.2 -
ทําขั้นตอนที่ 1.2 ซ้ําเพื่อสร้างทรัพยากร
liveStream
ใหม่ที่กําหนดค่าอย่างถูกต้อง จากนั้นทําซ้ําขั้นตอนที่ 1.3 เพื่อเชื่อมโยงสตรีมใหม่กับการออกอากาศ และขั้นตอนที่ 3.1 ถึง 3.3 เพื่อทดสอบสตรีมใหม่
ขั้นตอนที่ 3.6: เปิดใช้พร็อพเพอร์ตี้ autoStart
และ autoStop
หลังจากเสร็จสิ้นขั้นตอนการทดสอบแล้ว คุณจะมีตัวเลือกในการตั้งค่าพร็อพเพอร์ตี้ของการออกอากาศ contentDetails.enableAutoStart
และ contentDetails.enableAutoStop
เป็น true
ก่อนที่การออกอากาศจริงจะเริ่ม ตั้งค่าพร็อพเพอร์ตี้เหล่านี้เป็น true
ก่อนช่วงทดสอบไม่ได้ เนื่องจากการทดสอบดังกล่าวจะทําให้การออกอากาศเริ่มต้นขึ้นจริง
ขั้นที่ 4: ประกาศ
ในขั้นตอนนี้ ผู้ชมจะเห็นวิดีโอการออกอากาศของคุณ
ขั้นตอนที่ 4.1: เริ่มวิดีโอ
เริ่มส่งสตรีมวิดีโอของคุณ
ขั้นตอนที่ 4.2: ยืนยันว่าสตรีมวิดีโอใช้งานได้
เรียกเมธอด liveStreams.list
เพื่อเรียกข้อมูลทรัพยากร liveStream
ที่เชื่อมโยงกับการออกอากาศ ยืนยันว่าค่าของพร็อพเพอร์ตี้ status.streamStatus
คือ active
ซึ่งระบุว่าเซิร์ฟเวอร์ YouTube ได้รับข้อมูลจากโปรแกรมเปลี่ยนไฟล์อย่างถูกต้อง
ขั้นตอนที่ 4.3: เปลี่ยนสถานะการออกอากาศเป็นการถ่ายทอดสด
สําคัญ: ขั้นตอนนี้ทําให้ผู้ชมเห็นวิดีโอของคุณได้
เรียกใช้เมธอด liveBroadcasts.transition
เพื่ออัปเดตสถานะการออกอากาศ ตั้งค่าพารามิเตอร์ id
เป็นรหัสการออกอากาศที่ได้รับในขั้นตอนที่ 1.1 และกําหนดค่าพารามิเตอร์ broadcastStatus
เป็น live
หากตั้งค่าพร็อพเพอร์ตี้ทรัพยากรของ liveBroadcast
contentDetails.enableAutoStart
เป็น true
ก็ไม่จําเป็นต้องเรียกเมธอด liveBroadcasts.transition
หลังจากที่เรียก API นี้แล้ว หรือถ้าคุณตั้งค่าพร็อพเพอร์ตี้ contentDetails.enableAutoStart
เป็น true
หลังจากเริ่มสตรีมแล้ว โดยทั่วไปคุณจะต้องรอ 5 ถึง 10 วินาทีเพื่อให้การเปลี่ยนเสร็จสมบูรณ์ การเปลี่ยนอาจใช้เวลาถึง 1 นาที ในระหว่างนั้น คุณควรสํารวจ API เพื่อตรวจสอบสถานะของการออกอากาศ สถานะของการออกอากาศจะเป็น liveStarting
จนกว่าการเปลี่ยนจะเสร็จสมบูรณ์ สถานะจะเป็น live
เมื่อการเปลี่ยนเสร็จสมบูรณ์ และผู้ชมดูการออกอากาศจากจุดนั้นในสตรีมการตรวจสอบได้
โปรดทราบผลกระทบต่อไปนี้ของคําสั่งนี้
- หากคุณเปิดใช้สตรีมการตรวจสอบสําหรับการออกอากาศของคุณแล้ว โปรดดูขั้นตอนที่ 3.1 คุณจะเห็นสตรีมจอภาพในโปรแกรมเล่นแบบฝัง
- หากคุณกําหนดค่าสําหรับพร็อพเพอร์ตี้
contentDetails.streamDetails.broadcastStreamDelayMs
ของการออกอากาศ สตรีมประกาศที่ผู้ชมคนอื่นๆ จะเห็นได้จะล่าช้าตามจํานวนระยะเวลานั้น
ขั้นตอนที่ 4.4: แทรกช่วงพักโฆษณาในการออกอากาศ
เรียกเมธอด liveBroadcasts.cuepoint
เพื่อแทรกจุดเริ่มโฆษณา จุดเริ่มโฆษณาอาจทริกเกอร์ช่วงพักโฆษณา ในทรัพยากร cuepoint
ที่อยู่ในเนื้อหาของคําขอ ให้ตั้งค่าพร็อพเพอร์ตี้ durationSecs
เป็นระยะเวลาที่ต้องการของช่วงพักโฆษณา (เป็นวินาที) ที่คุณต้องการ (ค่าเริ่มต้นคือ 30
)
ในตอนนี้ YouTube พยายามเล่นวิดีโอในโปรแกรมเล่นวิดีโอสําหรับผู้ชมที่กําลังรับชมการออกอากาศเมื่อมีการแทรกจุดโฆษณา การเล่นโฆษณาหรือไม่ขึ้นอยู่กับหลายปัจจัย เช่น ความพร้อมในการแสดงโฆษณาและประวัติการดูของผู้ชม ผู้ชมที่ได้รับช่วงพักโฆษณาจะกลับมาที่การออกอากาศของคุณเมื่อช่วงพักโฆษณาสิ้นสุดลง ส่วนผู้ชมที่ไม่ได้แสดงโฆษณาจะยังดูสตรีมดังกล่าวระหว่างช่วงพักโฆษณาได้
คู่มือเริ่มต้นใช้งานให้ข้อมูลเพิ่มเติมเกี่ยวกับประสบการณ์การรับชมระหว่างช่วงพักโฆษณาของการถ่ายทอดสด
ขั้นตอนที่ 5: สรุปการออกอากาศ
ขั้นตอนที่ 5.1: หยุดสตรีมมิง
การทดสอบระบบการถ่ายทอดสด YouTube ของคุณก็ได้จบลงแล้ว
ขั้นตอนที่ 5.2: เปลี่ยนสถานะการออกอากาศให้เสร็จเรียบร้อย
เมื่อพร้อมหยุดออกอากาศ ให้เรียกใช้เมธอด liveBroadcasts.transition
ของ API เพื่ออัปเดตสถานะการออกอากาศ ตั้งค่าพารามิเตอร์ id
เป็นรหัสการประกาศที่ได้รับในขั้นตอนที่ 1.1 และกําหนดค่าพารามิเตอร์ broadcastStatus
เป็น complete
หากตั้งค่าพร็อพเพอร์ตี้ contentDetails.recordFromStart
และ contentDetails.enableDvr
ของการออกอากาศเป็น
true
เมื่อการถ่ายทอดสดสิ้นสุดลง ผู้ชมจะดูการเล่นการถ่ายทอดสดได้ทันที
ขั้นตอนที่ 6: สร้างข้อมูลอ้างอิง
เมื่อบันทึกการถ่ายทอดสดเสร็จแล้ว คุณจะสร้างข้อมูลอ้างอิงจากวิดีโอที่บันทึกไว้ได้ การดําเนินการนี้จะสั่งให้ YouTube ค้นหาวิดีโอที่อัปโหลดโดยผู้ใช้ซึ่งตรงกับการออกอากาศและจัดการตามนโยบายการจับคู่ที่คุณตั้งค่าไว้ในขั้นตอนที่ 2.3
สําคัญ: หากต้องการสร้างข้อมูลอ้างอิง คุณต้องตั้งค่าพร็อพเพอร์ตี้ contentDetails.recordFromStart
ของการออกอากาศเป็น true
ขั้นตอนที่ 6.1: โพล Data API สําหรับสถานะของวิดีโอ
YouTube ต้องประมวลผลการออกอากาศหรือวิดีโอที่อัปโหลดให้เสร็จสิ้นก่อน คุณจึงจะสร้างข้อมูลอ้างอิงจากวิดีโอนั้นได้ หากต้องการดูว่าวิดีโอประมวลผลเสร็จแล้ว ให้สํารวจเมธอด videos.list
ของ YouTube Data API เพื่อตั้งค่าพารามิเตอร์ part
เป็น status
และพารามิเตอร์ id
ลงในรหัสการออกอากาศที่จัดเก็บไว้ในขั้นตอนที่ 1.1
การตอบกลับ API สําหรับคําขอแบบสํารวจของคุณจะมีทรัพยากร video
เมื่อค่าของพร็อพเพอร์ตี้ status.uploadStatus ของทรัพยากรดังกล่าวคือ processed
ให้ไปยังขั้นตอนที่ 6.2
ขั้นตอนที่ 6.2: สร้างข้อมูลอ้างอิงจากวิดีโอที่ประมวลผลแล้ว
หากต้องการสร้างการอ้างอิง ให้เรียกใช้เมธอด references.insert
ของ Content ID API และตั้งค่าพารามิเตอร์ claimId
เป็นรหัสการอ้างสิทธิ์ที่คุณจัดเก็บไว้ในขั้นตอนที่ 2.4
การส่ง Content ID แบบสด
พาร์ทเนอร์ YouTube บางรายสร้างข้อมูลอ้างอิงได้ก่อนที่การออกอากาศจะเปลี่ยนไปใช้สถานะ testing
แต่พาร์ทเนอร์บางรายใช้ฟีเจอร์ดังกล่าวไม่ได้ ในขั้นนี้ YouTube จะสร้างและอัปเดตการอ้างอิงอย่างต่อเนื่องจากสตรีมการถ่ายทอดสดของคุณขณะออกอากาศ นอกจากนี้ YouTube จะมองหาวิดีโอที่ผู้ใช้จับคู่ตรงกันขณะที่การออกอากาศยังอยู่ระหว่างดําเนินการ โปรดทราบว่าการสร้างข้อมูลอ้างอิงก่อนที่การออกอากาศจะเริ่มจะเริ่มการบันทึกโดยอัตโนมัติสําหรับการออกอากาศ และคุณจะปิดการบันทึกไม่ได้หลังจากสร้างข้อมูลอ้างอิงแล้ว
หากต้องการเปิดใช้การเผยแพร่สําหรับ Content ID แบบสด ให้ลองดําเนินการที่อธิบายไว้ในขั้นตอนที่ 6.2 หลังจากอ้างสิทธิ์วิดีโอในขั้นตอนที่ 2.4
หากบัญชีพาร์ทเนอร์ของคุณไม่ได้รับการอนุมัติให้สร้างข้อมูลอ้างอิงสําหรับการออกอากาศสดก่อนที่การออกอากาศดังกล่าวจะเกิดขึ้น API จะแสดงข้อผิดพลาด fingerprintingNotAllowed
ในกรณีนี้ คุณต้องรอจนกว่าการออกอากาศจะเสร็จสมบูรณ์ตามที่อธิบายไว้ในข้อ 6.1 และ 6.2 ข้างต้นก่อนสร้างข้อมูลอ้างอิง