HLS lors de la migration des joueurs Shaka

Présentation

Le SDK Cast Web Receiver permet de lire du 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 du contenu HLS, la bibliothèque Media Player (MPL) est chargée. Dans le cas de contenus DASH, Shaka Player est chargé.

À l'avenir, les équipes d'ingénieurs du SDK Cast et de Shaka Player consolideront leurs efforts pour améliorer la compatibilité avec la lecture de contenus HLS sur Shaka Player. MPL ne recevra plus de mises à jour critiques. Nous vous recommandons d'activer l'utilisation de Shaka Player pour la lecture du contenu HLS de votre application.

Avantages de Shaka Player

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

  • Sessions de streaming plus robustes pour les utilisateurs, avec une amélioration des échecs de temps de chargement et de la latence.
  • Poursuite de l'adoption des dernières fonctionnalités HLS.
  • Clarté accrue dans l'analyse des causes des problèmes de compatibilité entre le lecteur et le contenu en raison de 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 cadence de publication de Shaka Player est fréquente et indépendante des versions du SDK Web Receiver.
  • Contrôle plus précis de l'environnement de lecture fourni par l'API shakaVersion.
  • Amélioration de la compatibilité de Google avec la lecture, avec des ressources techniques axées sur la lecture HLS sur Shaka Player, comme indiqué dans la roadmap.

Chronologie

Le SDK Web Receiver passera à Shaka Player comme lecteur par défaut pour la lecture de contenu HLS. Cette migration sera effectuée par étapes afin de guider les partenaires tout au long du processus.

Phase Date de début Présentation
1 Oct 2022 Le SDK Récepteur Web Cast introduit des API à activer pour lire du contenu HLS sur Shaka Player.
2 1er semestre 2025 Le SDK Cast Web Receiver définit Shaka Player comme lecteur par défaut pour la lecture de contenu HLS.

Les équipes d'ingénieurs 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 l'utilisation de Shaka Player pour la lecture HLS. Cette version introduit également une API permettant de sélectionner parmi une plage de versions compatibles de Shaka Player à charger. Ces indicateurs sont fournis dans la classe CastReceiverOptions via les propriétés useShakaForHls et shakaVersion, et sont évalués au démarrage de CastReceiverContext. Toute application qui active Shaka pour HLS doit définir une version de Shaka Player d'au moins 4.3.4 pour profiter des dernières améliorations de 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 l'utilisation de Shaka Player dans leur application de production. Nous vous recommandons de tester chacune des variantes de votre contenu listées ci-dessous:

  • Types de diffusion: EN DIRECT 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, Chromecast, appareils Android TV, téléviseurs avec Chromecast Intégré, 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 de défaillances de lecture critiques dans votre contenu, déployez les modifications dans votre environnement de production.

Désactiver

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

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 tous les problèmes qu'ils rencontrent lors de la lecture de contenus HLS. Comme indiqué, MPL ne recevra plus de mises à jour critiques. Si vous rencontrez des problèmes avec MPL, suivez la procédure décrite dans la section Activer du guide pour vérifier si le passage à Shaka Player résout le problème. Suivez les étapes ci-dessous si le problème persiste ou si vous rencontrez un autre problème lors du changement de joueur.

  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.3, essayez de la définir sur la dernière version des versions 4.2.x ou 3.3.x. Consultez les notes de version de Shaka Player pour trouver les versions avec les mises à jour les plus pertinentes. Notez que l'API shakaVersion dispose d'une version minimale et maximale compatible, 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 propriété shakaConfig de l'objet PlaybackConfig. Cette valeur est évaluée au moment du chargement lors de la création de l'instance de lecteur. Plus de résultats dans la catégorie

    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 de votre contenu, signalez un bug au projet Shaka Player.

  5. Signalez un bug dans l'outil de suivi des problèmes Cast si vous rencontrez un problème propre à Shaka Player sur les points de terminaison Cast.

Questions fréquentes

Le changement de joueurs peut susciter de nombreuses questions. Vous trouverez ci-dessous les réponses aux questions les plus fréquentes pour vous aider à suivre le processus de migration.

Dois-je migrer vers Shaka Player ?

Nous encourageons nos partenaires qui utilisent des contenus HLS à commencer le processus de migration dès que possible. Votre application offrira ainsi une expérience de streaming plus robuste à vos utilisateurs. D'autres avantages sont décrits dans 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 concernées par la transition du SDK Web Receiver vers un modèle de désactivation si les partenaires ne vérifient pas à l'avance que leur contenu est correctement lu sur Shaka Player.

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

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 doivent activer la fonctionnalité dans un environnement interne et tester minutieusement que leur contenu peut être lu à l'aide de Shaka Player. Pour en savoir plus sur les aspects de votre contenu à privilégier, consultez 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 de Shaka Player. De manière générale, il n'y a que des modifications minimales de développement logiciel et des exigences de contrôle qualité pour que nos partenaires puissent effectuer une migration réussie.

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

Les nouvelles intégrations doivent activer l'utilisation de Shaka Player pour la lecture. Votre application sera mieux prise en charge à long terme et bénéficiera également des nouvelles fonctionnalités HLS et des améliorations de performances. Si votre nouvelle intégration rencontre des problèmes, signalez un bug dès que possible pour laisser à l'équipe d'ingénieurs suffisamment de temps pour le résoudre. Si votre application a une échéance stricte, incluez ces informations dans le rapport de bug, ainsi que l'impact pour hiérarchiser les priorités en conséquence. Notre équipe d'ingénieurs s'efforcera de trouver une solution pour répondre au mieux 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 un problème). L'équipe d'ingénieurs du SDK Cast surveille activement ces outils de suivi et vous aidera à résoudre les problèmes rencontrés. Plus tôt ces problèmes sont détectés, plus ils auront de temps pour les corriger.

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

Historiquement, MPL a adopté de nouvelles fonctionnalités HLS et corrigé des bugs majeurs via des mises à jour critiques. Maintenant que MPL ne les recevra plus, aucune nouvelle fonctionnalité HLS ne sera ajoutée au lecteur. De même, les problèmes signalés pour la lecture HLS sur MPL ne seront pas résolus dans MPL. Pour résoudre ces problèmes, passez à Shaka Player pour la lecture. Si les problèmes persistent, un bug doit être signalé avec le ou les problèmes rencontrés sur Shaka Player. Les partenaires doivent abandonner l'utilisation de MPL.

Mon contenu utilise le protocole Smooth Streaming. Quel est l'impact sur mon application ?

Les binaires MPL seront toujours hébergés et accessibles à votre application réceptrice. Toutefois, les demandes de fonctionnalités et les corrections de bugs liées à 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 vos contenus vers le protocole de streaming DASH ou HLS afin de continuer à recevoir des informations sur les performances et une assistance pour vos contenus.

Mon contenu n'utilise pas les protocoles HLS ou Smooth Stream. En quoi cela affecte-t-il mon application ?

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