LiveStreams

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

Methods

ה-API תומך בשיטות הבאות למשאבי liveStreams:

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

הערכים החוקיים למאפיין הזה הם:
  • 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
תיאור קצר של הבעיה. במסמך בעיות בתצורה של משאבי LiveStream מפורטת הסיבה שמשויכת לכל סוג של בעיה בתצורה.
status.healthStatus.configurationIssues[].description string
תיאור מפורט של הבעיה. כשהדבר אפשרי, בתיאור מופיע מידע על אופן פתרון הבעיה. במסמך בעיות בתצורה של משאבי LiveStream מפורטים כל סוגי הבעיות בתצורה והתיאורים המשויכים אליהן.
contentDetails object
האובייקט content_details מכיל מידע על הסטרימינג, כולל כתובת ה-URL להטמעת הכתוביות.
contentDetails.closedCaptionsIngestionUrl string
כתובת ה-URL להטמעת נתונים שאליה נשלחות הכתוביות של השידור הזה.
contentDetails.isReusable boolean
מציין אם אפשר לעשות שימוש חוזר בסטרימינג, כלומר אם אפשר לשייך אותו לכמה שידורים. בדרך כלל, בעלי ערוצים משתמשים שוב באותו סטרימינג להרבה שידורים שונים אם השידורים האלה מתרחשים בזמנים שונים.

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