LiveBroadcasts

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

liveBroadcast แหล่งข้อมูลแสดงถึงกิจกรรมที่จะสตรีมโดยใช้วิดีโอสดบน YouTube

เมธอด

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

list
แสดงรายการการออกอากาศบน YouTube ที่ตรงกับพารามิเตอร์คำขอ API ลองใช้เลย
แทรก
สร้างการออกอากาศ ลองใช้เลย
อัปเดต
อัปเดตการออกอากาศ เช่น คุณอาจแก้ไขการตั้งค่าการออกอากาศที่กำหนดไว้ในออบเจ็กต์ contentDetails ของทรัพยากร liveBroadcast ลองใช้เลย
ลบ
ลบการออกอากาศ ลองใช้เลย
ผูก
เชื่อมโยงการออกอากาศบน YouTube กับสตรีม หรือยกเลิกการเชื่อมโยงที่มีอยู่ระหว่างการออกอากาศกับสตรีม การออกอากาศจะเชื่อมโยงกับสตรีมวิดีโอได้เพียงรายการเดียว แต่สตรีมวิดีโออาจเชื่อมโยงกับการออกอากาศได้มากกว่า 1 รายการ ลองใช้เลย
transition
เปลี่ยนสถานะของการถ่ายทอดสดบน YouTube และเริ่มกระบวนการใดๆ ที่เชื่อมโยงกับสถานะใหม่ เช่น เมื่อคุณเปลี่ยนสถานะการออกอากาศเป็นtesting YouTube จะเริ่มส่งวิดีโอไปยังสตรีมการตรวจสอบของการออกอากาศนั้น ก่อนเรียกใช้เมธอดนี้ คุณควรยืนยันว่าค่าของพร็อพเพอร์ตี้ status.streamStatus สำหรับสตรีมที่เชื่อมโยงกับการออกอากาศคือ active ลองใช้เลย
cuepoint
แทรกคิวพอยต์ลงในการถ่ายทอดสด 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,
    "availabilityConfig": {
      "globalConfig": {
        "excludedRegionCodes": [
          string
        ],
        "interval": {
          "startTime": datetime,
          "endTime": datetime
        }
      },
      "regionsConfig": {
        "regionIntervals": [
          {
            "regionCode": string,
            "interval": {
              "startTime": datetime,
              "endTime": datetime
            }
          }
        ]
      }
    }
  },
  "statistics": {
    "totalChatCount": unsigned long
  },
  "monetizationDetails": {
    "adsMonetizationStatus": string,
    "eligibleForAdsMonetization": boolean,
    "cuepointSchedule": {
      "enabled": boolean,
      "pauseAdsUntil": datetime,
      "ytOptimizedCuepointConfig": string,
      "creatorCuepointConfig": {
        "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 เพียง 1 รายการ คุณตั้งค่าฟิลด์นี้ได้โดยการแก้ไขทรัพยากรการออกอากาศหรือตั้งค่าฟิลด์ title ของทรัพยากรวิดีโอที่เกี่ยวข้อง
snippet.description string
คำอธิบายของการออกอากาศ เช่นเดียวกับ title คุณสามารถตั้งค่าฟิลด์นี้ได้โดยการแก้ไขทรัพยากรการออกอากาศหรือโดยการตั้งค่าฟิลด์ description ของทรัพยากรวิดีโอที่เกี่ยวข้อง
snippet.thumbnails object
แผนที่ของรูปภาพขนาดย่อที่เชื่อมโยงกับการออกอากาศ สำหรับออบเจ็กต์ที่ซ้อนกันแต่ละรายการในออบเจ็กต์นี้ คีย์คือชื่อของรูปภาพขนาดย่อ และค่าคือออบเจ็กต์ที่มีข้อมูลอื่นๆ เกี่ยวกับรูปภาพขนาดย่อ
snippet.thumbnails.(key) object
ค่าคีย์ที่ใช้ได้มีดังนี้
  • default - รูปภาพขนาดย่อเริ่มต้น ภาพปกเริ่มต้นสำหรับวิดีโอหรือแหล่งข้อมูลที่อ้างอิงถึงวิดีโอ เช่น รายการในเพลย์ลิสต์หรือผลการค้นหา จะมีความกว้าง 120 พิกเซลและสูง 90 พิกเซล ภาพปกเริ่มต้นของช่องมีความกว้าง 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 จะสอดคล้องกับเวลา Epoch ของ 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

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

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

ค่าที่ใช้ได้สำหรับพร็อพเพอร์ตี้นี้มีดังนี้
  • normal
  • low
  • ultraLow
contentDetails.enableAutoStart boolean
ระบุว่าการออกอากาศนี้ควรเริ่มโดยอัตโนมัติเมื่อคุณเริ่มสตรีมวิดีโอบน live stream ที่เชื่อมโยงไว้หรือไม่
contentDetails.enableAutoStop boolean
ระบุว่าการออกอากาศนี้ควรหยุดโดยอัตโนมัติประมาณ 1 นาทีหลังจากที่เจ้าของช่อง หยุดสตรีมวิดีโอในวิดีโอสตรีมที่เชื่อมโยงหรือไม่
contentDetails.availabilityConfig object
การกำหนดค่าความพร้อมใช้งานของการออกอากาศ ใช้เพื่อตั้งค่าความพร้อมจำหน่ายสินค้าในภูมิภาคที่เฉพาะเจาะจงหรือบล็อกบางภูมิภาค โดยจะระบุหรือไม่ก็ได้ หากไม่ได้ตั้งค่าไว้ ระบบจะไม่บังคับใช้
contentDetails.availabilityConfig.globalConfig object
การกำหนดค่าความพร้อมใช้งานทั่วโลกของการออกอากาศ วิดีโอพร้อมให้บริการในทุกภูมิภาค ยกเว้นภูมิภาคที่ระบุไว้ในexcludedRegionCodesรายการ
contentDetails.availabilityConfig.globalConfig.excludedRegionCodes list (string)
รายการภูมิภาคที่วิดีโอถูกบล็อก
contentDetails.availabilityConfig.globalConfig.interval object
กรอบเวลาเริ่มต้นที่วิดีโอพร้อมให้บริการในทุกภูมิภาคที่ไม่ได้ถูกบล็อก หมายเหตุ: การถ่ายทอดสดที่กำลังจะมีขึ้นหรือที่กำลังดำเนินอยู่ไม่รองรับพร็อพเพอร์ตี้นี้
contentDetails.availabilityConfig.globalConfig.interval.startTime datetime
วันที่และเวลาที่วิดีโอพร้อมใช้งาน หากไม่ได้ระบุไว้ วิดีโอจะพร้อมใช้งานอยู่แล้ว ค่าจะระบุในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ)
contentDetails.availabilityConfig.globalConfig.interval.endTime datetime
วันที่และเวลาที่วิดีโอจะหยุดให้บริการ หากไม่ได้ระบุไว้ วิดีโอจะพร้อมให้รับชมตลอดไป เวลาเริ่มต้นและเวลาสิ้นสุดที่ระบุต้องไม่เกิน 5 ปีนับจากนี้ ค่าจะระบุในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ)
contentDetails.availabilityConfig.regionsConfig object
การกำหนดค่าความพร้อมให้บริการระดับภูมิภาคของการออกอากาศ วิดีโอพร้อมให้รับชมในภูมิภาคที่ระบุเท่านั้น
contentDetails.availabilityConfig.regionsConfig.regionIntervals list (object)
รายการภูมิภาคและกรอบเวลาที่วิดีโอพร้อมให้บริการ หากระบุภูมิภาคหลายครั้ง ระบบจะใช้การรวมช่วงเวลาทั้งหมด
contentDetails.availabilityConfig.regionsConfig.regionIntervals.regionCode string
ภูมิภาคที่วิดีโอพร้อมให้รับชม
contentDetails.availabilityConfig.regionsConfig.regionIntervals.interval object
กรอบเวลาที่วิดีโอพร้อมให้บริการในภูมิภาคที่ระบุ หมายเหตุ: การถ่ายทอดสดที่กำลังจะมีขึ้นหรือที่กำลังดำเนินอยู่ไม่รองรับพร็อพเพอร์ตี้นี้
contentDetails.availabilityConfig.regionsConfig.regionIntervals.interval.startTime datetime
วันที่และเวลาที่วิดีโอพร้อมให้บริการในภูมิภาคที่ระบุ หากไม่ได้ระบุไว้ วิดีโอจะพร้อมใช้งานอยู่แล้ว ค่าจะระบุในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ)
contentDetails.availabilityConfig.regionsConfig.regionIntervals.interval.endTime datetime
วันที่และเวลาที่วิดีโอจะหยุดให้บริการในภูมิภาคที่ระบุ หากไม่ได้ระบุไว้ วิดีโอจะพร้อมให้รับชมตลอดไป เวลาเริ่มต้นและเวลาสิ้นสุดที่ระบุต้องไม่เกิน 5 ปีนับจากนี้ ค่าจะระบุในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ)
statistics object
ออบเจ็กต์ statistics มีสถิติที่เกี่ยวข้องกับการถ่ายทอดสด ค่าของสถิติเหล่านี้อาจเปลี่ยนแปลงได้ในระหว่างการออกอากาศ และจะเรียกดูได้ในขณะที่ออกอากาศสดเท่านั้น
statistics.totalChatCount unsigned long
จำนวนข้อความแชทสดทั้งหมดที่เชื่อมโยงกับการออกอากาศ พร็อพเพอร์ตี้และค่าของพร็อพเพอร์ตี้จะปรากฏหากผู้ใช้มองเห็นการออกอากาศ เปิดใช้ฟีเจอร์แชทสด และมีข้อความอย่างน้อย 1 รายการ โปรดทราบว่าพร็อพเพอร์ตี้นี้จะไม่ระบุค่าหลังจากสิ้นสุดการออกอากาศ ดังนั้น พร็อพเพอร์ตี้นี้จะไม่ระบุจำนวนข้อความแชทสำหรับวิดีโอที่เก็บถาวรของการถ่ายทอดสดที่เสร็จสมบูรณ์แล้ว
monetizationDetails object
ออบเจ็กต์ monetizationDetails มีข้อมูลเกี่ยวกับรายละเอียดการสร้างรายได้ของสตรีม เช่น หากเปิดใช้เครื่องมืออัตโนมัติสำหรับโฆษณาหรือหากมีการเลื่อนการแทรกโฆษณาตอนกลาง

