L'encodage tenant compte du contexte améliore la qualité vidéo tout en réduisant les coûts.
Features & Updates
Nous regardons tous de plus de plus en plus de vidéos en ligne — sur nos téléphones, tablettes, téléviseurs et au travail, dans le train et en marchant dans la rue (vous vous reconnaissez). Alors que les services de diffusion en continu évoluent pour répondre à la demande de plus de contenu sur davantage d'écrans, les coûts de stockage et de bande passante pour diffuser des vidéos sur ces écrans augmentent. Diffuser des vidéos de haute qualité à l'échelle sur un vaste éventail de dispositifs est essentiel dans ce que nous faisons chez Brightcove, et nous annonçons aujourd'hui une nouvelle fonctionnalité appelée Encodage tenant compte du contexte qui peut réduire considérablement le coût de stockage et de diffusion d'une vidéo, tout en améliorant la qualité de lecture pour le public. L'encodage tenant compte du contexte permet de configurer les paramètres de compression en fonction de chaque vidéo, en utilisant des algorithmes d'analyse du contenu avancés. Dans la plupart des cas, cela génère des fichiers vidéo de plus petite taille (et des factures de CDN moins élevées) tout en préservant la qualité visuelle.
Diffusion à débit adaptatif : comment en sommes-nous arrivés là ?
Aujourd'hui, la plupart des vidéos diffusées sur internet utilisent des technologies de diffusion ABR (à débit adaptatif), comme les technologies HLS et MPEG-DASH, pour optimiser la lecture. Un flux ABR contient plusieurs copies de la même vidéo, appelées « rendus », qui sont encodées dans des résolutions et débits différents. Lorsqu'un utilisateur appuie sur le bouton de lecture, le lecteur reçoit un manifeste qui fournit la liste des rendus disponibles pour la lecture. Le lecteur choisit le rendu à lire approprié en fonction de plusieurs facteurs, dont la bande passante disponible, le remplissage de la mémoire tampon et la taille de la fenêtre de lecture. Tandis que ces facteurs peuvent modifier le cours de la lecture, le lecteur peut basculer sur un rendu de qualité plus ou moins élevée, garantissant que la personne qui visionne la vidéo obtient la meilleure qualité vidéo possible avec une mise en mémoire tampon minimale.
Les services de diffusion en continu créent généralement une configuration d'encodage unique pour tous leurs contenus — un ensemble prédéterminé de rendus ABR, que l'on appelle souvent « échelle », qui est utilisé pour encoder chaque élément du contenu. Décider de la liste de résolutions et de débits à placer dans une échelle ABR est une science inexacte. Dans certains cas, les échelles ABR peuvent être adaptées à un cas d'utilisation spécifique : une animation, par exemple, peut être encodée à des débits moins élevés car le contenu est généralement moins complexe.
Le problème avec l'ABR statique
Pour toucher un grand nombre de visiteurs, les diffuseurs doivent avoir une approche uniforme, en utilisant une échelle à débit unique pour encoder une variété de types de contenus pour un éventail de dispositifs d'utilisateurs finaux. En général, une échelle ABR unique est utilisée pour encoder du contenu sportif à haute définition qui sera lu sur un téléviseur, ainsi que des dessins animés qui seront lus sur des téléphones.
Quel est le problème ? Utiliser une échelle à débit unique produit souvent une qualité inégale entre les différents types de contenus. Les vidéos complexes comme le contenu sportif nécessitent plus de bits que l'animation pour que l'expérience vidéo soit acceptable. Par exemple, si vous déviez votre échelle ABR vers des débits plus élevés pour que le rendu de votre contenu sportif soit excellent, vous gaspillez de l'espace de stockage et de la bande passante si vous utilisez le même profil pour encoder du contenu animé. Cet espace de stockage et cette bande passante gaspillés coûtent de l'argent.
Optimiser les flux ABR avec l'encodage tenant compte du contexte
C'est là qu'intervient la nouvelle technologie d'encodage tenant compte du contexte de Brightcove. Au lieu d'utiliser une échelle ABR pour tous les contenus, l'encodage tenant compte du contexte analyse chaque vidéo source et crée intelligemment une échelle à débit unique pour chaque élément de contenu. Par ailleurs, l'encodage tenant compte du contexte prend en considération les contraintes associées au réseau de diffusion et au dispositif utilisé pour visionner le contenu. Il décide du nombre de rendus nécessaire et des résolutions et débits qui doivent être utilisés pour chaque élément, tout en conservant un niveau de qualité constant pour tous les titres. Cela permet de réaliser des économies importantes sur les coûts de stockage et de bande passante, tout en améliorant l'expérience vidéo des utilisateurs.
Le tableau ci-dessous illustre une échelle ABR statique classique ainsi qu'un exemple d'échelle tenant compte du contexte qui a été générée pour un clip d'actualités classique.
L'encodage tenant compte du contexte a pu diffuser la même qualité que l'échelle ABR statique en utilisant deux fois moins de rendus, et des débits moins élevés ou des résolutions plus élevées pour chaque rendu. Cela a une incidence positive sur les performances de lecture et le rapport coût/efficacité.
Des performances de lecture supérieures à des débits moins élevés
En utilisant une échelle ABR statique, un utilisateur de réseau mobile 3G avec 1 000 kbits/s de bande passante continue atteindrait un rendu de 360p à 900 kbits/s au maximum. L'encodage tenant compte du contexte a déterminé qu'il pouvait créer un rendu de 432p avec une résolution plus élevée à un débit moins élevé de 777 kbits/s. Ce rendu utilise 13 % de moins de bits et diffuse une résolution et une qualité supérieures, comme vous pouvez le constater dans la comparaison en parallèle ci-dessous. Faites glisser le curseur pour afficher la différence : les détails plus nets du clip tenant compte du contexte sont visibles dans le texte en bas, ainsi que les cheveux de l'homme.
$(window).load(function() { $("#comparison-image").twentytwenty(); });
De manière similaire, un utilisateur avec un forfait internet résidentiel à un prix économique fournissant 3 000 kbits/s de bande passante constante atteindrait un rendu de 720p au maximum avec l'échelle ABR statique, tandis que l'encodage tenant compte du contexte permettrait de diffuser un flux avec un rendu de 1080p, offrant une expérience haute définition intégrale.
Coûts de stockage et de bande passante réduits
Encoder une vidéo dans les huit rendus de l'échelle ABR statique génère au total 14 750 kbits/s de données. Pour une vidéo d'une minute, cela représente 885 Mo. L'échelle tenant compte du contexte à droite génère seulement 4 950 kbits/s. Donc pour la même vidéo d'une minute, cela signifie 297 Mo seulement, ce qui représente une économie sur les coûts de stockage de 66 %. Étant donné que la bande passante utilisée dépend du nombre de visiteurs et de la durée de visionnage de la vidéo, les économies de bande passante peuvent être encore plus importantes que les économies de stockage. Globalement, nous prévoyons jusqu'à 50 % d'économie sur les coûts de bande passante et de stockage. En ajustant les débits des rendus sur le débit le moins élevé pour conserver la qualité visuelle, le public consommera généralement moins de bande passante lors de chaque session de visionnage, ce qui génère des économies supplémentaires sur les coûts de bande passante.
L'encodage tenant compte du contexte est actuellement en phase bêta pour les clients Video Cloud. Si vous souhaitez l'essayer, contactez-nous.