Technologie

Publicité en direct : les pannes à grande échelle

Les pauses publicitaires en streaming en direct peuvent fonctionner parfaitement lors des répétitions et échouer lorsque des milliers de téléspectateurs accèdent simultanément à la même opportunité. Un flux de programme irréprochable ne constitue qu’une partie du processus. La pause dépend également de décisions prises en temps opportun, de supports publicitaires préparés et d’un lecteur capable de gérer les deux transitions sans perte du programme.

Commencez votre analyse par une session concernée et un identifiant de pause publicitaire. Capturez le signal de déclenchement, le manifeste d’origine, la réponse personnalisée, les requêtes de médias et les événements du lecteur. Ces éléments permettent de distinguer une opportunité non vendue d’un défaut de diffusion avant que les équipes ne modifient des paramètres sans rapport avec le problème.

Suivez chaque coupure publicitaire d’un service à l’autre

Dans le cadre de l’insertion publicitaire côté serveur (SSAI), un service d’insertion sélectionne les supports publicitaires destinés au flux du spectateur. Un parcours type va de la diffusion et de la signalisation SCTE-35 à l’encodage et au conditionnement, en passant par la prise de décision publicitaire, l’assemblage du manifeste, la diffusion via le CDN et la lecture. Le serveur de décision publicitaire et la préparation des créations s’inscrivent parallèlement au parcours des médias.

Chaque transfert nécessite des preuves. Enregistrez le moment où l’opportunité a été signalée, le temps média auquel elle se rapporte, le moment où la décision a été prise et le moment où le lecteur a franchi la limite. Distinguez clairement les horodatages « temps réel » et « temps média », et documentez la manière dont vous les mettez en corrélation. Masquez les jetons et les identifiants personnels avant de partager les traces.

Vérifiez le signal qui a atteint le service d’insertion

La présence d’un message SCTE-35 valide lors de la diffusion ne garantit pas que le packager en ait préservé la signification. Vérifiez l’identité de l’événement, le début prévu, la signalisation de durée ou de fin, le type de segmentation et toutes les règles d’inventaire configurées après chaque transformation.

Pour le HLS, le mappage SCTE-35 de la RFC 8216 décrit le transport via EXT-X-DATERANGE, y compris la signalisation de sortie et d’entrée. Assurez-vous que le mappage correspond à celui pris en charge par le service d’insertion ; la présence d’une balise ne suffit pas à elle seule à garantir qu’elle déclenchera un remplacement.

Répétez les tests avec des repères tardifs, des annonces répétées et une durée de pause modifiée. La signalisation répétée peut être intentionnelle ; veillez donc à dédupliquer en fonction de l’identité de l’événement et du contrat du système récepteur. Conservez la preuve du retour prévu du programme ainsi que du début de la pause.

Distinguez une décision vide d’un délai expiré

VAST (Video Ad Serving Template) décrit une réponse publicitaire et ses informations de suivi. Les réponses peuvent contenir des wrappers qui nécessitent des requêtes supplémentaires avant qu’une création utilisable ne soit trouvée.

Le tableau des erreurs de l’IAB Tech Lab distingue les délais d’expiration des wrappers (301), l’atteinte d’une limite de wrappers (302) et l’absence de publicité renvoyée après les wrappers (303). Conservez ces distinctions dans vos rapports opérationnels. Un manque de demande éligible et un partenaire lent nécessitent des solutions différentes.

Définissez un budget de décision de bout en bout adapté au délai de lecture. Mesurez les latences élevées, notamment aux 95e et 99e centiles, parallèlement aux taux de délai d’expiration. Une moyenne rapide peut masquer les sessions qui ne respectent pas le délai. Limitez les nouvelles tentatives de requête afin qu’elles n’épuisent pas le budget restant et ne multiplient pas le trafic en cas d’échec.

Testez le pic de trafic au début de la coupure

Une charge de travail illustrative met en évidence le problème : 120 000 sessions demandant chacune une décision publicitaire en moins de 4 secondes génèrent en moyenne 30 000 requêtes initiales par seconde pendant cette fenêtre. Les appels de wrapper et les nouvelles tentatives de requête peuvent augmenter le trafic. Il s’agit là d’hypothèses de planification, et non de la capacité mesurée d’Evrideo ni d’une relation universelle entre les spectateurs et les requêtes.

Un test à répartition uniforme avec le même nombre total de requêtes quotidiennes ne permettra pas de détecter ce pic. Reproduisez des pauses synchronisées, des arrivées tardives et des reconnexions, puis mesurez séparément le serveur publicitaire, le service de manifeste et la source des créations. Convenez des limites de charge avec chaque partenaire avant de tester leurs systèmes.