monetizationDetails.adsMonetizationStatus string
พร็อพเพอร์ตี้นี้ระบุว่าการออกอากาศวิดีโอมีการเปิดใช้โฆษณาตอนกลางหรือไม่ ค่าที่ใช้ได้คือ on และ off
monetizationDetails.eligibleForAdsMonetization string
พร็อพเพอร์ตี้นี้ระบุว่าการออกอากาศวิดีโอมีสิทธิ์ใช้โฆษณาตอนกลางหรือไม่ การออกอากาศอาจไม่มีสิทธิ์ด้วยเหตุผลหลายประการ เช่น มีการอ้างสิทธิ์อยู่แล้วหรือช่องไม่ได้ตั้งค่าให้สร้างรายได้
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.ytOptimizedCuepointConfig string
ฟิลด์นี้ระบุตัวเลือกที่เลือกสำหรับเครื่องหมายคิวโฆษณาที่แทรกโดยอัตโนมัติ ฟิลด์นี้ระบุได้ 1 ใน 3 โหมดต่อไปนี้
  • LOW: โอกาสในการสร้างรายได้ต่ำกว่า แต่ขัดจังหวะประสบการณ์การรับชมของผู้ชมน้อยกว่า
  • MEDIUM: โอกาสในการสร้างรายได้ปานกลาง และผู้ชมได้รับประสบการณ์การรับชมแบบสมดุล
  • HIGH: โอกาสในการสร้างรายได้สูงกว่า แต่ขัดจังหวะประสบการณ์การรับชมของผู้ชมมากกว่า
