MicrocosmWorksInnover et Architecturer le Cosmos Numérique
À proposContact
MicrocosmWorksInnover et architecturer des cosmos numériques

Fournir des solutions informatiques qui comptent. Nous sommes passionnés par la technologie, la sécurité et aidons les entreprises à croître grâce à une infrastructure informatique fiable et innovante.

[email protected]
+91 7011868196
New Delhi, India

Hub de Croissance IA

Hub IAInnovation pour les startupsAccélérateur d'entreprise

Solutions

Toutes les solutionsApplications de bien-être et de fitnessPlateforme vidéo IADéveloppement d'agents IA

Ressources

PerspectivesGuides de l'industriePlans d'utilisationModèles d'architectureÉtudes de cas

Entreprise

À propos de nousContactNotre travail

Services

Consultation numériqueInfrastructure cloudDéveloppement SaaSDéveloppement IATechnologie vidéo
Développement ERPPersonnalisation ZohoDéveloppement OdooIntégration SalesforceDéveloppement CRM personnalisé
Intégration QuickBooksSolutions IoTDéveloppement Blockchain
Consultation en cybersécuritéSupport IT - L3

© 2026 MicrocosmWorks. Tous droits réservés.

Politique de confidentialitéConditions d'utilisation
Retour aux Études de Cas
Video EncodingPublié June 22, 2026 · Mis à jour June 22, 2026

Insertion d'annonces côté client (CSAI) avec analyse des marqueurs SCTE-35 et intégration de lecteurs multiplateformes

Une plateforme de streaming vidéo devait implémenter l'insertion d'annonces côté client (CSAI) sur les applications web, mobiles et de télévision connectée — permettant des expériences publicitaires personnalisées au niveau de l'appareil avec un support complet d'interaction publicitaire (superpositions cliquables, bannières complémentaires, boutons de saut) que l'insertion côté serveur ne peut pas offrir.

Discutez de Votre Projet
client-side-ad-insertion-csai.webp
Video Encoding
Domain
15
Technologies
6
Key Results
Delivered
Status

Le Défi

