מדריך להעברת נתונים (מיגרציה) בעקבות הוצאה משימוש של שידורים וסטרימינג שמוגדרים כברירת מחדל

סקירה כללית

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

  • היא בודקת את הערך של המאפיין isDefaultBroadcast של משאב liveBroadcast.
  • היא בודקת את הערך של המאפיין isDefaultStream של משאב liveStream.
  • היא קוראת לשיטה liveBroadcasts.list ומגדירה את ערך הפרמטר broadcastType ל-persistent. החל מתאריך ההוצאה משימוש:

    • אם ערך הפרמטר broadcastType הוא persistent, השיטה liveBroadcasts.list לא תחזיר תוצאות.
    • אם ערך הפרמטר broadcastType הוא all, השיטה liveBroadcasts.list לא תחזיר שידורים קבועים שהיו קיימים לפני הזמן הזה.

אם האפליקציה שלכם מושפעת, כדאי לעיין בקטע עדכון האפליקציה, שבו מוסבר על השינויים הפרוצדורליים שייתכן שיהיה צורך לבצע באפליקציה כתוצאה מהוצאת התכונה משימוש. בקטע הזה מפורטים שלבים ספציפיים במדריך Life of a broadcast שאולי לקוח ה-API שלכם לא מבצע בדרך כלל אם הוא משתמש כרגע בשידור ובסטרימינג שמוגדרים כברירת מחדל.

מה קורה?

מאז 2015, מערכת YouTube יוצרת באופן אוטומטי שידור חי שמוגדר כברירת מחדל ושידור שמוגדר כברירת מחדל בערוץ, כשהאפשרות לשידור חי מופעלת בערוץ. השידור שמוגדר כברירת מחדל קיים ללא הגבלת זמן ואי אפשר למחוק אותו. באופן דומה, השידור שמוגדר כברירת מחדל נחשב קבוע. הוא תמיד היה קיים, לא הייתה לו שעת התחלה או שעת סיום שמשויכות אליו, והוא לא היה קשור לאירוע מסוים.

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

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

עדכון הבקשה

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

מעבר משידורים שמוגדרים כברירת מחדל

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

אפליקציית הלקוח משתמשת בשידור ברירת המחדל אם היא קוראת לשיטה liveBroadcasts.list ומבצעת אחת מהפעולות הבאות:

  • הוא מגדיר את ערך הפרמטר broadcastType ל-persistent. הבקשה הזו מאחזרת רק את השידור שמוגדר כברירת מחדל.
  • הוא מגדיר את ערך הפרמטר broadcastType ל-all, ואז מזהה את משאב liveBroadcast בתגובת ה-API שעבורו ערך המאפיין isDefaultBroadcast הוא true.

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

כדי ליצור משאב liveBroadcast, צריך לבצע קריאה ל-method‏ liveBroadcasts.insert. התהליך הזה מוסבר בשלב 1.1 במדריך 'השידור בשידור חי'.

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

מעבר מזרמי נתונים שמוגדרים כברירת מחדל

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

גם אם האפליקציה לא יכולה להשתמש בסטרימינג שמוגדר כברירת מחדל, היא יכולה ליצור סטרימינג שאפשר להשתמש בו שוב ושוב לכל שידור. כדי ליצור liveStream משאב, קוראים לשיטה liveStreams.insert בהתאם להוראות שמפורטות בשלב 1.2 במדריך בנושא מחזור החיים של שידור. כברירת מחדל, אפשר להשתמש מחדש בעדכוני תוכן חדשים. אבל אם אתם מעדיפים, אתם יכולים להגדיר את הנכס contentDetails.isReusable לערך false כדי ליצור סטרימינג לשימוש חד-פעמי, וליצור יחס של אחד לאחד בין שידורים לסטרימינג.

ברשימה הבאה מפורטים ארבעת המאפיינים, בנוסף לשם הסטרימינג ולתיאור הסטרימינג, שאפשר להגדיר כשיוצרים סטרימינג חדש. ברשימה מוצגים הערכים שמוגדרים כברירת מחדל בזרמים לכל נכס. אלה כנראה ההגדרות שתרצו להשתמש בהן באפליקציית לקוח אם אתם מפסיקים להשתמש בזרמים שמוגדרים כברירת מחדל.

קישור שידורים לסטרימינג

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

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

כדי לקשר שידור לסטרימינג, מפעילים את השיטה liveBroadcasts.bind כמו שמוסבר בשלב 1.3 במדריך בנושא 'המחזור חיים של שידור'.

  • אם אתם משתמשים בשידור לשימוש חוזר, אתם יכולים ליצור שידור פעם אחת ואז לקשר כל שידור לשידור הזה.
  • אם אתם לא משתמשים בשידור חוזר, אתם צריכים ליצור שידור ושידור חי, ואז לקשר ביניהם.

בדיקת השידור

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

אם לקוח ה-API שלכם השתמש בעבר בשידור ובסטרימינג שמוגדרים כברירת מחדל, ואתם רוצים להוסיף שלב בדיקה לתהליך הסטרימינג, כדאי לעיין בשלב 3 במדריך 'המחזור של שידור'.

אם רוצים לבדוק את השידור, כשמוסיפים שידור צריך להגדיר את המאפיין contentDetails.monitorStream.enableMonitorStream לערך true ואת המאפיין contentDetails.enableAutoStart לערך false. אלה ערכי ברירת המחדל של שני הנכסים.

שימוש בתכונות ההפעלה האוטומטית וההפסקה האוטומטית

שידור ברירת המחדל התחיל אוטומטית בכל פעם שהתחלתם להזרים סרטון בשידור ברירת המחדל. באופן דומה, שידור ברירת המחדל הסתיים אחרי שהפסקתם את הסטרימינג של הסרטון. כל סשן סטרימינג שבו נעשה שימוש במשאבי ברירת המחדל האלה הפך לסרטון בערוץ שלכם.

התכונות של הפעלה אוטומטית והפסקה אוטומטית היו התנהגות ברירת המחדל לשידורים שמוגדרים כברירת מחדל, אבל הן אופציונליות וצריך להפעיל אותן לשידורים אחרים. אם רוצים להשתמש בתכונות האלה, צריך להגדיר את ערכי המאפיינים contentDetails.enableAutoStart ו-contentDetails.enableAutoStop ל-true כשמוסיפים שידור. התכונות האלה הן נפרדות, כך שאתם יכולים לבחור להשתמש באחת מהן ולא בשנייה.

אם לא מפעילים את התכונות של הפעלה והפסקה אוטומטיות של שידורים חדשים, לקוח ה-API צריך לקרוא לשיטה liveBroadcasts.transition כדי לעדכן את הסטטוס של השידור כשמתחילים ומסיימים את הסטרימינג של הסרטון. במדריך 'השידור החי' אפשר לעיין בשלב 4.3 ובשלב 5.2 כדי לקבל הוראות לניהול המעברים האלה בתחילת השידור ובסופו.