บทนำ
เอกสารนี้จะแนะนำคุณตลอดวงจรของการถ่ายทอดสดบน YouTube ที่สร้างและจัดการโดยใช้ YouTube Live Streaming API และ YouTube Content ID API
แหล่งข้อมูลและประเภทแหล่งข้อมูล
ตามที่อธิบายไว้ในคู่มือเริ่มต้นใช้งาน ทรัพยากรคือเอนทิตีข้อมูลแต่ละรายการที่มีตัวระบุที่ไม่ซ้ำกัน หากต้องการสร้างและจัดการการถ่ายทอดสดบน YouTube คุณจะต้องใช้ทรัพยากรประเภทต่างๆ ที่กำหนดไว้เป็นส่วนหนึ่งของ YouTube Data API หรือ YouTube Content ID API แหล่งข้อมูลที่แสดงในส่วนหัวของ 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ค่าเหล่านี้คือค่าเริ่มต้นสำหรับทั้ง 2 พร็อพเพอร์ตี้หากต้องการสร้างข้อมูลอ้างอิงจากการออกอากาศที่บันทึกไว้ คุณต้องตั้งค่าพร็อพเพอร์ตี้
contentDetails.recordFromStartของการออกอากาศเป็นtrueหากต้องการให้วิดีโอที่บันทึกไว้พร้อมให้เล่นทันทีหลังจากที่การออกอากาศสิ้นสุดลง คุณต้องตั้งค่าพร็อพเพอร์ตี้contentDetails.enableDvrเป็นtrueด้วย (พร็อพเพอร์ตี้ทั้ง 2 รายการนี้มีค่าเริ่มต้นเป็นtrue)หากต้องการจำกัดภูมิภาคที่รับชมการออกอากาศได้ คุณสามารถตั้งค่าพร็อพเพอร์ตี้
contentDetails.availabilityConfigพร็อพเพอร์ตี้นี้ช่วยให้คุณบล็อกบางภูมิภาคหรือ จำกัดความพร้อมจำหน่ายสินค้าไว้ในรายการภูมิภาคที่กำหนดได้ นอกจากนี้ คุณยังระบุ กรอบเวลาสำหรับความพร้อมให้บริการในภูมิภาคได้ด้วยคุณระบุหมวดหมู่วิดีโอสำหรับการออกอากาศได้โดยใช้พร็อพเพอร์ตี้
snippet.categoryIdหากไม่ได้ระบุไว้ หมวดหมู่เริ่มต้นจะเป็นEntertainmentคุณอัปเดตพร็อพเพอร์ตี้
contentDetailsได้ตราบใดที่สถานะการออกอากาศยังคงเป็นcreatedหรือreadyคุณสามารถอัปเดตเวลาเริ่มต้นและเวลาสิ้นสุดที่กำหนดไว้ของการออกอากาศ ตราบใดที่สถานะของการออกอากาศเป็น
createdreadyหรือ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](/youtube/data/live/reference/rest/v3/liveStreams#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 ก็ได้ ไม่ว่าในกรณีใด คุณต้องบันทึก 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 Viewers จะเห็น
โปรดทราบว่าคุณจะทดสอบการออกอากาศวิดีโอได้ก็ต่อเมื่อเปิดใช้สตรีมการตรวจสอบเท่านั้น โดยค่าเริ่มต้น ระบบจะเปิดใช้สตรีมสำหรับตรวจสอบของการออกอากาศ คุณปิดใช้สตรีมการตรวจสอบของการออกอากาศได้โดยตั้งค่าพร็อพเพอร์ตี้ 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
แหล่งข้อมูลที่ระบุใน
ส่วนเนื้อหาของคำขอ ให้ตั้งค่าพร็อพเพอร์ตี้ 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 ด้านบนก่อนจึงจะสร้างข้อมูลอ้างอิงได้