HLS בהעברה של Shaka Player

סקירה כללית

ערכת Cast Web Receiver SDK תומכת בהפעלה של תוכן באמצעות כמה פרוטוקולים של סטרימינג באינטרנט. בהתאם לפרוטוקול שבו נעשה שימוש, ה-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.
  • שליטה רבה יותר בסביבת ההפעלה שמוצעת על ידי shakaVersion API.
  • תמיכה משופרת בהפעלה מ-Google עם משאבי הנדסה שמתמקדים בהפעלת HLS ב-Shaka Player, כפי שניתן לראות בתוכנית הפיתוח.

ציר הזמן

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

שלב תאריך התחלה סקירה כללית
1 אוקטובר 2022 ב-Cast Web Receiver SDK הוספנו ממשקי API להסכמה להפעלת תוכן HLS ב-Shaka Player.
2 ‫18 במאי 2026 ב-Cast Web Receiver SDK השתנה נגן ברירת המחדל ל-Shaka Player להפעלת תוכן HLS.

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

אני מסכים

החל מגרסה 3.0.0105 של CAF, יש הגדרה ברמת האפליקציה שמאפשרת להביע הסכמה לשימוש ב-Shaka Player להפעלת HLS. בגרסה הזו יש גם API לבחירה מתוך טווח נתמך של גרסאות Shaka Player לטעינה. הדגלים האלה מסופקים במחלקה CastReceiverOptions באמצעות המאפיינים useShakaForHls ו-shakaVersion, והם מוערכים כשמפעילים את CastReceiverContext. כל אפליקציה שמשתמשת ב-Shaka ל-HLS צריכה להגדיר גרסת Shaka Player של לפחות 4.15.35 כדי ליהנות מהשיפורים האחרונים ב-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 או זרמי נתונים בסיסיים
  • תוכן עם שיבושים או מודעות מוטמעות
  • הפעלה בסוגי המכשירים הבאים: מסכים חכמים, מתאמי Google Cast, מכשירי Android TV, טלוויזיות עם Google Cast, רמקולים חכמים

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

ביטול ההסכמה

ערכת Web Receiver 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.15, נסו להגדיר אותה לגרסה האחרונה בענף אחר. כדי למצוא גרסאות עם העדכונים הרלוונטיים ביותר, אפשר לעיין בהערות לגבי הגרסאות של Shaka Player. שימו לב של-API‏ shakaVersion יש גרסה מינימלית וגרסה מקסימלית נתמכות, כפי שמפורט במסמכי העזר. אם מזהים רגרסיה, צריך לדווח על הבעיה בכלי למעקב אחרי בעיות ב-Shaka Player.
  2. כדאי לנסות לשנות את פרמטרים ההגדרה של הנגן. אפשר להגדיר את Shaka Player באמצעות האובייקט PlayerConfiguration. ‫Web Receiver SDK מגדיר קבוצה של ערכי ברירת מחדל ומאפשר לאפליקציות לשנות את ההגדרה הזו באמצעות המאפיין shakaConfig באובייקט PlaybackConfig. ההערכה הזו מתבצעת בזמן הטעינה כשמופע הנגן נוצר. מידע נוסף זמין במאמר הגדרות ואפשרויות של אפליקציות. ערכי ברירת המחדל שמוגדרים על ידי Web Receiver SDK הם הערכים המומלצים.
  3. בודקים אם הבעיה דווחה בIssue Tracker של Shaka Player או בIssue Tracker של Cast. אם התיאור של הבאג מתאים לבעיה שנתקלתם בה, אתם יכולים להוסיף תגובה ולציין פרטים רלוונטיים.
  4. בודקים את התוכן באתר ההדגמה של Shaka Player. אם הבעיה חוזרת באתר ההדגמה של התוכן שלכם, צריך לדווח על באג בפרויקט Shaka Player.
  5. אם נתקלתם בבעיה שייחודית ל-Shaka Player בנקודות קצה של Cast, אתם יכולים לדווח על באג ב-Cast Issue Tracker.

שאלות נפוצות

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

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

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

מה רמת המאמץ הנדרשת כשמחליפים שחקנים?

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

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

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

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