Skip to main content
BlogLinodeMigration du streaming à bitrate adaptatif côté client vers côté serveur

Passer de la diffusion en continu à débit binaire adaptatif côté client à la diffusion en continu à débit binaire adaptatif côté serveur

Texte : Passage de la diffusion en continu à débit binaire adaptatif côté client à la diffusion en continu à débit binaire adaptatif côté serveur

Les plateformes de streaming s'adaptent pour accueillir des millions de spectateurs simultanés sur différents appareils et conditions de réseau, ce qui rend essentiel un streaming adaptatif efficace (ABR). Dans cet article de blog, nous allons explorer les aspects techniques de la transition de l'ABR côté client vers l'ABR côté serveur, en nous concentrant sur les détails de l'implémentation et les optimisations de performance.

Principes de base de la diffusion en continu à débit adaptatif

Comment fonctionne exactement la diffusion en continu à débit adaptatif ? Passons en revue chaque étape. Tout d'abord, le contenu vidéo est préparé en l'encodant à plusieurs débits (par exemple 500kbps, 1Mbps, 2Mbps, etc.) et en stockant ces différents rendus. 

Un fichier manifeste, comme un M3U8 pour HLS ou un MPD pour DASH, contient des informations sur les différents flux de débit disponibles.

Lorsqu'un utilisateur démarre la lecture, l'appareil client télécharge le fichier manifeste pour voir les options de débit disponibles. Le client sélectionne un débit initial, en commençant généralement par un débit inférieur pour un démarrage plus rapide. 

Pendant la lecture de la vidéo, l'appareil client surveille en permanence les conditions du réseau et les niveaux de sa mémoire tampon interne. Si la bande passante du réseau devient limitée, le client demandera des morceaux à plus faible débit pour éviter les remises en mémoire. Inversement, si la bande passante s'améliore, le client demande des morceaux à plus haut débit pour améliorer la qualité de la vidéo. Ce changement de débit s'effectue en demandant de nouveaux segments vidéo au niveau de débit actualisé. 

Défis de la diffusion en continu adaptative traditionnelle (ABR côté client)

Traditionnellement, la diffusion ABR est gérée côté client, l'appareil qui lit la vidéo déterminant le meilleur débit à utiliser. Toutefois, cette approche pose quelques problèmes. Tout d'abord, la puissance de traitement des appareils clients varie considérablement. Un téléphone ancien peut ne pas être en mesure de gérer tous les calculs nécessaires pour ajuster en permanence la qualité de la vidéo de manière aussi fluide qu'un modèle haut de gamme flambant neuf. C'est pourquoi, lorsque vous regardez une émission sur votre téléphone, la qualité vidéo peut parfois fluctuer. 

Un autre problème est l'ampleur des variations des connexions internet, même sur une courte période. Votre appareil doit constamment s'adapter à ces changements, ce qui peut entraîner des baisses de qualité notables ou un passage fréquent d'une résolution à l'autre, ce qui rend l'expérience visuelle assez déroutante. Si vous vivez dans une région où l'internet est irrégulier, vous risquez de constater de nombreuses mises en mémoire tampon ou des baisses de qualité.

Il y a aussi le problème de la latence : si votre appareil se rend compte tardivement que votre connexion a changé, il risque de ne pas ajuster le débit assez rapidement, ce qui entraîne des blocages ou des baisses de qualité soudaines.

Enfin, tous ces ajustements constants et ces inefficacités potentielles peuvent conduire à utiliser plus de données que nécessaire. Cela peut constituer un véritable problème pour les utilisateurs dont les forfaits de données mobiles sont limités.

Comment la RBA côté serveur peut-elle résoudre ces problèmes ?

Pour résoudre ces problèmes, au lieu de déterminer la sélection du débit binaire approprié du côté du client, SSABR effectue la sélection du côté du serveur.

