LiveBroadcasts

ตอนนี้ API รองรับการทําเครื่องหมายสตรีมแบบสดเป็น "สร้างมาเพื่อเด็ก" และตอนนี้ทรัพยากร liveBroadcast มีพารามิเตอร์ที่ระบุสถานะ "สร้างมาเพื่อเด็ก" ของสตรีมแบบสดนั้น นอกจากนี้ เรายังได้ปรับปรุงนโยบายสำหรับนักพัฒนาซอฟต์แวร์และข้อกำหนดในการให้บริการของบริการ YouTube API ไปเมื่อวันที่ 10 มกราคม 2020 ด้วย ดูข้อมูลเพิ่มเติมได้ที่ประวัติการแก้ไขบริการ YouTube Live Streaming API และข้อกำหนดในการให้บริการของบริการ YouTube API

ทรัพยากร liveBroadcast แสดงถึงกิจกรรมที่จะสตรีมผ่านวิดีโอสดบน YouTube

เมธอด

API รองรับเมธอดต่อไปนี้สำหรับทรัพยากร liveBroadcasts

list
แสดงรายการการออกอากาศ YouTube ที่ตรงกับพารามิเตอร์คำขอ API ลองใช้เลย
แทรก
สร้างการออกอากาศ ลองใช้เลย
update
อัปเดตการออกอากาศ เช่น คุณอาจแก้ไขการตั้งค่าการออกอากาศที่กําหนดไว้ในออบเจ็กต์ contentDetails ของliveBroadcast ทรัพยากร ลองใช้เลย
ลบ
ลบการออกอากาศ ลองใช้เลย
bind
เชื่อมโยงการออกอากาศ YouTube กับสตรีมหรือนำการเชื่อมโยงที่มีอยู่ระหว่างการออกอากาศกับสตรีมออก การออกอากาศจะเชื่อมโยงกับสตรีมวิดีโอได้เพียงรายการเดียว แต่สตรีมวิดีโอจะเชื่อมโยงกับการออกอากาศได้มากกว่า 1 รายการ ลองใช้เลย
transition
เปลี่ยนสถานะของการออกอากาศสดบน YouTube และเริ่มกระบวนการที่เกี่ยวข้องกับสถานะใหม่ ตัวอย่างเช่น เมื่อคุณเปลี่ยนสถานะของการออกอากาศเป็น testing ทาง YouTube จะเริ่มส่งวิดีโอไปยังสตรีมการตรวจสอบของการออกอากาศนั้น ก่อนเรียกใช้เมธอดนี้ คุณควรตรวจสอบว่าค่าของพร็อพเพอร์ตี้ status.streamStatus สำหรับสตรีมที่เชื่อมโยงกับการออกอากาศคือ active ลองใช้เลย
cuepoint
แทรกจุดเริ่มต้นในการออกอากาศสด จุดเริ่มต้นอาจทริกเกอร์ช่วงพักโฆษณา

การนําเสนอทรัพยากร

โครงสร้าง JSON ต่อไปนี้แสดงรูปแบบของทรัพยากร liveBroadcasts

{
  "kind": "youtube#liveBroadcast",
  "etag": etag,
  "id": string,
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "thumbnails": {
      (key): {
        "url": string,
        "width": unsigned integer,
        "height": unsigned integer
      }
    },
    "scheduledStartTime": datetime,
    "scheduledEndTime": datetime,
    "actualStartTime": datetime,
    "actualEndTime": datetime,
    "isDefaultBroadcast": boolean,
    "liveChatId": string
  },
  "status": {
    "lifeCycleStatus": string,
    "privacyStatus": string,
    "recordingStatus": string,
    "madeForKids": string,
    "selfDeclaredMadeForKids": string,
  },
  "contentDetails": {
    "boundStreamId": string,
    "boundStreamLastUpdateTimeMs": datetime,
    "monitorStream": {
      "enableMonitorStream": boolean,
      "broadcastStreamDelayMs": unsigned integer,
      "embedHtml": string
    },
    "enableEmbed": boolean,
    "enableDvr": boolean,
    "recordFromStart": boolean,
    "enableClosedCaptions": boolean,
    "closedCaptionsType": string,
    "projection": string,
    "enableLowLatency": boolean,
    "latencyPreference": boolean,
    "enableAutoStart": boolean,
    "enableAutoStop": boolean
  },
  "statistics": {
    "totalChatCount": unsigned long
  },
  "monetizationDetails": {
      "cuepointSchedule": {
        "enabled": boolean,
        "pauseAdsUntil": datetime,
        "scheduleStrategy": string,
        "repeatIntervalSecs": unsigned integer,
      }
    }
  }
}