La plateforme utilisait auparavant exclusivement le SSAI (insertion d'annonces côté serveur), qui gérait bien la monétisation mais présentait des limitations importantes pour les expériences publicitaires interactives :

  • Les annonces assemblées par SSAI ne pouvaient pas prendre en charge les superpositions cliquables, les bannières complémentaires ou les unités publicitaires interactives
  • Aucune capacité à suivre les événements publicitaires côté client (progression par quartile, visibilité, clic) requis par les acheteurs d'annonces premium
  • Les plateformes de télévision connectée (Roku, Fire TV, Apple TV) attendaient le CSAI pour leurs frameworks publicitaires natifs et leurs exigences de certification
  • Les marqueurs SCTE-35 dans les manifestes HLS/DASH devaient être analysés côté client, mais chaque SDK de lecteur gérait les événements de repère différemment
  • La gestion des pods publicitaires (remplir les coupures publicitaires multi-emplacements avec plusieurs annonces) nécessitait une orchestration côté client
  • La détection des bloqueurs de publicité et la logique de repli étaient nécessaires pour protéger les revenus sur les plateformes web
  • Le préchargement des annonces sans interrompre le tampon de contenu nécessitait une gestion attentive du cycle de vie du lecteur

Notre Solution

Nous avons construit un framework CSAI multiplateforme avec une couche d'orchestration publicitaire unifiée qui analyse les marqueurs SCTE-35 des manifestes HLS/DASH, communique avec les serveurs publicitaires VAST/VMAP, et gère le cycle de vie de la lecture des annonces sur les lecteurs web (Video.js/Shaka), iOS (AVPlayer), Android (ExoPlayer), et de télévision connectée.

Architecture

  • Diffusion de contenu : Flux HLS/DASH avec marqueurs SCTE-35 via AWS MediaPackage + CloudFront
  • Serveur de décision publicitaire : Google Ad Manager (GAM) / SpotX avec support VAST 4.2 et VMAP
  • Lecteur Web : Video.js avec un analyseur de repères SCTE-35 personnalisé et l'intégration du Google IMA SDK
  • Lecteur iOS : AVPlayer avec un écouteur AVDateRangeMetadataGroup et le IMA iOS SDK
  • Lecteur Android : ExoPlayer avec un écouteur MetadataOutput et le IMA Android SDK
  • Télévision connectée : Lecteurs natifs de la plateforme (Roku RAF, Fire TV IMA, Apple TV AVKit) avec adaptateurs de framework publicitaire
  • Analyse publicitaire : Pipeline d'événements personnalisé pour le suivi des impressions, des quartiles, de la complétion, des clics et de la visibilité
  • Repli : Diffusion de bandeaux/annonces internes lorsque le remplissage d'annonces est indisponible ou qu'un bloqueur de publicité est détecté

Analyse SCTE-35 Côté Client

Marqueurs de manifeste HLS

Les signaux SCTE-35 apparaissent dans les manifestes HLS sous deux formats, tous deux analysés par le client :

EXT-X-DATERANGE (HLS v7+)
  • Le lecteur écoute les balises #EXT-X-DATERANGE avec les attributs SCTE35-OUT et SCTE35-IN
  • Les attributs incluent PLANNED-DURATION pour la durée de la coupure publicitaire et ID pour la corrélation d'événements
  • Format préféré pour les lecteurs modernes (AVPlayer, ExoPlayer, Shaka)
EXT-X-CUE-OUT / EXT-X-CUE-IN (Hérité)
  • #EXT-X-CUE-OUT:DURATION= marque le début de la coupure publicitaire
  • #EXT-X-CUE-IN marque le retour au contenu
  • Pris en charge pour la rétrocompatibilité avec les lecteurs et encodeurs plus anciens

Marqueurs de manifeste DASH

  • Les signaux SCTE-35 apparaissent sous forme d'éléments dans le DASH MPD avec schemeIdUri="urn:scte:scte35:2013:xml"
  • Les éléments contiennent presentationTime, duration et une charge utile binaire SCTE-35 encodée en base64
  • Shaka Player et ExoPlayer les analysent nativement via leurs API d'écoute d'événements

Flux de traitement des marqueurs

  1. Détection — L'écouteur de métadonnées du lecteur détecte l'événement de repère SCTE-35 pendant l'analyse du manifeste
  2. Extraction — Durée de la coupure, ID de l'événement et type de segmentation extraits du marqueur
  3. Demande d'annonce — Demande VAST/VMAP envoyée au serveur de décision publicitaire avec les paramètres de ciblage (ID de contenu, genre, type d'appareil, segment d'utilisateur, géolocalisation)
  4. Planification du Pod — Réponse publicitaire analysée pour construire un pod publicitaire (liste ordonnée de créatifs publicitaires remplissant la durée de la coupure)
  5. Préchargement — Créatifs publicitaires préchargés pendant la lecture du contenu pour éliminer la latence au début de la coupure publicitaire
  6. Pause et Changement — La lecture du contenu est mise en pause au point de repère, le lecteur passe à la lecture des annonces
  7. Lecture des Annonces — Annonces lues séquentiellement avec suivi par quartile, affichage de bannières complémentaires et gestion des clics
  8. Reprise — Après la complétion du pod, la lecture du contenu reprend à la trame exacte après le point de repère

Implémentations Spécifiques aux Plateformes

Web (Video.js + IMA SDK)

  • Un plugin Video.js personnalisé intercepte les métadonnées #EXT-X-DATERANGE via les événements de changement de repère textTrack
  • Le Google IMA HTML5 SDK gère les demandes d'annonces VAST, la lecture des annonces et le rendu des bannières complémentaires
  • Une superposition de conteneur d'annonces positionnée au-dessus de l'élément vidéo pour le support des clics et des boutons de saut
  • Détection des bloqueurs de publicité via une demande canary — revient aux annonces internes ou à la reprise du contenu en cas de détection
  • Support des annonces preroll, midroll et postroll via VMAP ou planification manuelle des points de repère

iOS (AVPlayer + IMA SDK)

  • AVPlayerItem.navigationMarkerGroups et AVDateRangeMetadataGroup utilisés pour détecter les repères SCTE-35
  • Le délégué AVPlayerItemMetadataOutput se déclenche sur chaque événement de repère avec un timing et une charge utile analysés
  • Le Google IMA iOS SDK gère les demandes VAST et la lecture des annonces dans une instance AVPlayer distincte
  • Le Picture-in-Picture (PiP) est mis en pause pendant les coupures publicitaires selon la politique publicitaire de la plateforme
  • Audio en arrière-plan géré — les annonces ne sont pas lues en mode arrière-plan

Android (ExoPlayer + IMA SDK)

  • Player.Listener.onMetadata() avec MetadataOutput capture les événements SCTE-35 des HLS/DASH
  • Le Google IMA Android SDK intégré via l'extension ImaAdsLoader d'ExoPlayer
  • La lecture des annonces utilise une MediaSource distincte pour éviter de polluer le tampon de contenu
  • Gère le cycle de vie de l'Activity — l'état de l'annonce est préservé lors des changements de configuration et de la mise en arrière-plan
  • Android TV et mobile partagent la même logique publicitaire avec des adaptations de la couche UI

Plateformes de Télévision Connectée

Roku (RAF — Roku Ad Framework)
  • La bibliothèque RAF native de Roku analyse directement les marqueurs SCTE-35 des manifestes HLS
  • RAF.setAdUrl() configuré avec un point d'extrémité VAST ; RAF gère la demande d'annonce, la construction du pod et la lecture
  • Prise en charge des annonces complémentaires via les callbacks renderStitchedAd et renderTrackingEvent de RAF
  • La certification Roku exige l'utilisation de RAF — les lecteurs d'annonces personnalisés sont rejetés lors de l'examen
Fire TV (IMA SDK)
  • Utilise l'implémentation Android ExoPlayer + IMA SDK adaptée à l'interface utilisateur Leanback de Fire TV
  • Navigation par D-pad pour le bouton de saut et le clic "En savoir plus" sur les superpositions d'annonces
  • ID d'annonce Fire TV utilisé pour le ciblage publicitaire dans les requêtes VAST
Apple TV (AVKit + Personnalisé)
  • AVPlayerViewController avec interstitialTimeRanges pour les indicateurs d'interface utilisateur natifs de coupure publicitaire
  • Repères SCTE-35 analysés via AVPlayerItemMetadataCollector
  • Lecture d'annonces gérée dans un AVQueuePlayer distinct pour une séparation nette du contenu et des annonces
  • Gestionnaire de clics de télécommande tvOS pour les éléments publicitaires interactifs

Gestion des Pods Publicitaires

  • Remplissage de Pod — Plusieurs annonces VAST assemblées pour remplir la durée de coupure signalée
  • Cascade — Si le serveur d'annonces principal ne renvoie aucun remplissage, les sources de demande secondaires/tertiaires sont interrogées séquentiellement
  • Adaptation de la Durée — Le constructeur de pod sélectionne des combinaisons d'annonces qui s'insèrent dans la durée de coupure (tolérance de ±0,5 s)
  • Déduplication — Le même créatif publicitaire n'est pas affiché deux fois dans un seul pod
  • Plafonnement de la Fréquence — Plafonnements par utilisateur et par session appliqués côté client pour éviter la fatigue publicitaire
  • Bumpering — De courts créatifs de bumper ("Nous revenons tout de suite" / "Bienvenue de retour") encadrent les pods publicitaires

Suivi et Analyse des Événements Publicitaires

  • Événements VAST Standard — impression, start, firstQuartile, midpoint, thirdQuartile, complete, skip, clickThrough
  • Visibilité — Pixels de visibilité MOAT/IAS déclenchés en fonction de la visibilité de la fenêtre d'affichage de l'annonce et des seuils de durée
  • Événements Personnalisés — Événements au niveau de l'application (début/fin de coupure publicitaire, taux de remplissage de pod, timing de préchargement, déclenchement du repli)
  • Pipeline Serveur — Le client envoie des événements à un collecteur d'événements léger, qui les distribue à GAM, MOAT et à l'entrepôt d'analyse interne
  • Rapprochement — Rapprochement des journaux côté serveur avec les événements côté client pour la détection des écarts

Gestion des Bloqueurs de Publicité (Web)

  • Détection — Requête VAST "canary" vers un domaine publicitaire connu ; un timeout ou un blocage indique un bloqueur de publicité
  • Stratégie de Repli — Diffuser des annonces internes ou des bandes-annonces promotionnelles depuis le domaine CDN propriétaire
  • Accès Conditionnel au Contenu — Accès conditionnel doux optionnel : inviter l'utilisateur à ajouter le site à la liste blanche avant la lecture du contenu
  • Analytique — Taux de détection des bloqueurs de publicité suivi par navigateur, géographie et page

Fonctionnalités Clés

  1. CSAI Multiplateforme — Insertion d'annonces unifiée sur web, iOS, Android, Roku, Fire TV et Apple TV
  2. Analyse SCTE-35 Côté Client — Analyse de HLS EXT-X-DATERANGE, CUE-OUT/IN et DASH EventStream
  3. Annonces Interactives — Superpositions cliquables, bannières complémentaires et boutons de saut sur toutes les plateformes
  4. Orchestration des Pods Publicitaires — Remplissage de coupures multi-annonces avec cascade, adaptation de la durée et déduplication
  5. Préchargement — Créatifs publicitaires préchargés pendant la lecture du contenu pour des transitions publicitaires sans latence
  6. Suivi de la Visibilité — Intégration MOAT/IAS pour les exigences de visibilité des acheteurs d'annonces premium
  7. Conformité Télévision Connectée — Intégrations Roku RAF, Fire TV IMA et Apple TV AVKit répondant aux exigences de certification
  8. Résilience aux Bloqueurs de Publicité — Détection et repli vers des annonces internes propriétaires sur le web

Résultats

Revenus Interactifs : Le CSAI a permis des annonces cliquables, débloquant des CPMs 25 % plus élevés par rapport à l'inventaire SSAI uniquement
Taux de Remplissage : La demande en cascade avec 3 sources d'annonces a permis un taux de remplissage de pod de 92 % sur toutes les plateformes
Expérience du Spectateur : Le préchargement des annonces a réduit la latence de démarrage des coupures publicitaires à moins de 200ms
Couverture de Plateforme : CSAI unifié déployé sur 6 plateformes avec un cœur d'orchestration publicitaire partagé
Conformité : Certification passée des frameworks publicitaires Roku, Fire TV et Apple TV dès la première soumission
Visibilité : Taux de visibilité mesuré de plus de 85 %, répondant aux seuils des annonceurs premium

Stack Technologique

Video.jsGoogle IMA SDKExoPlayerAVPlayerRoku Ad Framework (RAF)AWS Elemental MediaPackageAmazon CloudFrontSCTE-35HLSDASHVAST 4.2VMAPMOATNode.jsGoogle Ad Manager

caseStudyDetail.more Études de Cas

Découvrez plus de nos implémentations techniques

Video Encoding

Signalisations des marqueurs publicitaires SCTE-35 et pipeline d'insertion de bandes-annonces média

Une société de médias en streaming avait besoin d'un pipeline robuste et automatisé pour injecter des marqueurs publicitaires SCTE-35 dans les flux en direct et VOD, ainsi que de la capacité d'insérer des bandes-annonces promotionnelles (pre-roll, mid-roll et post-roll) à des positions précisément chronométrées – permettant la monétisation sur les chaînes FAST, les événements en direct et les bibliothèques de contenu à la demande.

Lire l'Étude de Cas
Video Encoding

AWS Media Services pour le streaming de chaînes FAST via SRT

Une société de médias avait besoin d'établir des flux de contribution fiables et à faible latence pour ses chaînes FAST en utilisant le protocole Secure Reliable Transport (SRT) — permettant l'ingestion de contenu de haute qualité depuis des studios distants, des systèmes de diffusion cloud et des partenaires de syndication sur des connexions internet imprévisibles.

Lire l'Étude de Cas
Video Encoding

AWS Media Services pour le Streaming de Chaînes FAST sur HLS

Une entreprise de médias devait lancer des chaînes de télévision en streaming gratuites financées par la publicité (FAST) — des flux linéaires 24h/24 et 7j/7 de contenu vidéo sélectionné diffusés via HLS vers des smart TV, des décodeurs et des lecteurs web/mobiles, monétisés par l'insertion publicitaire programmatique.

Lire l'Étude de Cas

Questions fréquemment posées

MicrocosmWorks implemented a manifest parser that extracts EXT-X-DATERANGE tags containing base64-encoded SCTE-35 splice_info_section data, decodes the splice commands, and triggers the ad decision request to the VAST/VMAP ad server with the appropriate break duration. The parser handles both time_signal and splice_insert command types across live and VOD manifests.

MicrocosmWorks built a shared ad playback SDK with platform-specific adapters for AVPlayer on iOS, ExoPlayer on Android, hls.js on web, and native players on Roku and Fire TV. The SDK normalizes ad lifecycle events like impression, quartile tracking, and completion across all platforms, ensuring unified reporting regardless of the playback device.

MicrocosmWorks implemented a timeout and fallback strategy where the player waits a maximum of 3 seconds for an ad server response before playing a default slate or skipping to the next content segment. The SDK also pre-fetches upcoming ad break VAST responses during content playback to minimize latency at the actual break point.

MicrocosmWorks integrated Open Measurement SDK (OM SDK) for viewability verification compatible with MOAT, IAS, and DoubleVerify, and the tracking implementation follows IAB VAST 4.2 specifications for impression counting and quartile events. The system also supports IAB's Video Ad Serving Template measurement guidelines for accurate ad completion rate reporting.

MicrocosmWorks delivers ad technology implementations at rates of $30-$50/hr, with a full CSAI system including SCTE-35 parsing, VAST/VMAP integration, and multi-platform player SDKs for iOS, Android, web, and CTV typically requiring 600-900 development hours. Each additional platform adapter adds approximately 80-120 hours to the base implementation.

Prêt à Transformer Votre Entreprise ?

Discutons de la façon dont nous pouvons appliquer des solutions similaires à vos défis.

Contactez-NouscaseStudyDetail.viewAllCaseStudies