Voici comment la diffusion en continu adaptative côté serveur pourrait fonctionner. Tout d'abord, le client envoie une requête HTTP GET pour le fichier manifeste. La requête comprend des métadonnées du client (par exemple, le type d'appareil, la résolution de l'écran, les codecs pris en charge). Ensuite, le serveur analyse les métadonnées du client à partir des en-têtes de la demande et procède à une analyse (charge actuelle du CDN, distance géographique par rapport au client, performances historiques pour des clients similaires, etc.) Le serveur génère ensuite un fichier manifeste personnalisé, adapté aux capacités du client et aux conditions actuelles du réseau, et n'inclut que les débits binaires jugés appropriés pour le client. Le serveur sélectionne ensuite le débit optimal en fonction de la bande passante disponible (estimée à partir du RTT et du débit), de la complexité du contenu (taille des images I, vecteurs de mouvement) et du niveau de la mémoire tampon du client (signalé par un retour d'information en temps réel). Ensuite, le serveur fournit des segments vidéo encodés au débit sélectionné à l'appareil client, qui les décode et les lit. Enfin, le serveur surveille en permanence les conditions du réseau et les capacités de l'appareil du spectateur. Si les conditions changent pendant la lecture (par exemple, en cas d'encombrement du réseau), le serveur peut ajuster dynamiquement le débit binaire pour assurer une lecture fluide sans mise en mémoire tampon ni dégradation de la qualité.

Cette approche côté serveur présente de nombreux avantages. Au lieu que l'appareil client doive sélectionner lui-même le bon débit, le serveur a une bien meilleure vue d'ensemble des conditions du réseau, de la complexité du contenu vidéo et des capacités de l'appareil. Grâce à toutes ces informations, il peut prendre des décisions plus appropriées pour ajuster le débit à la hausse ou à la baisse. Cela se traduit par des transitions plus fluides entre les différents niveaux de qualité et par une expérience de diffusion en continu globalement plus cohérente et sans mémoire tampon pour les téléspectateurs.

Le fait de décharger le processus de sélection du débit binaire sur le serveur réduit également la charge de traitement sur les appareils clients. Cela est particulièrement bénéfique pour les appareils dont les ressources sont limitées, car cela améliore leurs performances et la durée de vie de leur batterie.

Un autre avantage de la diffusion en continu à débit adaptatif côté serveur est que le serveur peut surveiller en permanence les conditions du réseau en temps réel et ajuster le débit avec plus de précision et de rapidité que les algorithmes côté client. Ainsi, s'il détecte que votre connexion est sur le point de ralentir, il peut réduire le débit de manière proactive avant même que vous ne ressentiez le moindre problème. Et dès que la vitesse de votre connexion remonte, la qualité augmente à nouveau. Il peut même analyser la complexité du contenu vidéo à un moment donné. Les scènes de mouvement intense avec beaucoup d'action bénéficieront d'un débit binaire plus élevé pour une meilleure qualité, tandis que les scènes plus calmes pourront être diffusées à des débits binaires plus faibles sans que cela ne nuise à la qualité de l'image. 

Enfin, la diffusion en continu adaptative côté serveur peut être très rentable pour les fournisseurs de services de diffusion en continu. Une gestion plus efficace du débit binaire se traduit par une réduction des coûts de la bande passante. Les fournisseurs de streaming peuvent diffuser des vidéos de haute qualité sans encourir de frais de transfert de données excessifs, tandis que les utilisateurs peuvent profiter de leur contenu favori sans s'inquiéter des surcharges de données.

En résumé, des flux de meilleure qualité, une lecture plus fluide, de meilleures performances des appareils et des économies sont autant de raisons d'envisager la diffusion en continu à débit adaptatif côté serveur.

Optimisation des performances

Pour maximiser les avantages de la RBA côté serveur, vous devez envisager quelques optimisations des performances. La première est l'informatique périphérique. En déployant la logique ABR sur des serveurs périphériques, vous pouvez réduire considérablement la distance que les données doivent parcourir, ce qui minimise la latence pendant la lecture vidéo. Cette proximité avec les utilisateurs finaux se traduit non seulement par une diffusion plus fluide, avec moins de mise en mémoire tampon et de temps de latence, mais aussi par des ajustements plus rapides du débit binaire. En outre, la réduction de la charge sur les serveurs centraux peut améliorer l'évolutivité et l'efficacité globale du réseau, ce qui vous permet de gérer plus facilement des charges de trafic plus importantes.