พร็อพเพอร์ตี้

ตารางต่อไปนี้จะกำหนดพร็อพเพอร์ตี้ที่ปรากฏในทรัพยากรนี้

พร็อพเพอร์ตี้
kind string
ระบุประเภทของทรัพยากร API ค่าจะเป็น youtube#liveBroadcast
etag etag
Etag ของทรัพยากรนี้
id string
รหัสที่ YouTube กำหนดเพื่อระบุการออกอากาศโดยไม่ซ้ำกัน
snippet object
ออบเจ็กต์ snippet มีรายละเอียดพื้นฐานเกี่ยวกับกิจกรรม เช่น ชื่อ คำอธิบาย เวลาเริ่มต้น และเวลาสิ้นสุด
snippet.publishedAt datetime
วันที่และเวลาที่เพิ่มการออกอากาศลงในกำหนดการออกอากาศสดของ YouTube ค่าที่ระบุอยู่ในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ)
snippet.channelId string
รหัสที่ YouTube ใช้เพื่อระบุช่องที่เผยแพร่การออกอากาศโดยเฉพาะ
snippet.title string
ชื่อการออกอากาศ โปรดทราบว่าการออกอากาศจะแสดงวิดีโอ YouTube เพียงรายการเดียว คุณสามารถตั้งค่าฟิลด์นี้โดยการแก้ไขทรัพยากรการออกอากาศหรือตั้งค่าฟิลด์ title ของทรัพยากรวิดีโอที่เกี่ยวข้อง
snippet.description string
คําอธิบายของออกอากาศ เช่นเดียวกับ title คุณสามารถตั้งค่าช่องนี้ได้โดยการแก้ไขแหล่งข้อมูลการออกอากาศ หรือโดยตั้งค่าช่อง description ของแหล่งข้อมูลวิดีโอที่เกี่ยวข้อง
snippet.thumbnails object
แผนที่รูปภาพขนาดย่อที่เชื่อมโยงกับการออกอากาศ สําหรับออบเจ็กต์ที่ฝังอยู่แต่ละรายการในออบเจ็กต์นี้ คีย์คือชื่อรูปภาพขนาดย่อ และค่าคือออบเจ็กต์ที่มีข้อมูลอื่นๆ เกี่ยวกับรูปภาพขนาดย่อ
snippet.thumbnails.(key) object
คีย์-ค่าที่ใช้ได้มีดังนี้
  • default – รูปภาพขนาดย่อเริ่มต้น ภาพขนาดย่อเริ่มต้นสำหรับวิดีโอหรือทรัพยากรที่อ้างอิงถึงวิดีโอ เช่น รายการเพลย์ลิสต์หรือผลการค้นหา จะมีขนาดกว้าง 120px และสูง 90px ภาพปกเริ่มต้นของช่องมีความกว้าง 88 พิกเซลและสูง 88 พิกเซล
  • medium – รูปภาพขนาดย่อเวอร์ชันที่มีความละเอียดสูงขึ้น สำหรับวิดีโอ (หรือแหล่งข้อมูลที่กล่าวถึงวิดีโอ) รูปภาพนี้กว้าง 320 พิกเซลและสูง 180 พิกเซล สำหรับช่อง รูปภาพนี้ควรมีความกว้าง 240 พิกเซลและสูง 240 พิกเซล
  • high – รูปภาพขนาดย่อเวอร์ชันความละเอียดสูง สำหรับวิดีโอ (หรือแหล่งข้อมูลที่อ้างอิงวิดีโอ) รูปภาพนี้มีความกว้าง 480 พิกเซลและความสูง 360 พิกเซล สำหรับช่อง รูปภาพนี้ควรมีความกว้าง 800 พิกเซลและสูง 800 พิกเซล
