HLS lors de la migration des joueurs Shaka

Présentation

Le SDK Cast Web Receiver prend en charge 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 d'un contenu HLS, la bibliothèque du lecteur multimédia (MPL) est chargée. Dans le cas du contenu DASH, Shaka Player est chargé.

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

Avantages de Shaka Player

Lorsqu'elles changent de jeu, 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.
  • Les dernières fonctionnalités HLS sont régulièrement adoptées.
  • Clarté accrue de l'analyse des causes fondamentales pour les problèmes de compatibilité du contenu des joueurs en raison de la nature Open Source de Shaka Player.
  • Le codebase de 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 fréquente et indépendante des versions du SDK Web Receiver.
  • Meilleur contrôle de l'environnement de lecture fourni par l'API shakaVersion.
  • Amélioration de la prise en charge de la lecture par Google grâce à des ressources d'ingénierie axées sur la lecture HLS sur Shaka Player, comme indiqué sur la feuille de route.

Chronologie

Le SDK Web Receiver utilisera désormais Shaka Player comme lecteur par défaut pour la lecture de contenu HLS. Cette approche s'effectuera par étapes afin de guider les partenaires tout au long du processus de migration.

Phase Date de début Présentation
1 Oct. 2022 Le SDK Cast Web Receiver introduit des API permettant d'activer la lecture de contenu HLS sur Shaka Player.
2 2e semestre 2024 Le SDK Cast Web Receiver remplace le lecteur par défaut par Shaka 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 passent à la phase suivante que lorsque les performances de Shaka Player sont au même niveau que celles 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 3.0.0105 de CAF, il existe une configuration au niveau de l'application qui permet d'autoriser l'utilisation de Shaka Player pour la lecture HLS. Cette version introduit également une API permettant de sélectionner une version compatible 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 activant Shaka pour le HLS doit définir une version Shaka Player d'au moins 4.3.4 pour bénéficier des dernières améliorations de HLS. Pour l'activer, 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, dongles Chromecast, appareils Android TV, téléviseurs avec Chromecast Intégré, enceintes intelligentes

Si vous constatez des erreurs ou constatez un comportement inattendu, signalez un bug. Une fois que vous avez vérifié qu'il n'y a pas d'échec de lecture critique 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 de Shaka Player conformément au calendrier. La valeur par défaut de la propriété useShakaForHls passera 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 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 les problèmes qu'ils rencontrent lors de la lecture de contenu HLS. Comme indiqué précédemment, MPL ne recevra plus de mises à jour critiques. Si vous rencontrez des problèmes avec MPL, suivez les étapes de la section Activer du guide pour vérifier si le problème sera débloqué en passant à Shaka Player. Suivez les étapes ci-dessous si le problème persiste ou si vous rencontrez un autre problème lorsque vous changez 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 le définir sur la dernière version dans les versions 4.2.x ou 3.3.x. Consultez les notes de version de Shaka Player pour trouver les versions comportant 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 lors du temps de chargement, au moment de la création de l'instance du lecteur. Plus de résultats dans la catégorie

    la configuration et les 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 liés à Shaka Player ou dans l'outil de suivi des problèmes Cast. Commentez le bug et ajoutez toute information pertinente si cela décrit votre problème.

  4. Testez votre contenu sur le site de démonstration de Shaka Player. Si le problème se reproduit sur le site de démonstration de votre contenu, signalez un bug avec le 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

Changer de joueur peut soulever beaucoup de 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 à lancer le processus de migration le plus rapidement possible. Votre application offrira ainsi à vos utilisateurs une expérience de streaming plus robuste. D'autres avantages sont présentés dans la section Avantages pour les joueurs Shaka de ce guide. Les partenaires doivent vérifier que leurs applications fonctionnent correctement à l'aide de Shaka Player afin de faciliter la transition. Certaines applications peuvent être à risque lors de 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 lu correctement dans Shaka Player.

Quel est le niveau d'effort attendu pour changer de joueur ?

Les partenaires doivent 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 au protocole HLS. Pour ce faire, les partenaires doivent activer la fonctionnalité dans un environnement interne et tester soigneusement que leur contenu peut être lu avec Shaka Player. Consultez la section Valider le contenu pour en savoir plus sur les aspects à privilégier. Une fois la validation terminée, les partenaires doivent ajouter l'indicateur d'activation dans leur environnement d'application de production afin de commencer à profiter des avantages offerts par Shaka Player. De manière générale, la migration de nos partenaires ne nécessite que des modifications minimes au niveau du développement logiciel et, surtout, des exigences de contrôle qualité.

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

Pour les nouvelles intégrations, vous devez activer le lecteur Shaka pour la lecture. Votre application bénéficiera d'une meilleure prise en charge à long terme, et bénéficiera é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 afin de laisser à l'équipe d'ingénieurs suffisamment de temps pour le résoudre. Si le délai de votre application est serré, incluez ces informations dans le rapport de bug ainsi que l'impact à prioriser en conséquence. Notre équipe d'ingénieurs s'efforcera de fournir une solution pour répondre aux besoins de vos utilisateurs.

Mon contenu ou mon application ne fonctionnent pas avec Shaka Player. Que dois-je faire ?

Vous devez signaler un bug à l'aide du projet Shaka Player ou du projet Cast (voir Signaler des problèmes). L'équipe d'ingénieurs du SDK Cast surveille activement ces outils de suivi et travaillera avec vous pour résoudre les éventuels problèmes. Plus ces problèmes sont détectés tôt, plus ils disposent de temps pour résoudre le problème.

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

Par le passé, MPL avait adopté de nouvelles fonctionnalités HLS et corrigé des bugs majeurs via des mises à jour critiques. Maintenant que MPL ne les reçoit plus, les nouvelles fonctionnalités HLS ne seront plus ajoutées au lecteur. De même, les problèmes signalés pour la lecture HLS sur MPL ne seront pas résolus 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 avec le ou les problèmes rencontrés dans Shaka Player. Les partenaires doivent cesser d'utiliser MPL.

Mon contenu utilise le protocole Smooth Streaming. En quoi cela affecte-t-il mon application ?

Les binaires MPL seront toujours hébergés et votre application réceptrice y sera accessible. Cependant, 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 votre contenu vers le protocole de streaming DASH ou HLS pour continuer à recevoir des informations sur les performances et à prendre en charge votre contenu.

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

Si votre bibliothèque de contenu n'utilise aucun de ces protocoles de streaming, vous ne serez pas affecté par la migration. Aucune modification n'est requise dans votre application.