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

סקירה כללית

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

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

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

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

מה קורה?

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

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

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

עדכון האפליקציה

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

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

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

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

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

כל משאב liveBroadcast חייב להיות מקושר לשידור אחד בדיוק לפני שהשידור החי ב-YouTube יכול להתחיל בפועל. (השידור לא מקושר לאף שידור בזמן שהוא נוצר).

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

כדי לקשר שידור לסטרימינג, צריך להפעיל את ה-method‏ liveBroadcasts.bind, כפי שמוסבר בשלב 1.3 במדריך Life of a broadcast.

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

בדיקת השידור

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

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

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

שימוש בתכונות ההפעלה והעצירה האוטומטיות

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

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

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