snippet.thumbnails.(key).url string
URL ของรูปภาพ
snippet.thumbnails.(key).width unsigned integer
ความกว้างของรูปภาพ
snippet.thumbnails.(key).height unsigned integer
ความสูงของรูปภาพ
snippet.scheduledStartTime datetime
วันที่และเวลาที่กำหนดให้เริ่มออกอากาศ ค่าที่ระบุอยู่ในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) Creator Studio รองรับการสร้างการออกอากาศโดยไม่ต้องกำหนดเวลาเริ่มต้น ในกรณีนี้ การออกอากาศจะเริ่มขึ้นเมื่อใดก็ตามที่เจ้าของช่องเริ่มสตรีม สำหรับการออกอากาศเหล่านี้ ค่า datetime จะสอดคล้องกับเวลา UNIX 0 และคุณไม่สามารถเปลี่ยนค่านี้ผ่าน API หรือใน Creator Studio
snippet.scheduledEndTime datetime
วันที่และเวลาที่กําหนดให้ออกอากาศสิ้นสุด ค่าที่ระบุอยู่ในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) หากทรัพยากร liveBroadcast ไม่ได้ระบุค่าสําหรับพร็อพเพอร์ตี้นี้ ระบบจะกําหนดเวลาออกอากาศต่อไปอย่างไม่มีกําหนด ในทำนองเดียวกัน หากคุณไม่ได้ระบุค่าสำหรับพร็อพเพอร์ตี้นี้ YouTube จะถือว่าการออกอากาศจะดำเนินต่อไปอย่างไม่มีกำหนด
snippet.actualStartTime datetime
วันที่และเวลาที่ออกอากาศจริง ข้อมูลนี้ใช้ได้เมื่อสถานะของการออกอากาศคือ live เท่านั้น ค่าที่ระบุอยู่ในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ)
snippet.actualEndTime datetime
วันที่และเวลาที่ออกอากาศจริงสิ้นสุดลง ข้อมูลนี้จะพร้อมใช้งานเมื่อสถานะของการออกอากาศเป็น complete เท่านั้น ค่าที่ระบุอยู่ในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ)
snippet.isDefaultBroadcast boolean
เราจะเลิกใช้งานพร็อพเพอร์ตี้นี้ตั้งแต่วันที่ 1 กันยายน 2020 เป็นต้นไป เมื่อถึงเวลาดังกล่าว YouTube จะหยุดสร้างสตรีมเริ่มต้นและออกอากาศเริ่มต้นเมื่อเปิดใช้ช่องสำหรับการสตรีมมิงแบบสด โปรดดูรายละเอียดเพิ่มเติมในประกาศการเลิกใช้งาน
พร็อพเพอร์ตี้นี้ระบุว่าการออกอากาศนี้เป็นออกอากาศเริ่มต้นหรือไม่

วิธีการทำงานของการออกอากาศเริ่มต้น

เมื่อเปิดใช้สตรีมมิงแบบสดในช่อง YouTube แล้ว YouTube จะสร้างสตรีมเริ่มต้นและการออกอากาศเริ่มต้นสำหรับช่องนั้น สตรีมจะกำหนดวิธีที่เจ้าของช่องส่งวิดีโอสดไปยัง YouTube และการออกอากาศคือวิธีที่ผู้ชมจะเห็นสตรีมเริ่มต้น เจ้าของช่องสามารถใช้เมธอด liveStreams.list และ liveBroadcasts.list เพื่อระบุแหล่งข้อมูลเหล่านี้ได้

เมื่อช่องเริ่มสตรีมวิดีโอไปยังสตรีมเริ่มต้น วิดีโอจะแสดงในการออกอากาศเริ่มต้นของช่อง เมื่อสตรีมจบลง YouTube จะแปลงการออกอากาศที่เสร็จสมบูรณ์เป็นวิดีโอ YouTube และกำหนดรหัสวิดีโอ YouTube ให้กับวิดีโอ

หลังจากแปลงเสร็จแล้ว วิดีโอจะรวมอยู่ในรายการวิดีโอที่อัปโหลดของช่อง วิดีโอจะยังไม่พร้อมใช้งานทันทีที่การออกอากาศสิ้นสุดลง และระยะเวลาในการเลื่อนเวลาจะสัมพันธ์กับความยาวจริงของการออกอากาศ
snippet.liveChatId string
รหัสสำหรับแชทสดของ YouTube ของออกอากาศ รหัสนี้จะช่วยให้คุณใช้เมธอดของทรัพยากร liveChatMessage เพื่อดึงข้อมูล แทรก หรือลบข้อความแชทได้ นอกจากนี้ คุณยังเพิ่มหรือนำผู้ดูแลแชทออก แบนผู้ใช้ไม่ให้เข้าร่วมแชทสด หรือนำการแบนที่มีอยู่ออกได้ด้วย
status object
ออบเจ็กต์ status มีข้อมูลเกี่ยวกับสถานะของเหตุการณ์
status.lifeCycleStatus string
สถานะของการออกอากาศ อัปเดตสถานะได้โดยใช้เมธอด liveBroadcasts.transition ของ API