monetizationDetails.cuepointSchedule.creatorCuepointConfig object
ออบเจ็กต์ creatorCuepointConfig ระบุตัวเลือกเครื่องมืออัตโนมัติสำหรับโฆษณา ซึ่งช่วยให้ครีเอเตอร์เลือกได้ว่าจะให้โฆษณาตอนกลางปรากฏอย่างไร
monetizationDetails.cuepointSchedule.creatorCuepointConfig.scheduleStrategy string
ค่านี้ระบุกลยุทธ์ที่ YouTube ควรใช้ในการกำหนดเวลาคิวพอยท์ ค่าที่ใช้ได้ มีดังนี้
  • CONCURRENT: ระบบจะตั้งเวลาคิวพอยต์พร้อมกันสำหรับผู้ชมทุกคน
  • NON_CONCURRENT: ระบบจะตั้งเวลาคิวพอยต์ในเวลาที่ต่างกันสำหรับผู้ชมแต่ละราย แนวทางนี้ช่วยให้โฆษณาแสดงในอัตราที่เพิ่มขึ้น ซึ่งช่วยให้ผู้ชม ได้รับคิวพอยท์เมื่อมีสิทธิ์
monetizationDetails.cuepointSchedule.creatorCuepointConfig.repeatIntervalSecs unsigned integer
ค่านี้จะระบุช่วงเวลาเป็นวินาทีระหว่างการแทรกโฆษณาอัตโนมัติในระหว่างการ ออกอากาศ เช่น หากค่าเป็น 360 YouTube จะแทรกจุดเริ่มโฆษณาตอนกลางที่ ช่วงเวลา 6 นาทีได้

หมายเหตุ:
  • ค่านี้ระบุเวลาที่อยู่ระหว่าง จุดเริ่มต้นของคิวพอยต์ที่ต่อเนื่องกัน กล่าวคือ ระบบจะไม่วัดช่วงเวลาจากจุดสิ้นสุดของคิวพอยต์หนึ่งไปยังจุดเริ่มต้นของคิวพอยต์ถัดไป
  • ค่านี้จะเป็นค่าที่คูณด้วย 6 นาที ตั้งแต่ 6 นาทีถึง 30 นาที เพื่อให้สอดคล้องกับการตั้งค่า YouTube Studio จำนวนเต็มใดๆ ในคำขออัปเดตภายในช่วงนี้จะถูกปัดเศษลงเป็นผลคูณที่ใกล้เคียงที่สุดของ 6 นาที แม้ว่าจะเป็นค่าที่ถูกต้องก็ตาม