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,
    "categoryId": 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.categoryId string
หมวดหมู่วิดีโอ YouTube ที่เชื่อมโยงกับการออกอากาศ คุณเรียกรายการหมวดหมู่ได้โดยใช้วิธี videoCategories.list
snippet.thumbnails object
แผนที่ของรูปภาพขนาดย่อที่เชื่อมโยงกับการออกอากาศ สำหรับออบเจ็กต์ที่ซ้อนกันแต่ละรายการในออบเจ็กต์นี้ คีย์คือชื่อของรูปภาพขนาดย่อ และค่าคือออบเจ็กต์ที่มีข้อมูลอื่นๆ เกี่ยวกับรูปภาพขนาดย่อ
snippet.thumbnails.(key) object
ค่าคีย์ที่ใช้ได้มีดังนี้
  • default - รูปภาพขนาดย่อเริ่มต้น ภาพปกเริ่มต้นสำหรับวิดีโอหรือแหล่งข้อมูลที่อ้างอิงถึงวิดีโอ เช่น รายการในเพลย์ลิสต์หรือผลการค้นหา จะมีความกว้าง 120 พิกเซลและความสูง 90 พิกเซล ภาพปกเริ่มต้นของช่องมีความกว้าง 88 พิกเซลและความสูง 88 พิกเซล
  • medium - รูปภาพขนาดย่อเวอร์ชันที่มีความละเอียดสูงกว่า สำหรับวิดีโอ (หรือแหล่งข้อมูลที่อ้างอิงถึงวิดีโอ) รูปภาพนี้มีความกว้าง 320 พิกเซลและความสูง 180 พิกเซล สำหรับช่อง รูปภาพนี้จะมีความกว้าง 240 พิกเซลและสูง 240 พิกเซล
  • high – รูปภาพปกเวอร์ชันความละเอียดสูง สำหรับวิดีโอ (หรือแหล่งข้อมูลที่อ้างอิงถึงวิดีโอ) รูปภาพนี้มีความกว้าง 480 พิกเซลและความสูง 360 พิกเซล สำหรับช่อง รูปภาพนี้จะมีความกว้าง 800 พิกเซลและความสูง 800 พิกเซล
  • standard - รูปภาพขนาดย่อเวอร์ชันที่มีความละเอียดสูงกว่ารูปภาพความละเอียด high รูปภาพนี้พร้อมใช้งานสำหรับวิดีโอบางรายการและแหล่งข้อมูลอื่นๆ ที่อ้างอิงถึงวิดีโอ เช่น รายการในเพลย์ลิสต์หรือผลการค้นหา รูปภาพนี้กว้าง 640 พิกเซลและสูง 480 พิกเซล
  • maxres – รูปภาพปกเวอร์ชันความละเอียดสูง ขนาดรูปภาพนี้ใช้ได้กับวิดีโอบางรายการและแหล่งข้อมูลอื่นๆ ที่อ้างอิงถึงวิดีโอ เช่น รายการในเพลย์ลิสต์หรือผลการค้นหา รูปภาพนี้มีความกว้าง 1280 พิกเซลและความสูง 720 พิกเซล
  • fhd – รูปภาพขนาดย่อเวอร์ชันความละเอียดสูงเต็มประสิทธิภาพ (1080p) ขนาดภาพนี้พร้อมใช้งานสำหรับวิดีโอบางรายการ รูปภาพนี้มีความกว้าง 1920 พิกเซลและสูง 1080 พิกเซล
  • qhd – รูปภาพขนาดย่อเวอร์ชัน Quad High Definition (1440p / 2K) ขนาดภาพนี้พร้อมใช้งานสำหรับวิดีโอบางรายการ รูปภาพนี้มีความกว้าง 2560 พิกเซล และสูง 1440 พิกเซล
  • uhd – รูปภาพขนาดย่อเวอร์ชันความละเอียดสูงพิเศษ (4K) ขนาดภาพนี้พร้อมใช้งานสำหรับวิดีโอบางรายการ รูปภาพนี้มีความกว้าง 3840 พิกเซลและสูง 2160 พิกเซล
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 นาที แม้ว่าจะเป็นค่าที่ถูกต้องก็ตาม