ค่าที่ถูกต้องสำหรับพร็อพเพอร์ตี้นี้คือ
  • complete – การออกอากาศเสร็จสิ้นแล้ว
  • created – การออกอากาศมีการตั้งค่าไม่สมบูรณ์ จึงยังไม่พร้อมเปลี่ยนเป็นสถานะ live หรือ testing แต่ระบบได้สร้างการออกอากาศดังกล่าวแล้วและใช้งานได้
  • live – การออกอากาศทำงานอยู่
  • liveStarting – การออกอากาศอยู่ระหว่างการเปลี่ยนเป็นสถานะ live
  • ready – การตั้งค่าการออกอากาศเสร็จสมบูรณ์แล้ว และการออกอากาศจะเปลี่ยนเป็นสถานะ live หรือ testing ได้
  • revoked – ผู้ดูแลระบบนำการออกอากาศนี้ออก
  • testStarting – การออกอากาศอยู่ระหว่างการเปลี่ยนเป็นสถานะ testing
  • testing – พาร์ทเนอร์เห็นการออกอากาศเท่านั้น
status.privacyStatus string
สถานะความเป็นส่วนตัวของออกอากาศ โปรดทราบว่าการออกอากาศแสดงวิดีโอ YouTube เพียงรายการเดียว ดังนั้นการตั้งค่าความเป็นส่วนตัวจึงเหมือนกับการตั้งค่าที่รองรับสำหรับวิดีโอ นอกจากนี้ คุณยังตั้งค่าช่องนี้โดยการแก้ไขทรัพยากรการออกอากาศหรือตั้งค่าช่อง privacyStatus ของทรัพยากรวิดีโอที่เกี่ยวข้อง

ค่าที่ถูกต้องสำหรับพร็อพเพอร์ตี้นี้มีดังนี้
  • private
  • public
  • unlisted
status.recordingStatus string
สถานะการบันทึกของออกอากาศ

ค่าที่ถูกต้องสำหรับพร็อพเพอร์ตี้นี้มีดังนี้
  • notRecording
  • recorded
  • recording
status.madeForKids boolean
ค่านี้ระบุได้ว่าจะกำหนดการออกอากาศเป็นเนื้อหาที่มุ่งเน้นเด็กหรือไม่ ค่าพร็อพเพอร์ตี้นี้เป็นแบบอ่านอย่างเดียว
status.selfDeclaredMadeForKids boolean
ในคำขอ liveBroadcasts.insert พร็อพเพอร์ตี้นี้ช่วยให้เจ้าของช่องกำหนดได้ว่าการออกอากาศเป็นแบบมุ่งเป้าหมายไปยังเยาวชน ในคำขอ liveBroadcasts.list ระบบจะแสดงค่าพร็อพเพอร์ตี้ก็ต่อเมื่อเจ้าของช่องให้สิทธิ์คำขอ API เท่านั้น
contentDetails object
ออบเจ็กต์ contentDetails มีข้อมูลเกี่ยวกับเนื้อหาวิดีโอของกิจกรรม เช่น เนื้อหาจะแสดงในวิดีโอเพลเยอร์แบบฝังได้หรือไม่ หรือระบบจะเก็บเนื้อหาไว้เพื่อให้รับชมได้หลังจากกิจกรรมสิ้นสุดลงหรือไม่
contentDetails.boundStreamId string
ค่านี้จะระบุ live stream ที่เชื่อมโยงกับการออกอากาศโดยไม่ซ้ำกัน
contentDetails.boundStreamLastUpdateTimeMs datetime
วันที่และเวลาที่อัปเดตสตรีมแบบสดที่ boundStreamId อ้างอิงถึงครั้งล่าสุด
contentDetails.monitorStream object
ออบเจ็กต์ monitorStream มีข้อมูลเกี่ยวกับสตรีมการตรวจสอบ ซึ่งผู้ออกอากาศสามารถใช้ตรวจสอบเนื้อหาเหตุการณ์ก่อนที่สตรีมการออกอากาศจะแสดงต่อสาธารณะ
contentDetails.monitorStream.enableMonitorStream boolean
ค่านี้จะกำหนดว่าจะเปิดใช้สตรีมการตรวจสอบสำหรับการออกอากาศหรือไม่ หากเปิดใช้สตรีมตรวจสอบ YouTube จะออกอากาศเนื้อหากิจกรรมในสตรีมพิเศษที่มีไว้สำหรับผู้ออกอากาศเท่านั้น ผู้ออกอากาศสามารถใช้สตรีมเพื่อตรวจสอบเนื้อหาของกิจกรรมและระบุเวลาที่เหมาะสมในการแทรกจุดเริ่มต้น