Une autre optimisation importante des performances consiste à mettre en œuvre des stratégies de mise en cache efficaces. En mettant intelligemment en cache les segments vidéo populaires à différents débits, vous pouvez réduire considérablement la charge sur votre serveur et améliorer les performances de la diffusion en continu. Pour ce faire, vous pouvez utiliser des structures de données probabilistes, telles que les filtres de Bloom, qui suivent et prédisent efficacement la popularité des différents segments. Cela permet au système de stocker et de servir plus rapidement le contenu fréquemment consulté, ce qui réduit la latence pour les utilisateurs finaux et minimise la nécessité de récupérer les données à plusieurs reprises à partir du serveur d'origine. En outre, cette approche peut contribuer à optimiser l'utilisation de la bande passante, ce qui permet d'obtenir une architecture de diffusion en continu plus évolutive et plus efficace.

Analyse comparative et Monitoring Votre expérience de la diffusion en continu

Après avoir migré vers la diffusion adaptative de débit côté serveur, vous voudrez quantifier les améliorations au moyen d'indicateurs clés de performance (ICP) qui mesurent à la fois l'expérience de l'utilisateur et l'efficacité du système. Quelques indicateurs de performance clés sont importants.

Le premier est le temps de démarrage, qui mesure le temps écoulé entre la demande de lecture d'un utilisateur et la première image rendue. Un temps de démarrage plus court est essentiel pour une expérience fluide, car de longs délais peuvent entraîner la frustration de l'utilisateur et une augmentation du taux de désabonnement. Un autre ICP important est le taux de rebuffage, calculé en divisant le temps de rebuffage total par le temps de lecture total, puis en le multipliant par 100. Ce ratio reflète le pourcentage de temps qu'une vidéo passe en mémoire tampon pendant la lecture, et le minimiser garantit un visionnage ininterrompu. La fréquence de changement de débit, qui mesure le nombre de changements de qualité par minute, est une autre mesure utile. Des changements de débit excessifs peuvent perturber l'expérience de l'utilisateur, et il est donc essentiel d'équilibrer les performances et la stabilité. Le débit moyen mesure le débit moyen fourni au cours d'une session, ce qui donne une idée de la qualité vidéo globale ressentie par les utilisateurs. Des débits plus élevés sont généralement synonymes de meilleure qualité, mais ils doivent s'aligner sur la bande passante disponible afin d'éviter les mises en mémoire tampon. Enfin, les scores VMAF (Video Multi-Method Assessment Fusion) sont des mesures de la qualité perceptuelle qui garantissent que la qualité vidéo fournie correspond aux décisions de débit prises par l'algorithme ABR. Des scores VMAF élevés indiquent une bonne qualité visuelle par rapport au débit, ce qui garantit une expérience visuelle de haute qualité. 

Le temps de démarrage, le taux de rebuffer, la fréquence de commutation du débit, le débit moyen et les scores VMAF sont autant d'indicateurs clés de performance que vous pouvez utiliser pour affiner les algorithmes ABR et optimiser la satisfaction de l'utilisateur.

Conclusion

La diffusion en continu adaptative côté serveur permet de remédier à de nombreuses limitations de la diffusion en continu adaptative côté client traditionnelle, en offrant une expérience de diffusion en continu plus efficace et plus cohérente. En centralisant le processus de prise de décision, l'ABR côté serveur améliore les performances, le contrôle de la qualité et l'utilisation des données. 

Dans cet article de blog, nous avons exploré les défis de l'ABR côté client et les avantages convaincants des solutions côté serveur. Si vous êtes développeur dans une entreprise de streaming et que vous souhaitez en savoir plus sur l'optimisation de vos solutions de streaming à débit adaptatif, vous pouvez utiliser ce lien pour demander à recevoir jusqu'à 5 000 dollars de crédits Linode pour en savoir plus.

Commentaires

Laissez un commentaire

Votre adresse électronique ne sera pas publiée. Les champs obligatoires sont marqués d'un *.