บทนำ
เอกสารนี้จะอธิบายขั้นตอนการออกอากาศสดบน YouTube ซึ่งสร้างและจัดการโดยใช้ YouTube Live Streaming API และ API สำหรับ Content ID ของ YouTube
ทรัพยากรและประเภททรัพยากร
ดังที่อธิบายไว้ในคู่มือการเริ่มต้นใช้งาน ทรัพยากรคือเอนทิตีข้อมูลแต่ละรายการที่มีตัวระบุที่ไม่ซ้ำกัน หากต้องการสร้างและจัดการกิจกรรมถ่ายทอดสดบน YouTube คุณจะต้องใช้ทรัพยากรหลายประเภทที่ กำหนดไว้เป็นส่วนหนึ่งของ Data API ของ YouTube หรือ API สำหรับ Content ID ของ YouTube แหล่งข้อมูลที่แสดงในส่วนหัวของ YouTube Live Streaming API มีการกำหนดทางเทคนิคใน API อื่นๆ เหล่านั้น แต่จะแสดงแยกกันเนื่องจากใช้สำหรับการออกอากาศสดเท่านั้น
แหล่งข้อมูล YouTube Live Streaming API
แหล่งข้อมูล YouTube Data API
แหล่งข้อมูล API ของ Content ID บน YouTube
สร้างและจัดการการถ่ายทอดสด
ขั้นตอนต่อไปนี้จะอธิบายวิธีสร้างและจัดการกิจกรรมถ่ายทอดสดบน YouTube ขั้นตอนจะแบ่งออกเป็นระยะต่างๆ ดังนี้
ขั้นตอนที่ 1: ตั้งค่าการออกอากาศ
ขั้นตอนที่ 1.1: สร้างการออกอากาศ
เรียกใช้เมธอด liveBroadcasts.insert
เพื่อเพิ่มการออกอากาศลงในกำหนดการของกิจกรรมสดบน YouTube liveBroadcast
ทรัพยากรที่คุณแทรกต้องกำหนดค่าสำหรับพร็อพเพอร์ตี้ที่ระบุไว้ด้านล่าง
โปรดคำนึงถึงหลักเกณฑ์ต่อไปนี้เมื่อตั้งค่าการออกอากาศ
หากต้องการมีช่วงทดสอบสำหรับการออกอากาศ ซึ่งคุณจะดูการออกอากาศวิดีโอได้โดยที่ผู้ชมคนอื่นๆ ไม่สามารถดูการออกอากาศได้ คุณต้องตั้งค่าพร็อพเพอร์ตี้
contentDetails.monitorStream.enableMonitorStream
เป็นtrue
และพร็อพเพอร์ตี้contentDetails.enableAutoStart
เป็นfalse
ค่าต่อไปนี้คือ ค่าเริ่มต้นของทั้ง 2 พร็อพเพอร์ตี้หากต้องการสร้างข้อมูลอ้างอิงจากการออกอากาศที่บันทึกไว้ คุณต้องตั้งค่าพร็อพเพอร์ตี้
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
- ระบุว่าสตรีมนำกลับมาใช้ซ้ำได้หรือไม่ ซึ่งหมายความว่าสตรีมเชื่อมโยงกับ การถ่ายทอดสดหลายรายการได้ ค่าของพร็อพเพอร์ตี้นี้จะกำหนดว่าช่องมีความสัมพันธ์แบบหลายต่อหนึ่งหรือหนึ่งต่อหนึ่งระหว่างทรัพยากร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 ทั้งหมดที่กล่าวถึงในขั้นตอนนี้จะกำหนดไว้ใน API สำหรับ Content ID ของ YouTube
ขั้นตอนที่ 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
ก็ได้ ใน
ทั้ง 2 กรณี คุณต้องบันทึก 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 ใช้พร็อพเพอร์ตี้ videoAdvertisingOption
ของแหล่งข้อมูล
adFormats[]
เพื่อระบุรูปแบบโฆษณา (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
หากตั้งค่าพร็อพเพอร์ตี้
contentDetails.enableAutoStart
ของทรัพยากร liveBroadcast
เป็น true
คุณไม่จำเป็นต้องเรียกใช้เมธอด liveBroadcasts.transition
หลังจากที่คุณทำการเรียก API นี้ หรือหากตั้งค่าcontentDetails.enableAutoStart
พร็อพเพอร์ตี้เป็น true
หลังจากเริ่มสตรีมแล้ว โดยปกติคุณจะต้องรอ 5-10 วินาทีเพื่อให้การเปลี่ยนผ่านนั้นเสร็จสมบูรณ์ การเปลี่ยนอาจใช้เวลาถึง 1 นาที ในระหว่างนั้น คุณควร
สำรวจ API เพื่อตรวจสอบสถานะการออกอากาศ จนกว่าการเปลี่ยนผ่านจะเสร็จสมบูรณ์ สถานะของการออกอากาศจะเป็น liveStarting
สถานะจะเป็น
live
เมื่อการเปลี่ยนผ่านเสร็จสมบูรณ์ และผู้ชมจะดูการออกอากาศของคุณได้
จากจุดนั้นในสตรีมการตรวจสอบ
โปรดทราบผลลัพธ์ต่อไปนี้ของคำสั่งนี้
- หากเปิดใช้สตรีมสำหรับตรวจสอบสำหรับการออกอากาศแล้ว (ดูขั้นตอนที่ 3.1) คุณจะดูสตรีมสำหรับตรวจสอบในเพลเยอร์แบบฝังได้
- หากคุณตั้งค่าสำหรับพร็อพเพอร์ตี้
contentDetails.streamDetails.broadcastStreamDelayMs
การออกอากาศไว้ สตรีมการออกอากาศที่ผู้ชมคนอื่นๆ มองเห็นจะล่าช้าไปตามระยะเวลาดังกล่าว
ขั้นตอนที่ 4.4: แทรกช่วงพักโฆษณาลงในการออกอากาศ
เรียกใช้เมธอด liveBroadcasts.cuepoint
เพื่อแทรกคิวพอยท์ 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 ข้างต้นก่อนจึงจะสร้างข้อมูลอ้างอิงได้