HLS lors de la migration des joueurs Shaka

Présentation

Le SDK Cast Web Receiver est compatible avec la lecture de contenu à l'aide de plusieurs protocoles de streaming Web. En fonction du protocole utilisé, le SDK charge un lecteur pour gérer la lecture du contenu. Dans le cas de contenu HLS, la bibliothèque Lecteur multimédia (MPL) est chargée. Dans le cas de contenu DASH, Shaka Player est chargé.

À l'avenir, les équipes d'ingénierie du SDK Cast et de Shaka Player vont unir leurs efforts pour améliorer la prise en charge de la lecture de contenu HLS sur Shaka Player. MPL ne recevra plus de mises à jour critiques. Nous vous recommandons d'activer Shaka Player pour la lecture de contenu HLS dans votre application.

Avantages de Shaka Player

En changeant de lecteur, les applications bénéficient des avantages suivants :

  • Sessions de streaming plus fiables pour les utilisateurs, avec des améliorations en termes d'échecs de temps de chargement et de latence.
  • Adoption continue des dernières fonctionnalités HLS.
  • Plus de clarté dans l'analyse des causes profondes des problèmes de compatibilité entre le lecteur et le contenu grâce à la nature Open Source de Shaka Player.
  • Le code source du lecteur Open Source permet aux partenaires de contribuer au projet Shaka Player.
  • Réduction significative du délai de mise en production des fonctionnalités et des corrections de bugs , car la fréquence de publication de Shaka Player est élevée et indépendante de celle du SDK Web Receiver.
  • Meilleur contrôle de l'environnement de lecture grâce à l'API shakaVersion.
  • Amélioration de la prise en charge de la lecture par Google , avec des ressources d'ingénierie axées sur la lecture HLS sur Shaka Player, comme indiqué dans la feuille de route.

Chronologie

Le SDK Web Receiver passera à l'utilisation de Shaka Player comme lecteur par défaut pour la lecture de contenu HLS. Cette transition se fera progressivement pour guider les partenaires tout au long du processus de migration.

Phase Date de début Présentation
1 Octobre 2022 Le SDK Cast Web Receiver a introduit des API pour activer la lecture de contenu HLS sur Shaka Player.
2 18 mai 2026 Le SDK Cast Web Receiver a remplacé le lecteur par défaut par Shaka Player pour la lecture de contenu HLS.

Les équipes d'ingénierie du SDK Web Receiver adoptent une approche axée sur les performances et ne passeront à la phase suivante que lorsque les performances de Shaka Player seront équivalentes à celles de référence de MPL. Ces modifications seront annoncées dans le groupe Google cast-sdk-announcements et mises à jour dans ce guide.

Activer

À partir de la version CAF 3.0.0105, une configuration au niveau de l'application permet d'activer Shaka Player pour la lecture HLS. Cette version introduit également une API permettant de sélectionner une plage de versions de Shaka Player compatibles à charger. Ces indicateurs sont fournis dans la CastReceiverOptions classe via les useShakaForHls et shakaVersion propriétés, et sont évalués lorsque le CastReceiverContext est démarré. Toute application qui active Shaka pour HLS doit définir une version de Shaka Player d'au moins 4.15.35 pour profiter des dernières améliorations HLS. Pour activer cette fonctionnalité, suivez l'extrait de code ci-dessous :

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

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

context.start(castReceiverOptions);

Valider le contenu

Les partenaires doivent valider la lecture de leur contenu sur Shaka Player avant d'activer Shaka Player dans leur application de production. Nous vous recommandons de tester chacune des variantes de votre contenu listées ci-dessous :

  • Types de flux : LIVE ou VOD
  • Formats de conteneur : TS, MP4 ou flux élémentaires
  • Contenu avec des discontinuités ou des annonces intégrées
  • Lecture sur les types d'appareils suivants : écrans connectés, clés Google Cast, appareils Android TV, téléviseurs avec Google Cast, enceintes connectées

Si vous constatez des erreurs ou un comportement inattendu, signalez un bug. Une fois que vous avez vérifié qu'il n'y a pas d'échecs de lecture critiques dans votre contenu, transmettez les modifications à votre environnement de production.

Désactiver

Le SDK Web Receiver passera à un modèle de désactivation pour la lecture de contenu HLS sur Shaka Player, conformément à la chronologie. La propriété useShakaForHls passera de la valeur par défaut de false à true. À ce moment-là, les applications pourront choisir d'utiliser MPL pour la lecture HLS en définissant manuellement cette propriété sur false. Lorsque CastReceiverContext est démarré, le SDK Web Receiver revient au chargement de MPL au lieu de Shaka Player. Consultez l'exemple ci-dessous pour savoir comment désactiver cette fonctionnalité :

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

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

context.start(castReceiverOptions);

Signaler des problèmes

