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 רבעון 1 של 2026 ערכת ה-SDK של Cast Web Receiver משנה את נגן ברירת המחדל ל-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.12 כדי ליהנות מהשיפורים האחרונים ב-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 או elementary streams
  • תוכן עם שיבושים או מודעות מוטמעות
  • הפעלה בסוגי המכשירים הבאים: מסכים חכמים, מתאמי Google Cast, מכשירי Android TV, טלוויזיות עם Google Cast, רמקולים חכמים

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

ביטול ההסכמה

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

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