LiveStreams

ทรัพยากร liveStream มีข้อมูลเกี่ยวกับสตรีมวิดีโอที่คุณกําลังส่งไปยัง YouTube สตรีมจะมอบเนื้อหาที่จะออกอากาศให้แก่ผู้ใช้ YouTube เมื่อสร้างแล้ว ทรัพยากร liveStream จะเชื่อมโยงกับทรัพยากร liveBroadcast อย่างน้อย 1 รายการได้

วิธีการ

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

list
แสดงผลรายการสตรีมวิดีโอที่ตรงกับพารามิเตอร์คําขอ API ลองใช้เลย
แทรก
สร้างสตรีมวิดีโอ สตรีมช่วยให้คุณส่งวิดีโอไปยัง YouTube ได้ ซึ่งจึงสามารถเผยแพร่วิดีโอไปยังผู้ชมได้ ลองใช้เลย
อัปเดต
อัปเดตสตรีมวิดีโอ หากอัปเดตพร็อพเพอร์ตี้ที่ต้องการเปลี่ยนแปลงไม่ได้ คุณจะต้องสร้างสตรีมใหม่ที่มีการตั้งค่าที่เหมาะสม ลองใช้เลย
ลบ
ลบสตรีมวิดีโอ ลองใช้เลย

การนําเสนอแหล่งข้อมูล

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

{
  "kind": "youtube#liveStream",
  "etag": etag,
  "id": string,
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "isDefaultStream": boolean
  },
  "cdn": {
    "ingestionType": string,
    "ingestionInfo": {
      "streamName": string,
      "ingestionAddress": string,
      "backupIngestionAddress": string
    },
    "resolution": string,
    "frameRate": string
  },
  "status": {
    "streamStatus": string,
    "healthStatus": {
      "status": string,
      "lastUpdateTimeSeconds": unsigned long,
      "configurationIssues": [
        {
          "type": string,
          "severity": string,
          "reason": string,
          "description": string
        }
      ]
    }
  },
  "contentDetails": {
    "closedCaptionsIngestionUrl": string,
    "isReusable": boolean
  }
}

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

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

พร็อพเพอร์ตี้
kind string
ระบุประเภทของทรัพยากร API ค่านี้จะเป็น youtube#liveStream
etag etag
Etag ของทรัพยากรนี้
id string
รหัสที่ YouTube กําหนดเพื่อระบุสตรีมที่ไม่ซ้ํากัน
snippet object
ออบเจ็กต์ snippet มีรายละเอียดพื้นฐานเกี่ยวกับสตรีม รวมถึงช่อง ชื่อ และคําอธิบาย
snippet.publishedAt datetime
วันที่และเวลาที่สร้างสตรีม ค่านี้ระบุในรูปแบบ ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ)
snippet.channelId string
รหัสที่ YouTube ใช้เพื่อระบุช่องที่ส่งสตรีมโดยไม่ซ้ํากัน
snippet.title string
ชื่อของสตรีม ค่าต้องมีความยาวระหว่าง 1 ถึง 128 อักขระ
snippet.description string
รายละเอียดของสตรีม ค่าต้องยาวไม่เกิน 10,000 อักขระ
snippet.isDefaultStream boolean
เราจะเลิกใช้งานพร็อพเพอร์ตี้นี้ในวันที่ 1 กันยายน 2020 เมื่อถึงเวลานั้น YouTube จะหยุดสร้างสตรีมเริ่มต้นและการออกอากาศเริ่มต้นเมื่อช่องเปิดใช้สตรีมมิงแบบสด โปรดดูรายละเอียดเพิ่มเติมในประกาศการเลิกใช้งาน
พร็อพเพอร์ตี้นี้ระบุว่าสตรีมนี้เป็นสตรีมเริ่มต้นของช่องหรือไม่

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

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

สตรีมเริ่มต้นของช่องมีอยู่โดยไม่มีกําหนด ไม่มีเวลาเริ่มต้นหรือสิ้นสุดที่เกี่ยวข้อง และจะลบไม่ได้ เจ้าของช่องต้องการเพียงส่งบิตของวิดีโอและสตรีมจะดําเนินต่อไปโดยอัตโนมัติ

เมื่อสตรีมสิ้นสุดลง YouTube จะแปลงการออกอากาศที่เสร็จสมบูรณ์แล้วเป็นวิดีโอ YouTube และกําหนดรหัสวิดีโอ YouTube ให้กับวิดีโอ หลังจาก Conversion เสร็จสมบูรณ์ วิดีโอจะรวมอยู่ในรายการวิดีโอที่อัปโหลดของช่อง วิดีโอจะไม่พร้อมให้รับชมหลังจากที่ออกอากาศไปแล้วในทันที และความยาวของการหน่วงเวลาจะเกี่ยวข้องกับความยาวจริงของการออกอากาศ
cdn object
ออบเจ็กต์ cdn จะกําหนดการตั้งค่าเครือข่ายนําส่งข้อมูล (CDN) ของสตรีมแบบสด การตั้งค่าเหล่านี้จะให้รายละเอียดเกี่ยวกับวิธีที่คุณสตรีมเนื้อหาไปยัง YouTube
cdn.format string
เราได้เลิกใช้งานพร็อพเพอร์ตี้นี้ตั้งแต่วันที่ 18 เมษายน 2016 และตั้งแต่วันที่ 17 สิงหาคม 2020 ระบบจะไม่รองรับพร็อพเพอร์ตี้นี้อีกต่อไป คําขอที่ยังคงใช้พร็อพเพอร์ตี้นี้จนถึงวันดังกล่าวจะใช้งานไม่ได้

