ה-API תומך עכשיו באפשרות לסמן את השידורים
החיים שלך בקטגוריה 'במיוחד לילדים', והמשאב
liveBroadcast
מכיל עכשיו
נכס שמזהה את הסטטוס 'במיוחד לילדים' של אותו שידור חי. ב-10 בינואר 2020 עודכנו גם התנאים וההגבלות של שירותי YouTube API וכללי המדיניות למפתחים. למידע נוסף, אפשר לעיין בהיסטוריות הגרסאות של שירות YouTube Live Streaming API ושל התנאים וההגבלות של שירותי YouTube API.
משאב liveBroadcast
מייצג אירוע שישודר ב-YouTube בשידור חי.
שיטות
ה-API תומך בשיטות הבאות למשאבי liveBroadcasts
:
- list
- מחזירה רשימה של שידורים ב-YouTube שתואמים לפרמטרים של בקשת ה-API. כדאי לנסות עכשיו.
- insert
- יצירת שידור. כדאי לנסות עכשיו.
- עדכון
- עדכון שידור. לדוגמה, אפשר לשנות את הגדרות השידור שמוגדרות באובייקט
contentDetails
של המשאבliveBroadcast
. רוצים לנסות? - מחיקה
- מחיקת שידור. כדאי לנסות עכשיו.
- bind
- מקשר שידור ב-YouTube לסטרימינג או מסיר קישור קיים בין שידור לסטרימינג. שידור יכול להיות קשור רק לשידור וידאו אחד, אבל שידור וידאו יכול להיות קשור למספר שידורים. כדאי לנסות עכשיו.
- מעבר
- שינוי הסטטוס של שידור חי ב-YouTube והפעלת תהליכים שקשורים לסטטוס החדש. לדוגמה, כשמשנים את הסטטוס של שידור ל-
testing
, YouTube מתחיל לשדר וידאו לסטרימינג של השידור הזה. לפני שמפעילים את השיטה הזו, צריך לוודא שהערך של המאפייןstatus.streamStatus
של הסטרימינג שמקושר לשידור הואactive
. רוצים לנסות עכשיו? - 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 }, "statistics": { "totalChatCount": unsigned long }, "monetizationDetails": { "cuepointSchedule": { "enabled": boolean, "pauseAdsUntil": datetime, "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. אפשר להגדיר את השדה הזה על ידי שינוי של משאב השידור או על ידי הגדרת השדה title של משאב הווידאו התואם. |
snippet.description |
string תיאור השידור. בדומה ל- title , אפשר להגדיר את השדה הזה על ידי שינוי משאב השידור או על ידי הגדרת השדה description של משאב הווידאו המתאים. |
snippet.thumbnails |
object מפה של תמונות ממוזערות שמשויכות לשידור. לכל אובייקט בתצוגת עץ באובייקט הזה, המפתח הוא שם התמונה הממוזערת והערך הוא אובייקט שמכיל מידע נוסף על התמונה הממוזערת. |
snippet.thumbnails.(key) |
object הערכים החוקיים של המפתח הם:
|
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 תואם לשעת אפס ב-UNIX, ואי אפשר לשנות את הערך הזה דרך ה-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.הערכים התקינים למאפיין הזה הם:
|
status.privacyStatus |
string סטטוס הפרטיות של השידור. שימו לב שהשידור מייצג בדיוק סרטון אחד ב-YouTube, כך שהגדרות הפרטיות זהות להגדרות שנתמכות בסרטונים. בנוסף, אפשר להגדיר את השדה הזה על ידי שינוי משאב השידור או על ידי הגדרת השדה privacyStatus של משאב הווידאו המתאים.הערכים החוקיים למאפיין הזה הם:
|
status.recordingStatus |
string סטטוס ההקלטה של השידור. הערכים החוקיים למאפיין הזה הם:
|
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, תוכן האירוע משודר על ידי 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 , יכול להיות שיחלוף יום בערך עד שהסרטון שעבר לארכיון יהיה זמין להפעלה.הערה: אי אפשר לעדכן את המאפיין הזה אחרי שהשידור נמצא במצב testing או live . |
contentDetails.enableClosedCaptions |
boolean המאפיין הזה הוצא משימוש ב-17 בדצמבר 2015. במקום זאת, צריך להשתמש במאפיין contentDetails.closedCaptionsType .ההגדרה הזו מציינת אם כתוביות HTTP POST מופעלות בשידור הזה. ללקוחות API שכבר משתמשים במאפיין הזה:
|
contentDetails.closedCaptionsType |
string הערה: המאפיין הזה מחליף את המאפיין contentDetails.enableClosedCaptions .המאפיין הזה מציין אם הכתוביות מופעלות בשידור, ואם כן, איזה סוג של כתוביות אתם מספקים:
|
contentDetails.projection |
string פורמט ההקרנה של השידור הזה. ערך ברירת המחדל של הנכס הוא rectangular .הערכים החוקיים לנכס הזה הם:
|
contentDetails.enableLowLatency |
boolean מציין אם השידור הזה צריך להיות מקודד לסטרימינג עם זמן אחזור קצר. שידור עם זמן אחזור קצר יכול לקצר את משך הזמן עד שהסרטון יהיה גלוי למשתמשים שצופים בשידור, אבל הוא יכול גם להשפיע על הרזולוציה של הצופים בשידור. |
contentDetails.latencyPreference |
string מציין באיזו הגדרת זמן אחזור להשתמש בשידור הזה. ניתן להשתמש במאפיין הזה במקום במאפיין enableLowLatency , שלא תומך בתכונה ultraLow .שידור עם זמן אחזור קצר עשוי לקצר את משך הזמן שנדרש עד שהסרטון יהיה גלוי למשתמשים שצופים בשידור, אבל הוא עלול להשפיע גם על חלקות ההפעלה. זמן אחזור של זמן אחזור קצר במיוחד מצמצם את הזמן שחולף עד שהסרטון יהיה גלוי לצופים. כך, זמן אחזור של 18 תווים קל יותר בהשוואה לכתוביות עם צופים, אבל הרזולוציה הזו נמוכה במיוחד.
|
contentDetails.enableAutoStart |
boolean מציין אם השידור הזה צריך להתחיל באופן אוטומטי כשהתחלת סטרימינג של וידאו בתאריך live stream . |
contentDetails.enableAutoStop |
boolean מציין אם השידור הזה צריך להיפסק באופן אוטומטי בערך דקה אחרי שבעלי הערוץ יפסיקו את הסטרימינג של הסרטון בשידור הווידאו המקושר. |
statistics |
object האובייקט statistics מכיל נתונים סטטיסטיים שקשורים לשידור חי. הערכים של הנתונים הסטטיסטיים האלה עשויים להשתנות במהלך השידור, וניתן לאחזר אותם רק בזמן שהשידור החי מתקיים. |
statistics.totalChatCount |
unsigned long המספר הכולל של הודעות הצ'אט בשידור חי שמשויכות לשידור. המאפיין והערך שלו מופיעים אם השידור גלוי למשתמש, אם התכונה 'צ'אט בשידור חי' מופעלת בו ויש בו לפחות הודעה אחת. הערה: המאפיין הזה לא יציין ערך אחרי שהשידור יסתיים. לכן, המאפיין הזה לא יזהה את מספר ההודעות בצ'אט בסרטון שהועברו לארכיון של שידור חי שהושלם. |
monetizationDetails |
object האובייקט monetizationDetails מכיל מידע על פרטי המונטיזציה של השידור, למשל אם הכלי האוטומטי להצגת מודעות מופעל או אם ההוספה של מודעות באמצע הסרטון (mid-roll) מתעכבת. |
monetizationDetails.cuepointSchedule |
object העצם cuepointSchedule מציין את הגדרות האוטומציה של המודעות בשידור. |
monetizationDetails.cuepointSchedule.enabled |
boolean הערך הזה קובע אם המערכת תוסיף מודעות באופן אוטומטי לשידור. אם הערך הוא true , המערכת של YouTube תוסיף אוטומטית מודעות באמצע הסרטון לשידור. לוח הזמנים להצגת המודעות יקבע על סמך הערך של שאר השדות באובייקט monetizationDetails.cuepointSchedule .
|
monetizationDetails.cuepointSchedule.pauseAdsUntil |
datetime הערך הזה מציין שמערכת YouTube לא תוסיף מודעות Midroll לשידור עד לתאריך ולשעה שצוינו. הערך מצוין בפורמט ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ). כדי להשהות מודעות, צריך להגדיר את הערך כתאריך ושעה עתידיים. אפשר גם להגדיר את ערך השדה כתאריך ושעה עתידיים בטווח הקרוב כדי לבטל את ההשהיה של המודעות כשהזמן עובר. |
monetizationDetails.cuepointSchedule.scheduleStrategy |
string הערך הזה מציין את האסטרטגיה שלפיה מערכת YouTube צריכה לפעול לגבי תזמון של נקודות עצירה. הערכים החוקיים הם:
|
monetizationDetails.cuepointSchedule.repeatIntervalSecs |
unsigned integer הערך הזה מציין את המרווח, בשניות, בין ההוספה האוטומטית של מודעות במהלך השידור. לדוגמה, אם הערך הוא 300 , המערכת של YouTube יכולה להוסיף נקודות התחלה של מודעות באמצע הסרטון במרווחי זמן של חמש דקות.הערך מציין את הזמן שחולף בין תחילת נקודות הסימון. כלומר, המרווח לא נמדד מהסוף של נקודת סימון אחת להתחלה של הנקודה הבאה. |