คุณต้องตั้งค่านี้เป็น true หากต้องการมีระยะห่างระหว่างเฟรม testing สำหรับการออกอากาศ หรือหากต้องการเลื่อนเวลาออกอากาศสำหรับกิจกรรม นอกจากนี้ หากค่าของพร็อพเพอร์ตี้นี้คือ true คุณต้องเปลี่ยนสถานะการออกอากาศเป็น testing ก่อนจึงจะเปลี่ยนเป็นสถานะ live ได้ (หากค่าของพร็อพเพอร์ตี้คือ false การออกอากาศจะไม่มีระยะ testing คุณจึงเปลี่ยนการออกอากาศเป็นสถานะ live ได้โดยตรง)

เมื่อคุณupdate a broadcast คุณจะต้องตั้งค่าพร็อพเพอร์ตี้นี้หากคำขอ API มีส่วน contentDetails ในค่าพารามิเตอร์ part อย่างไรก็ตาม เมื่อคุณ insert a broadcast พร็อพเพอร์ตี้จะเป็นค่าที่ไม่บังคับและมีค่าเริ่มต้นเป็น true

สำคัญ: คุณจะอัปเดตพร็อพเพอร์ตี้นี้ไม่ได้เมื่อการออกอากาศอยู่ในสถานะ testing หรือ live
contentDetails.monitorStream.broadcastStreamDelayMs unsigned integer
หากคุณตั้งค่าพร็อพเพอร์ตี้ enableMonitorStream เป็น true พร็อพเพอร์ตี้นี้จะกำหนดระยะเวลาของเวลาหน่วงของออกอากาศสด

เมื่อคุณ update a broadcast จะต้องตั้งค่าพร็อพเพอร์ตี้นี้หากคําขอ API ของคุณมีส่วน contentDetails ในค่าพารามิเตอร์ part อย่างไรก็ตาม เมื่อคุณ insert a broadcast พร็อพเพอร์ตี้จะเป็นค่าที่ไม่บังคับและมีค่าเริ่มต้นเป็น 0 ค่านี้บ่งบอกว่าการออกอากาศไม่มีการเลื่อนเวลาออกอากาศ หมายเหตุ: คุณจะอัปเดตพร็อพเพอร์ตี้นี้ไม่ได้เมื่อการออกอากาศอยู่ในสถานะ testing หรือ live
contentDetails.monitorStream.embedHtml string
โค้ด HTML ที่ฝังเพลเยอร์ซึ่งเล่นสตรีมจากจอภาพ
contentDetails.enableEmbed boolean
การตั้งค่านี้ระบุว่าวิดีโอที่ออกอากาศจะเล่นในโปรแกรมเล่นแบบฝังได้หรือไม่ หากคุณเลือกเก็บวิดีโอถาวร (โดยใช้พร็อพเพอร์ตี้ enableArchive) การตั้งค่านี้จะใช้กับวิดีโอที่เก็บถาวรด้วย

เมื่อคุณ update a broadcast จะต้องตั้งค่าพร็อพเพอร์ตี้นี้หากคําขอ API ของคุณมีส่วน contentDetails ในค่าพารามิเตอร์ part อย่างไรก็ตาม เมื่อคุณ insert a broadcast พร็อพเพอร์ตี้จะเป็นแบบไม่บังคับและมีค่าเริ่มต้นเป็น true