ให้ใช้พร็อพเพอร์ตี้ cdn.frameRate และ cdn.resolution เพื่อระบุอัตราเฟรมและความละเอียดแยกกันแทน
cdn.ingestionType string
เมธอดหรือโปรโตคอลที่ใช้ส่งสตรีมวิดีโอ

ค่าที่ถูกต้องสําหรับพร็อพเพอร์ตี้นี้คือ
  • dash
  • hls
  • rtmp (ซึ่งรวมถึง RTMPS)
cdn.ingestionInfo object
ออบเจ็กต์ ingestionInfo มีข้อมูลที่ YouTube มีให้เพื่อให้คุณส่งสตรีมไปยัง YouTube
cdn.ingestionInfo.streamName string
ชื่อสตรีมที่ YouTube กําหนดให้กับสตรีมวิดีโอ
cdn.ingestionInfo.ingestionAddress string
URL การส่งผ่านข้อมูลหลักที่ควรใช้เพื่อสตรีมวิดีโอไปยัง YouTube หากใช้ RTMP, DASH หรือ HLS คุณต้องสตรีมวิดีโอไปยัง URL นี้

คุณอาจต้องใช้ URL ของสตรีมและชื่อสตรีมแยกต่างหาก โดยขึ้นอยู่กับแอปพลิเคชันหรือเครื่องมือใดที่ใช้ สตรีมวิดีโอ หรืออาจเชื่อมกันในรูปแบบต่อไปนี้
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.backupIngestionAddress string
URL การส่งผ่านข้อมูลสํารองที่ควรใช้เพื่อสตรีมวิดีโอไปยัง YouTube หากใช้ RTMP, DASH หรือ HLS คุณมีตัวเลือกในการสตรีมเนื้อหาที่คุณส่งไปยัง ingestionAddress ไปยัง URL นี้พร้อมกันได้
cdn.ingestionInfo.rtmpsIngestionAddress string
URL การส่งผ่านข้อมูลหลักที่ควรใช้เพื่อสตรีมวิดีโอไปยัง YouTube หากใช้ RTMPS คุณต้องสตรีมวิดีโอไปยัง URL นี้

คุณอาจต้องใช้ URL ของสตรีมและชื่อสตรีมแยกกัน ขึ้นอยู่กับแอปพลิเคชันหรือเครื่องมือใด ที่ใช้เชื่อมโยงกัน
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
URL การส่งผ่านข้อมูลสํารองที่คุณควรใช้เพื่อสตรีมวิดีโอไปยัง YouTube หากใช้ RTMPS
cdn.resolution string
ความละเอียดของข้อมูลวิดีโอขาเข้า

ค่าที่ถูกต้องสําหรับพร็อพเพอร์ตี้นี้คือ
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable: ใช้การตั้งค่านี้เพื่อระบุว่า YouTube ควรตรวจหาความละเอียดของวิดีโอที่สตรีมโดยอัตโนมัติ คุณต้องตั้งค่า cdn.frameRate เป็น variable ด้วย
    ดูการตั้งค่าโปรแกรมเปลี่ยนไฟล์ที่แนะนําในศูนย์ช่วยเหลือของ YouTube
cdn.frameRate string
อัตราเฟรมของข้อมูลวิดีโอขาเข้า

ค่าที่ถูกต้องสําหรับพร็อพเพอร์ตี้นี้คือ
status object
ออบเจ็กต์ status มีข้อมูลเกี่ยวกับสถานะของสตรีมแบบสด
status.streamStatus string
สถานะของสตรีม

ค่าที่ถูกต้องสําหรับพร็อพเพอร์ตี้นี้คือ
  • active - สตรีมอยู่ในสถานะทํางานอยู่ ซึ่งหมายความว่าผู้ใช้จะรับข้อมูลผ่านสตรีม
  • created – สร้างสตรีมแล้ว แต่ไม่มีการตั้งค่า CDN ที่ถูกต้อง
  • error - มีข้อผิดพลาดเกิดขึ้นในสตรีม
  • inactive - สตรีมอยู่ในสถานะไม่ทํางาน ซึ่งหมายความว่าผู้ใช้ไม่ได้รับข้อมูลผ่านสตรีม
  • ready - สตรีมมีการตั้งค่า CDN ที่ถูกต้อง
