HLS בהעברה של Shaka Player

סקירה כללית

ה-SDK של Cast Web Receiver תומך בהפעלת תוכן באמצעות כמה פרוטוקולים של סטרימינג באינטרנט. על סמך הפרוטוקול שבו נעשה שימוש, ה-SDK טוען נגן כדי לטפל בהפעלת התוכן. במקרה של תוכן HLS, נטענת ספריית Media Player‏ (MPL). במקרה של תוכן DASH, נטען Shaka Player.

מעכשיו והלאה, צוותי מהנדסי התוכנה של Cast SDK ושל Shaka Player יפעלו יחד כדי להרחיב את התמיכה בהפעלת תוכן HLS ב-Shaka Player. לא יתקבלו יותר עדכונים קריטיים ל-MPL. מומלץ להביע הסכמה לשימוש ב-Shaka Player להפעלת תוכן HLS באפליקציה.

היתרונות של Shaka Player

כשמשתמשים בנגנים שונים, האפליקציות נהנות מהיתרונות הבאים:

  • סשנים יציבים יותר של סטרימינג למשתמשים, עם שיפורים בזמן הטעינה ובזמן האחזור.
  • המשך אימוץ התכונות העדכניות ביותר של HLS
  • בהירות מוגברת בניתוח הגורם הבסיסי לבעיות תאימות בין הנגן לתוכן, בזכות אופי הקוד הפתוח של Shaka Player.
  • קוד המקור של הנגן בקוד פתוח מאפשר לשותפים לתרום לפרויקט Shaka Player.
  • קיצור משמעותי בזמן ההשקה של תכונות ותיקוני באגים בסביבת הייצור, כי תדירות ההשקות של Shaka Player גבוהה ולא תלויה בהשקות של Web Receiver SDK.
  • שליטה רבה יותר בסביבת ההפעלה שמספקת ה-API של shakaVersion.
  • תמיכה מורחבת בהפעלה מ-Google, עם משאבי הנדסה שמתמקדים בהפעלת HLS ב-Shaka Player, כפי שמתואר בתוכנית העבודה.

ציר הזמן

ב-Web Receiver SDK נעביר את השימוש ל-Shaka Player בתור נגן ברירת המחדל להפעלת תוכן HLS. נבצע את ההעברה בשלבים כדי להדריך את השותפים בתהליך ההעברה.

שלב Start Date סקירה כללית
1 אוקטובר 2022 ערכת ה-SDK של Cast Web Receiver כוללת ממשקי API להסכמה להפעלת תוכן HLS ב-Shaka Player.
2 H1 '25 ערכת ה-SDK של מקלט האינטרנט של Cast משנה את נגן ברירת המחדל ל-Shaka Player להפעלת תוכן HLS.

צוותי מהנדסי ה-SDK של מקלט האינטרנט פועלים לפי גישה שמבוססת על ביצועים, והם ימשיכו לשלב הבא רק כשביצועי Shaka Player יהיו זהים לביצועים הבסיסיים של MPL. השינויים האלה יפורסמו בקבוצת Google‏ cast-sdk-announcements ויתעדכנו במדריך הזה.

הצטרפות

החל מגרסה 3.0.0105 של CAF, יש הגדרה ברמת האפליקציה להסכמה לשימוש ב-Shaka Player להפעלת HLS. בגרסה הזו הוספנו גם ממשק API לבחירת גרסת Shaka Player שתועמס מתוך מגוון הגרסאות הנתמכות. הדגלים האלה מוצגים בכיתה CastReceiverOptions דרך המאפיינים useShakaForHls ו-shakaVersion, והם נבדקים כשה-CastReceiverContext מופעל. כל אפליקציה שמצטרפת ל-Shaka for HLS צריכה להגדיר גרסה של Shaka Player עם מספר 4.3.4 לפחות, כדי ליהנות מהשיפורים האחרונים ב-HLS. כדי להביע הסכמה, פועלים לפי קטע הקוד הבא:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = true;

context.start(castReceiverOptions);

אימות התוכן

שותפים צריכים לאמת את הפעלת התוכן שלהם ב-Shaka Player לפני שהם מביעים הסכמה לשימוש ב-Shaka Player באפליקציה שלהם בסביבת הייצור. מומלץ לבדוק את כל הווריאציות של התוכן שמפורטות בהמשך:

  • סוגי שידורים: בשידור חי או VOD
  • פורמטים של מאגרים: TS,‏ MP4 או שידורים יסודיים
  • תוכן עם הפסקות או מודעות מוטמעות
  • הפעלה בסוגי המכשירים הבאים: מסכים חכמים, מתאמי Chromecast, מכשירי Android TV, טלוויזיות עם Chromecast מובנה, רמקולים חכמים

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

