Nous allons traverser les flux (médias), Ray

Joe Medley
Joe Medley

Actuellement, lorsque vous utilisez Media Source Extensions (MSE) dans Chrome, il n'est pas possible de basculer entre des flux chiffrés et effacés. En réalité, cela n'est pas interdit par la spécification MSE, mais principalement la manière dont le pipeline multimédia est configuré pour prendre en charge les extensions multimédias chiffrées (EME).

La MSE exige que les flux multimédias commencent par un segment d'initialisation qui inclut des informations telles que les données d'initialisation du codec et des informations de chiffrement. En règle générale, le segment d'initialisation se trouve au début d'un fichier multimédia. Par conséquent, lorsqu'un média est associé à un élément multimédia via un téléchargement ou une MSE, il "fonctionne simplement".

Ce problème survient lorsque vous essayez de modifier les caractéristiques d'un contenu multimédia en cours de diffusion. La modification des caractéristiques du média nécessite la transmission d'un nouveau segment d'initialisation. Pour la plupart des caractéristiques, cela fonctionne. La lecture se poursuit. Les paramètres de chiffrement font exception à cette règle. Les paramètres de chiffrement du premier segment d'initialisation indiquent uniquement si les segments de flux peuvent être chiffrés, ce qui signifie que des segments multimédias clairs peuvent être insérés dans le flux. En conséquence, un flux non chiffré avec, même un seul segment chiffré, nécessite que les informations de chiffrement soient incluses dans le segment d'initialisation. C'est pourquoi l'insertion d'annonces nécessite des solutions de contournement qui ne s'appliquent pas aux autres plates-formes.

À partir de Chrome 58, tout cela va changer. Vous pouvez maintenant basculer entre chiffré et non chiffré dans le même flux. Cela améliore la compatibilité en faisant correspondre les comportements qui existent déjà dans Firefox et Edge.

Cela comporte quelques mises en garde. Tout d'abord, si vous prévoyez des segments chiffrés dans vos flux multimédias, vous devez définir les MediaKeys à l'avance. Comme précédemment, vous ne pouvez pas mélanger HTTP et HTTPS dans la même source.