หมายเหตุ: คุณจะอัปเดตพร็อพเพอร์ตี้นี้ไม่ได้เมื่อการออกอากาศอยู่ในสถานะ testing หรือ live
contentDetails.enableDvr boolean
การตั้งค่านี้จะกำหนดว่าผู้ชมจะเข้าถึงการควบคุม DVR ขณะดูวิดีโอได้หรือไม่ การควบคุม DVR ช่วยให้ผู้ชมควบคุมประสบการณ์การเล่นวิดีโอได้ด้วยการหยุดชั่วคราว กรอกลับ หรือกรอไปข้างหน้าเนื้อหา ค่าเริ่มต้นของคุณสมบัตินี้คือ true

เมื่อคุณ update a broadcast จะต้องตั้งค่าพร็อพเพอร์ตี้นี้หากคําขอ API ของคุณมีส่วน contentDetails ในค่าพารามิเตอร์ part อย่างไรก็ตาม เมื่อคุณ insert a broadcast พร็อพเพอร์ตี้จะเป็นค่าที่ไม่บังคับและมีค่าเริ่มต้นเป็น true

สำคัญ: คุณต้องตั้งค่าเป็น true และตั้งค่าพร็อพเพอร์ตี้ enableArchive เป็น true ด้วยหากต้องการให้เล่นได้ทันทีหลังจากออกอากาศจบ นอกจากนี้ คุณจะอัปเดตพร็อพเพอร์ตี้นี้ไม่ได้เมื่อการออกอากาศอยู่ในสถานะ testing หรือ live
contentDetails.recordFromStart boolean
การตั้งค่านี้จะระบุว่า YouTube จะเริ่มบันทึกการออกอากาศโดยอัตโนมัติหรือไม่หลังจากที่สถานะของกิจกรรมเปลี่ยนเป็น "ถ่ายทอดสด"

ค่าเริ่มต้นของพร็อพเพอร์ตี้นี้คือ true และสามารถตั้งค่าเป็น false ได้ก็ต่อเมื่อช่องออกอากาศได้รับอนุญาตให้ปิดใช้การบันทึกสําหรับการออกอากาศสดเท่านั้น

หากช่องของคุณไม่มีสิทธิ์ในการปิดใช้การบันทึก และคุณพยายามแทรกการออกอากาศโดยตั้งค่าพร็อพเพอร์ตี้ recordFromStart เป็น false แล้ว API จะแสดงข้อผิดพลาด Forbidden นอกจากนี้ หากช่องไม่มีสิทธิ์ดังกล่าวและคุณพยายามอัปเดตการออกอากาศเพื่อตั้งค่าพร็อพเพอร์ตี้ recordFromStart เป็น false API จะแสดงข้อผิดพลาด modificationNotAllowed

เมื่อคุณ update a broadcast จะต้องตั้งค่าพร็อพเพอร์ตี้นี้หากคําขอ API ของคุณมีส่วน contentDetails ในค่าพารามิเตอร์ part อย่างไรก็ตาม เมื่อคุณ insert a broadcast พร็อพเพอร์ตี้จะเป็นแบบไม่บังคับและมีค่าเริ่มต้นเป็น true

สำคัญ: คุณต้องตั้งค่าของพร็อพเพอร์ตี้ enableDvr เป็น true ด้วยหากต้องการให้การเล่นพร้อมใช้งานทันทีหลังจากออกอากาศจบ หากคุณตั้งค่าพร็อพเพอร์ตี้นี้เป็น true แต่ไม่ได้ตั้งค่าพร็อพเพอร์ตี้ enableDvr เป็น true ด้วย ระบบอาจมีความล่าช้าประมาณ 1 วันก่อนที่วิดีโอที่เก็บไว้จะพร้อมให้เล่น

หมายเหตุ: คุณจะอัปเดตพร็อพเพอร์ตี้นี้ไม่ได้เมื่อการออกอากาศอยู่ในสถานะ testing หรือ live
contentDetails.enableClosedCaptions boolean
เราได้เลิกใช้งานพร็อพเพอร์ตี้นี้ตั้งแต่วันที่ 17 ธันวาคม 2015 ให้ใช้พร็อพเพอร์ตี้ contentDetails.closedCaptionsType แทน

