LiveStreams

משאב liveStream מכיל מידע על זרם הווידאו שאתה משדר ל-YouTube. הסרטון מספק את התוכן שישודר למשתמשי YouTube. לאחר היצירה של משאב liveStream, אפשר לשייך אותו למשאב אחד (liveBroadcast) או יותר.

שיטות

ה-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
התג של המשאב הזה.
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. לאחר השלמת ההמרה, הסרטון ייכלל ברשימת הסרטונים שהועלו בערוץ. הסרטון לא יהיה זמין מיד אחרי סיום השידור, ומשך העיכוב יהיה קשור למשך השידור בפועל.
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.
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
קצב הפריימים של נתוני הסרטון הנכנס.

הערכים החוקיים לנכס הזה הם:
  • 30fps
  • 60fps
  • variable: אפשר להשתמש בהגדרה הזו כדי לציין ש-YouTube צריך לזהות באופן אוטומטי את קצב הפריימים של הסרטון. בנוסף, צריך להגדיר את הערך cdn.resolution לערך variable.
    תוכלו למצוא את הגדרות המקודד המומלצות במרכז העזרה של YouTube.
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
תיאור מפורט של הבעיה. כשניתן, התיאור מספק מידע על האופן שבו ניתן לפתור את הבעיה. במסמך בעיות בהגדרה של משאבי Livestream מפורטים כל סוגי הבעיות שקשורות לתצורה והתיאורים המשויכים להן.
contentDetails object
האובייקט content_details מכיל מידע על השידור, כולל כתובת ה-URL להטמעת כתוביות של כתוביות.
contentDetails.closedCaptionsIngestionUrl string
כתובת ה-URL של הטמעת הנתונים שאליה נשלחים הכתוביות.
contentDetails.isReusable boolean
מציין אם השידור ניתן לשימוש חוזר. המשמעות היא שניתן לקשר אותו לכמה שידורים. בדרך כלל המשדרים עושים שימוש חוזר באותו שידור לשדר במגוון שידורים שונים, אם השידורים האלה מתבצעים בזמנים שונים.

אם הערך הזה מוגדר לערך false, לא ניתן יהיה להשתמש שוב בשידור. כלומר, ניתן לקשר אותו רק לשידור אחד. ההבדלים בין שידורים חיים לשימוש חוזר לבין שימוש חוזר בסטרימינג זמינים בדרכים הבאות:
  • ניתן לקשר שידור חד-פעמי רק לשידור אחד.
  • מחיקה אוטומטית של שידור לא ניתן לשימוש לאחר סיום השידור האוטומטי.
  • השיטה liveStreams.list לא מפרטת זרמים שאינם ניתנים לשימוש חוזר אם מתקשרים לשיטה ומגדירים את הפרמטר mine ל-true. הדרך היחידה לאחזר את המשאב עבור מקור נתונים שאינו ניתן לשימוש היא להשתמש בפרמטר id כדי לזהות את מקור הנתונים.