ביטול ההסכמה

ערכת ה-SDK של מקלט האינטרנט תעבור למודל ביטול הסכמה להפעלת תוכן HLS ב-Shaka Player בהתאם ללוח הזמנים. הערך שמוגדר כברירת מחדל של המאפיין useShakaForHls ישתנה מ-false ל-true. בשלב הזה, אפליקציות יכולות להחליט להשתמש ב-MPL להפעלת HLS על ידי הגדרה ידנית של המאפיין הזה לערך false. כשה-CastReceiverContext יופעל, ה-Web Receiver SDK יחזור לטעון את MPL במקום את Shaka Player. בדוגמה הבאה מוסבר איך לבטל את ההסכמה:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = false;

context.start(castReceiverOptions);

דיווח על בעיות

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

  1. כדי לפתור את הבעיה, אפשר לנסות להגדיר את shakaVersion לגרסה אחרת של ההסתעפות. לדוגמה, אם הבעיה מתרחשת בהסתעפות 4.3, נסו להגדיר אותה למהדורה האחרונה בגרסאות 4.2.x או 3.3.x. במאמר בנושא הערות לגרסאות של Shaka Player תוכלו למצוא את הגרסאות עם העדכונים הרלוונטיים ביותר. חשוב לזכור של-API של shakaVersion יש גרסה מינימלית וגרסה מקסימלית נתמכות, כפי שמפורט במסמכי העזרה. אם תבחינו בנסיגה, תוכלו לדווח על הבעיה במערכת למעקב אחר בעיות ב-Shaka Player.
  2. אפשר לנסות לשנות את הפרמטרים של הגדרות הנגן. אפשר להגדיר את Shaka Player באמצעות האובייקט PlayerConfiguration. ה-SDK של Web Receiver מגדיר קבוצה של ערכי ברירת מחדל ומאפשר לאפליקציות לשנות את ההגדרה הזו באמצעות המאפיין shakaConfig באובייקט PlaybackConfig. ההערכה מתבצעת במהלך זמן הטעינה, כשיוצרים את מכונה של הנגן. מידע נוסף זמין ב-

    הגדרות והאפשרויות של האפליקציה. ערכי ברירת המחדל שמוגדרים על ידי Web Receiver SDK הם הערכים המומלצים.

  3. בודקים אם הבעיה דווחה במערכת למעקב אחר בעיות ב-Shaka Player או במערכת למעקב אחר בעיות ב-Cast. אם הדיווח מתאר גם את הבעיה שלכם, מוסיפים תגובה לדיווח ומספקים מידע רלוונטי.

  4. בדיקת התוכן באתר הדגמה של Shaka Player. אם הבעיה מתרחשת גם באתר הדגמה של התוכן שלכם, עליכם לדווח על באג בפרויקט Shaka Player.

  5. אם נתקלתם בבעיה ייחודית ל-Shaka Player בנקודות קצה להעברה (cast), תוכלו לדווח על באג במערכת המעקב אחר בעיות ב-Cast.

שאלות נפוצות

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

האם כדאי לעבור ל-Shaka Player?

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

מהי רמת המאמץ הצפויה כשמשנים שחקנים?

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

בקרוב האפליקציה שלי תשתמש ב-HLS כדי להעביר תוכן בסטרימינג. מה עליי לעשות?

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

התוכן או האפליקציה שלי לא פועלים עם Shaka Player, מה עושים עכשיו?

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

לא מתקבלים יותר עדכונים קריטיים ב-MPL. מה המשמעות של זה?

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

התוכן שלי משתמש בפרוטוקול Smooth Streaming. איך זה משפיע על האפליקציה שלי?

קובצי ה-binary של ה-MPL עדיין יתארחו ויהיה גישה אליהם באפליקציית המקבל. עם זאת, לא נתמוך בבקשות לתכונות שקשורות ל-Smooth Streaming ובתיקוני באגים, כי המפרט של Smooth Streaming לא עודכן כבר יותר מארבע שנים. מומלץ להעביר את התוכן שלכם כך שישתמש בפרוטוקול הסטרימינג DASH או HLS כדי להמשיך לקבל עדכוני ביצועים ותמיכה בתוכן.

התוכן שלי לא משתמש בפרוטוקולים HLS או Smooth Stream. איך זה משפיע על הבקשה שלי?

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