การตั้งค่านี้บ่งบอกว่าได้เปิดใช้คำบรรยายแทนเสียงแบบ HTTP POST สำหรับการออกอากาศนี้หรือไม่ สําหรับไคลเอ็นต์ API ที่ใช้พร็อพเพอร์ตี้นี้อยู่แล้ว ให้ทําดังนี้
  • การตั้งค่าพร็อพเพอร์ตี้เป็น true เทียบเท่ากับการตั้งค่าพร็อพเพอร์ตี้ contentDetails.closedCaptionsType เป็น closedCaptionsHttpPost
  • การตั้งค่าพร็อพเพอร์ตี้เป็น false เทียบเท่ากับการตั้งค่าพร็อพเพอร์ตี้ contentDetails.closedCaptionsType เป็น closedCaptionsDisabled
contentDetails.closedCaptionsType string
หมายเหตุ: พร็อพเพอร์ตี้นี้แทนที่พร็อพเพอร์ตี้ contentDetails.enableClosedCaptions

พร็อพเพอร์ตี้นี้ระบุว่ามีการเปิดใช้คำบรรยายแทนเสียงสำหรับการออกอากาศหรือไม่ และหากเปิดใช้ คุณจะใส่คำบรรยายแทนเสียงประเภทใด
  • closedCaptionsDisabled: คำบรรยายปิดอยู่สำหรับการออกอากาศสด
  • closedCaptionsHttpPost: คุณจะต้องส่งคำบรรยายแทนเสียงผ่าน HTTP POST ไปยัง URL การส่งผ่านข้อมูลที่เชื่อมโยงกับสตรีมแบบสด
  • closedCaptionsEmbedded: คำบรรยายแทนเสียงจะเข้ารหัสในสตรีมวิดีโอโดยใช้รูปแบบ EIA-608 และ/หรือ CEA-708
contentDetails.projection string
รูปแบบการฉายของรายการนี้ ค่าเริ่มต้นของพร็อพเพอร์ตี้คือ rectangular

ค่าที่ถูกต้องสำหรับพร็อพเพอร์ตี้นี้คือ
  • 360
  • rectangular
contentDetails.enableLowLatency boolean
ระบุว่าควรเข้ารหัสการออกอากาศนี้สำหรับการสตรีมที่มีเวลาในการตอบสนองต่ำหรือไม่ สตรีมที่มีเวลาในการตอบสนองต่ำจะช่วยลดเวลาที่ผู้ใช้ต้องรอเพื่อดูวิดีโอที่ออกอากาศ แต่อาจส่งผลต่อความละเอียดสำหรับผู้ชมสตรีมด้วย
contentDetails.latencyPreference string
ระบุการตั้งค่าเวลาในการตอบสนองที่จะใช้สำหรับการออกอากาศนี้ พร็อพเพอร์ตี้นี้อาจใช้แทน enableLowLatency ซึ่งไม่รองรับ ultraLow

สตรีมที่มีเวลาในการตอบสนองต่ำจะลดระยะเวลาที่ต้องใช้ในการแสดงวิดีโอแก่ผู้ใช้ที่ดูการออกอากาศ แต่ก็อาจส่งผลต่อความราบรื่นของการเล่นได้เช่นกัน

สตรีมที่มีเวลาในการตอบสนองต่ำมากช่วยลดระยะเวลาให้ผู้ชมมองเห็นวิดีโอ ทำให้การโต้ตอบกับผู้ชมง่ายขึ้น แต่ค่าเวลาในการตอบสนองต่ำมาก
ไม่รองรับความละเอียดระดับ 1 หรือค่าเวลาในการตอบสนองต่ำมาก
หรือค่าความละเอียดต่ำมาก
ไม่ได้รองรับความละเอียดระดับ 1 หรือความละเอียดต่ำมาก
  • normal
  • low
  • ultraLow