Nous encourageons nos partenaires à signaler tout problème qu'ils rencontrent lors de la lecture de contenu HLS. Comme indiqué, MPL ne recevra plus de mises à jour critiques. Si vous rencontrez des problèmes avec MPL, suivez les étapes de la section Activer de ce guide pour vérifier si le passage à Shaka Player résoudra votre problème. Suivez les étapes ci-dessous si le problème persiste ou si vous rencontrez un problème différent lorsque vous changez de lecteur.

  1. Essayez de définir shakaVersion sur une autre version de branche pour résoudre le problème. Par exemple, si le problème se produit sur la branche 4.15, essayez de la définir sur la dernière version d'une autre branche. Consultez les notes de version de Shaka Player pour trouver les versions contenant les mises à jour les plus pertinentes. Notez que l'API shakaVersion comporte une version minimale et maximale compatibles, comme indiqué dans la documentation de référence. Si vous constatez une régression, signalez le problème dans l'outil de suivi des problèmes de Shaka Player.
  2. Essayez de modifier les paramètres de configuration du lecteur. Shaka Player est configurable via l'objet PlayerConfiguration. Le SDK Web Receiver définit un ensemble de valeurs par défaut et permet aux applications de modifier cette configuration via la shakaConfig propriété de l'PlaybackConfig objet. Cette propriété est évaluée lors du chargement, lorsque l'instance du lecteur est créée. Pour en savoir plus, consultez Configuration et options de l'application. Les valeurs par défaut définies par le SDK Web Receiver sont les valeurs recommandées.
  3. Vérifiez si le problème a été signalé dans l' outil de suivi des problèmes de Shaka Player ou dans l'outil de suivi des problèmes de Cast. Commentez le bug et ajoutez toute information pertinente s'il décrit également votre problème.
  4. Testez votre contenu sur le site de démonstration de Shaka Player. Si vous constatez que le problème se reproduit sur le site de démonstration pour votre contenu, signalez un bug au projet Shaka Player.
  5. Signalez un bug dans l'outil de suivi des problèmes de Cast si vous rencontrez un problème spécifique à Shaka Player sur les points de terminaison Cast.

Questions fréquentes

Le changement de lecteur peut susciter de nombreuses questions. Vous trouverez ci-dessous les réponses aux questions les plus fréquentes pour vous guider tout au long du processus de migration.

Dois-je migrer vers Shaka Player ?

Nous encourageons nos partenaires qui utilisent du contenu HLS à commencer le processus de migration dès que possible. Ainsi, votre application offrira une expérience de streaming plus fiable à vos utilisateurs. Pour en savoir plus, consultez la section Avantages de Shaka Player de ce guide. Les partenaires doivent vérifier que leurs applications fonctionnent correctement avec Shaka Player pour assurer une transition fluide. Certaines applications peuvent être à risque pour lorsque le SDK Web Receiver passera à un modèle de désactivation si les partenaires ne vérifient pas que leur contenu est lu correctement sur Shaka Player à l'avance.

Quel est le niveau d'effort attendu lors du changement de lecteur ?

Les partenaires devront tester leur application et leur contenu dans un environnement de test pour s'assurer que l'expérience utilisateur est similaire ou améliorée par rapport à HLS. Pour ce faire, les partenaires devront activer la fonctionnalité dans un environnement interne et tester minutieusement la lecture de leur contenu à l'aide de Shaka Player. Pour en savoir plus sur les aspects de votre contenu sur lesquels vous devez vous concentrer, consultez la section Valider le contenu. Une fois la validation effectuée, les partenaires devront ajouter l'indicateur pour activer la fonctionnalité dans leur environnement d'application de production afin de commencer à profiter des avantages offerts par Shaka Player. De manière générale, les modifications apportées au développement logiciel sont minimes et les exigences concernent principalement l'assurance qualité pour que nos partenaires puissent effectuer la migration.

Mon application utilisera bientôt HLS pour diffuser du contenu. Que dois-je faire ?

Les nouvelles intégrations doivent activer Shaka Player pour la lecture. Votre application sera mieux prise en charge à long terme et profitera également des nouvelles fonctionnalités HLS et des améliorations des performances. Si votre nouvelle intégration rencontre des problèmes, signalez un bug dès que possible pour donner à l'équipe d'ingénierie suffisamment de temps pour résoudre le problème. Si votre application a une date limite stricte, incluez ces informations dans le rapport de bug, ainsi que l'impact, afin de définir les priorités en conséquence. Notre équipe d'ingénierie s'efforcera de fournir une solution pour répondre aux besoins de vos utilisateurs.

Mon contenu ou mon application ne fonctionne pas avec Shaka Player. Que faire ?

Vous devez signaler un bug au projet Shaka Player ou au projet Cast (voir Signaler des problèmes). L'équipe d'ingénierie du SDK Cast surveille activement ces outils de suivi et collaborera avec vous pour résoudre les problèmes rencontrés. Plus ces problèmes sont détectés tôt, plus ils auront de temps pour fournir un correctif.

MPL ne reçoit plus de mises à jour critiques. Qu'est-ce que cela signifie exactement ?

Auparavant, MPL adoptait de nouvelles fonctionnalités HLS et corrigeait les bugs majeurs grâce à des mises à jour critiques. Maintenant que MPL ne les recevra plus, de nouvelles fonctionnalités HLS ne seront pas ajoutées au lecteur. De même, aucun problème signalé concernant la lecture HLS sur MPL ne sera corrigé dans MPL. Ces problèmes doivent être résolus en passant à Shaka Player pour la lecture. Si les problèmes persistent, vous devez signaler un bug concernant le ou les problèmes rencontrés sur Shaka Player. Les partenaires doivent cesser d'utiliser MPL.

Mon contenu utilise le protocole Smooth Streaming. Quel impact cela a-t-il sur mon application ?

Les binaires MPL seront toujours hébergés et accessibles à votre application de récepteur. Toutefois, les demandes de fonctionnalités et les corrections de bugs liés à Smooth Streaming ne seront pas prises en charge, car la spécification Smooth Streaming n'a pas été mise à jour depuis plus de quatre ans. Nous vous recommandons de migrer votre contenu pour utiliser le protocole de streaming DASH ou HLS afin de continuer à recevoir des mises à jour des performances et une assistance pour votre contenu.

Mon contenu n'utilise pas les protocoles HLS ni Smooth Stream. Quel impact cela a-t-il sur mon application ?

Si votre bibliothèque de contenu n'utilise aucun de ces protocoles de streaming, la migration n'aura aucun impact sur vous. Aucune modification n'est requise dans votre application.