status.healthStatus object
ออบเจ็กต์นี้มีข้อมูลเกี่ยวกับสถานะประสิทธิภาพของสตรีมแบบสด ซึ่งระบบอาจนําไปใช้ในการระบุ วินิจฉัย และแก้ปัญหาสตรีมมิง
status.healthStatus.status string
รหัสสถานะของสตรีมนี้

ค่าที่ถูกต้องสําหรับพร็อพเพอร์ตี้นี้คือ
  • good – ไม่มีปัญหาการกําหนดค่าใดๆ ซึ่งความรุนแรงเป็น warning หรือแย่กว่า
  • ok – ไม่มีปัญหาการกําหนดค่าใดๆ ซึ่งความรุนแรงคือ error
  • bad – สตรีมมีปัญหาบางอย่างเกี่ยวกับความรุนแรงเป็น error
  • noData เซิร์ฟเวอร์แบ็กเอนด์ของสตรีมมิงแบบสดของ YouTube ไม่มีข้อมูลเกี่ยวกับสถานะประสิทธิภาพของสตรีม
status.healthStatus.lastUpdateTimeSeconds unsigned long
ครั้งล่าสุดที่อัปเดตสถานะสถานะของสตรีม ค่านี้จะแสดงการประทับเวลา UNIX ในหน่วยวินาที
status.healthStatus.configurationIssues[] list
ออบเจ็กต์นี้มีรายการปัญหาการกําหนดค่าที่ส่งผลกระทบต่อสตรีม
status.healthStatus.configurationIssues[].type string
ระบุประเภทของข้อผิดพลาดที่ส่งผลต่อสตรีม
status.healthStatus.configurationIssues[].severity string
ระบุว่าปัญหาร้ายแรงเพียงใดต่อสตรีม

ค่าที่ถูกต้องสําหรับพร็อพเพอร์ตี้นี้คือ
  • info – วิดีโอได้รับการเผยแพร่ต่อผู้ชมโดยไม่ส่งผลเสียต่อประสิทธิภาพ
  • warning – วิดีโอประกาศแก่ผู้ชม แต่ประสิทธิภาพไม่ได้ดีที่สุด
  • error - วิดีโอออกอากาศแก่ผู้ชมไม่ได้
status.healthStatus.configurationIssues[].reason string
คําอธิบายปัญหาสั้นๆ เอกสารปัญหาการกําหนดค่าสําหรับทรัพยากรสตรีมแบบสดจะระบุสาเหตุที่เกี่ยวข้องกับปัญหาการกําหนดค่าแต่ละประเภท
status.healthStatus.configurationIssues[].description string
คําอธิบายปัญหาอย่างละเอียด หากเป็นไปได้ คําอธิบายดังกล่าวจะให้ข้อมูลวิธีแก้ปัญหา เอกสารปัญหาการกําหนดค่าสําหรับทรัพยากรสตรีมแบบสดจะแสดงรายการประเภทการกําหนดค่าทั้งหมดและคําอธิบายที่เกี่ยวข้อง
contentDetails object
ออบเจ็กต์ content_details มีข้อมูลเกี่ยวกับสตรีม รวมถึง URL การส่งผ่านข้อมูลคําบรรยาย
contentDetails.closedCaptionsIngestionUrl string
URL การส่งผ่านข้อมูลที่ส่งคําบรรยายของสตรีมนี้
contentDetails.isReusable boolean
ระบุว่าสตรีมสามารถใช้ซ้ําได้หรือไม่ ซึ่งหมายความว่าสตรีมดังกล่าวจะเชื่อมโยงกับการออกอากาศหลายรายการได้ ผู้ออกอากาศมักจะใช้สตรีมเดียวกันในการออกอากาศหลายรายการหากการออกอากาศเหล่านั้นเกิดขึ้นในเวลาที่ต่างกัน

หากคุณตั้งค่านี้เป็น false คุณจะไม่สามารถใช้สตรีมซ้ําได้ ซึ่งหมายความว่าสามารถเชื่อมโยงกับการออกอากาศได้เพียงรายการเดียวเท่านั้น สตรีมที่นํากลับมาใช้ซ้ําจะแตกต่างจากสตรีมที่นํากลับมาใช้ใหม่ได้ด้วยวิธีการต่อไปนี้
  • สตรีมที่นํากลับมาใช้ใหม่ได้จะเชื่อมโยงกับการออกอากาศได้เพียงรายการเดียวเท่านั้น
  • กระบวนการอัตโนมัติอาจลบสตรีมที่ไม่สามารถใช้ซ้ําได้หลังการออกอากาศสิ้นสุดลง
  • เมธอด liveStreams.list จะไม่แสดงสตรีมที่นํามาใช้ซ้ําไม่ได้ หากคุณเรียกใช้เมธอดนี้และตั้งค่าพารามิเตอร์ mine เป็น true วิธีเดียวที่จะใช้เมธอดนั้นเพื่อเรียกข้อมูลทรัพยากรสําหรับสตรีมที่นํากลับมาใช้ซ้ําไม่ได้คือการใช้พารามิเตอร์ id เพื่อระบุสตรีม