contentDetails.enableAutoStart boolean
ระบุว่าการออกอากาศนี้ควรเริ่มโดยอัตโนมัติเมื่อคุณเริ่มสตรีมวิดีโอใน live stream ที่เชื่อมโยงหรือไม่
contentDetails.enableAutoStop boolean
ระบุว่าการออกอากาศนี้ควรหยุดโดยอัตโนมัติเมื่อเจ้าของช่องหยุดสตรีมวิดีโอในสตรีมวิดีโอที่เชื่อมโยงประมาณ 1 นาที
statistics object
ออบเจ็กต์ statistics มีสถิติที่เกี่ยวข้องกับการออกอากาศสด ค่าสถิติเหล่านี้อาจเปลี่ยนแปลงในระหว่างการออกอากาศ และสามารถเรียกดูได้ในขณะที่การออกอากาศถ่ายทอดสดอยู่เท่านั้น
statistics.totalChatCount unsigned long
จำนวนข้อความในแชทสดทั้งหมดที่เชื่อมโยงกับการออกอากาศ พร็อพเพอร์ตี้และค่าของพร็อพเพอร์ตี้จะปรากฏขึ้นหากผู้ใช้เห็นการออกอากาศ เปิดใช้ฟีเจอร์แชทสด และมีข้อความอย่างน้อย 1 รายการ โปรดทราบว่าพร็อพเพอร์ตี้นี้จะไม่ระบุค่าหลังจากการออกอากาศสิ้นสุดลง ดังนั้น พร็อพเพอร์ตี้นี้จะไม่สามารถระบุจำนวนข้อความแชทสำหรับวิดีโอที่เก็บถาวรของการถ่ายทอดสดที่เสร็จสมบูรณ์แล้ว
monetizationDetails object
ออบเจ็กต์ monetizationDetails มีรายละเอียดการสร้างรายได้ของสตรีม เช่น การเปิดใช้เครื่องมือสร้างโฆษณาอัตโนมัติหรือความล่าช้าในการแทรกโฆษณาตอนกลาง

monetizationDetails.cuepointSchedule object
ออบเจ็กต์ cuepointSchedule จะระบุการตั้งค่าการทำงานอัตโนมัติของโฆษณาสําหรับการออกอากาศ
monetizationDetails.cuepointSchedule.enabled boolean
ค่านี้จะกำหนดว่าจะแทรกโฆษณาในรายการออกอากาศโดยอัตโนมัติหรือไม่ หากค่าเป็น true แสดงว่า YouTube จะแทรกโฆษณาตอนกลางลงในสตรีมโดยอัตโนมัติ กําหนดเวลาของการแสดงโฆษณาจะขึ้นอยู่กับค่าของช่องอื่นๆ ในออบเจ็กต์ monetizationDetails.cuepointSchedule
monetizationDetails.cuepointSchedule.pauseAdsUntil datetime
ค่านี้ระบุว่า YouTube ไม่ควรแทรกโฆษณาตอนกลางลงในการออกอากาศจนกว่าจะถึงวันที่และเวลาที่กำหนด ค่าจะอยู่ในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) ค่าในช่องต้องตั้งเป็นวันที่และเวลาในอนาคตเพื่อหยุดโฆษณาชั่วคราว และยังตั้งค่าในช่องเป็นวันที่และเวลาที่ใกล้ในอนาคตเพื่อยกเลิกการหยุดโฆษณาชั่วคราวเมื่อเวลาผ่านไปได้ด้วย
monetizationDetails.cuepointSchedule.scheduleStrategy string
ค่านี้ระบุกลยุทธ์ที่ YouTube ควรใช้กำหนดเวลาจุดเริ่มต้น ค่าที่ใช้ได้มีดังนี้
  • CONCURRENT: ระบบจะกำหนดเวลาจุดเริ่มโฆษณาในเวลาเดียวกันสำหรับผู้ชมทุกคน
  • NON_CONCURRENT: ระบบจะกำหนดเวลาจุดเริ่มโฆษณาให้แตกต่างกันไปสำหรับผู้ชมแต่ละราย วิธีนี้ช่วยให้โฆษณาแสดงในอัตราที่เพิ่มขึ้นซึ่งจะทำให้ผู้ชมได้รับจุดเริ่มโฆษณาเมื่อมีสิทธิ์
monetizationDetails.cuepointSchedule.repeatIntervalSecs unsigned integer
ค่านี้จะระบุช่วงเวลา (หน่วยเป็นวินาที) ระหว่างการแทรกโฆษณาอัตโนมัติระหว่างการออกอากาศ เช่น หากค่าคือ 300 แสดงว่า YouTube จะแทรกจุดเริ่มโฆษณาตอนกลางเป็นระยะ 5 นาที

โปรดทราบว่าค่าจะระบุเวลาระหว่างจุดเริ่มต้นของจุดเริ่มต้นคลิปต่อเนื่อง กล่าวคือ ช่วงเวลาไม่ได้วัดจากจุดสิ้นสุดของจุดเริ่มโฆษณาหนึ่งถึงจุดเริ่มต้นของจุดเริ่มถัดไป