Le préchargement des publicités peut permettre d’anticiper certaines tâches de décision et de préparation des médias avant l’échéance de lecture. La documentation relative à la mise en œuvre de MediaTailor par AWS décrit les fenêtres de récupération et de consommation, la régulation du trafic et l’association des publicités récupérées à l’avance à une opportunité. Il s’agit d’une mise en œuvre documentée par le fournisseur, et non d’une garantie de performances pour chaque système SSAI. Vérifiez les dates d’expiration, l’actualité du ciblage et la comptabilisation de l’inventaire avant de mettre en place un flux de travail équivalent.

Préparez les médias et vérifiez les deux transitions

Une décision publicitaire acceptée peut tout de même renvoyer vers un média que le lecteur ne peut pas utiliser à temps. Testez les URL de créations encore absentes du cache, les variantes d’encodage manquantes, les téléchargements lents et les échecs de préparation. Dans vos tableaux de bord, distinguez la disponibilité des créations de la réussite de la décision.

Les exigences d’Apple en matière de création HLS recommandent d’adapter les codecs et les formats d’image des médias insérés à ceux du programme, et de maintenir la bande passante publicitaire dans les limites de la bande passante déclarée pour la variante. Elles exigent également que les discontinuités soient alignées entre les variantes et déconseillent les changements de codec à ces limites.

Vérifiez la fréquence d’images, la structure audio, les horodatages et les points d’accès aléatoire sur l’ensemble de la matrice d’appareils réelle. Une balise de discontinuité ne peut pas permettre le bon fonctionnement d’une transition de décodeur non prise en charge. Pour DASH, testez les transitions entre les éléments Period du programme et des publicités sur les lecteurs que vous commercialisez, y compris la continuité audio et des sous-titres.

Les services chiffrés nécessitent des cas supplémentaires : passage d’un contenu protégé à des publicités en clair, publicités protégées utilisant une autre clé, et retour au programme. Identifiez les latences liées aux licences et les erreurs de droits d’accès le cas échéant. Utilisez un outil de test de lecture autorisé pour observer la sortie déchiffrée ; l’inspection du manifeste ne suffit pas à elle seule à prouver que les téléspectateurs ont vu une image. Notre guide d’ingénierie DRM aborde ces dépendances plus en détail.

Définissez une solution de secours acceptable pour les téléspectateurs

Précisez ce qui se passe lorsqu’il n’y a pas de publicité, qu’une décision expire ou que le média n’est pas prêt. Choisissez une solution de secours dont les droits ont été validés, définissez comment les secondes restantes seront comblées et vérifiez le retour au programme. Une promotion interne ou un média de remplacement (slate) nécessite tout de même un encodage compatible et une diffusion fiable.

La documentation d’AWS sur MediaTailor relative aux médias de remplacement illustre pourquoi la configuration est importante : des réponses vides, des erreurs de décision et un transcodage inachevé peuvent déclencher le comportement de solution de secours ; en l’absence de média de remplacement configuré, la valeur par défaut documentée utilise le contenu sous-jacent. D’autres services peuvent se comporter différemment. Ne partez jamais du principe que le contenu sous-jacent est autorisé pour toutes les destinations.

Rendez le test d’acceptation mesurable

Pour la prochaine répétition, convenez de ces vérifications avec les équipes opérationnelles, publicitaires et de distribution :

  • Suivez séparément les opportunités éligibles, les décisions, les créations prêtes à l’emploi, les démarrages de lecture et les lectures menées à terme.
  • Mesurez les échecs de manifestes et de segments, les remises en mémoire tampon et la reprise de lecture aux deux extrémités de la pause.
  • Tenez compte de la demande nulle, des décisions retardées, des créations encore absentes du cache et d’un chemin de diffusion défaillant.
  • Testez la durée de la solution de secours et le retour au programme sur des téléviseurs, appareils mobiles et navigateurs représentatifs.
  • Rapprochez les données de lecture avec les rapports ; une requête HTTP réussie ou une entrée de manifeste insérée ne prouve pas qu’une publicité a été visionnée.

Définissez des critères de réussite en fonction des exigences de votre service plutôt que d’adopter un objectif de latence universel. Conservez une trace pour chaque cas d’échec et attribuez la correction à l’interface entre services où les traces révèlent la défaillance.

Pour les pauses publicitaires en streaming en direct, le test de mise en production pertinent consiste en une pause complète sous une charge réaliste, y compris la récupération. Les outils d’analyse de flux d’Evrideo peuvent vous aider à inspecter les manifestes et les marqueurs SCTE dans le cadre de cette analyse. Contactez notre équipe pour tester le parcours depuis la sortie de votre chaîne jusqu’à l’appareil de visionnage.

Retour au blog