MicrocosmWorksInnovando y Arquitectando el Cosmos Digital
Acerca deContacto
MicrocosmWorksInnovando y Arquitectando el Cosmos Digital

Ofreciendo soluciones de TI que importan. Nos apasiona la tecnología, la seguridad y ayudar a las empresas a crecer a través de una infraestructura de TI confiable e innovadora.

[email protected]
+91 7011868196
New Delhi, India

Centro de Crecimiento de IA

Centro de IAInnovación para StartupsAcelerador Empresarial

Soluciones

Todas las SolucionesAplicaciones de Bienestar y FitnessPlataforma de Video con IADesarrollo de Agentes de IA

Recursos

PerspectivasGuías de la IndustriaPlanos de Casos de UsoPatrones de ArquitecturaEstudios de Caso

Compañía

Sobre NosotrosContactoNuestro Trabajo

Servicios

Consultoría DigitalInfraestructura en la NubeDesarrollo SaaSDesarrollo de IATecnología de Video
Desarrollo ERPPersonalización de ZohoDesarrollo de OdooIntegración de SalesforceDesarrollo de CRM Personalizado
Integración de QuickBooksSoluciones IoTDesarrollo de Blockchain
Consultoría de CiberseguridadSoporte IT - L3

© 2026 MicrocosmWorks. Todos los derechos reservados.

Política de PrivacidadTérminos de Servicio
Volver a Casos de Estudio
Video EncodingPublicado June 22, 2026 · Actualizado June 22, 2026

Inserción de Anuncios en el Lado del Cliente (CSAI) con Análisis de Marcadores SCTE-35 e Integración de Reproductor Multiplataforma

Una plataforma de streaming de video necesitaba implementar la Inserción de Anuncios en el Lado del Cliente (CSAI) en sus aplicaciones web, móviles y de TV conectada, lo que permitiría experiencias publicitarias personalizadas a nivel de dispositivo con soporte completo para la interacción con anuncios (superposiciones clicables, banners complementarios, botones para omitir) que la inserción del lado del servidor no puede proporcionar.

Discuta Su Proyecto
client-side-ad-insertion-csai.webp
Video Encoding
Domain
15
Technologies
6
Key Results
Delivered
Status

El Desafío

La plataforma utilizaba anteriormente exclusivamente SSAI (inserción de anuncios del lado del servidor), que gestionaba bien la monetización pero tenía limitaciones significativas para las experiencias publicitarias interactivas:

  • Los anuncios unidos por SSAI no podían admitir superposiciones clicables, banners complementarios o unidades de anuncios interactivas
  • No había capacidad para rastrear eventos de anuncios del lado del cliente (progreso por cuartiles, visibilidad, clics) requeridos por los compradores de anuncios premium
  • Las plataformas de TV conectada (Roku, Fire TV, Apple TV) esperaban CSAI para sus frameworks de anuncios nativos y requisitos de certificación
  • Los marcadores SCTE-35 en los manifiestos HLS/DASH debían ser analizados en el cliente, pero cada SDK de reproductor manejaba los eventos de cue de manera diferente
  • La gestión de pods de anuncios (llenar pausas publicitarias de múltiples ranuras con varios anuncios) requería orquestación del lado del cliente
  • Se necesitaban detección de bloqueadores de anuncios y lógica de respaldo para proteger los ingresos en plataformas web
  • La precarga de anuncios sin interrumpir el búfer de contenido requería una gestión cuidadosa del ciclo de vida del reproductor

Nuestra Solución

Construimos un framework CSAI multiplataforma con una capa unificada de orquestación de anuncios que analiza los marcadores SCTE-35 de los manifiestos HLS/DASH, se comunica con los servidores de anuncios VAST/VMAP y gestiona el ciclo de vida de la reproducción de anuncios en la web (Video.js/Shaka), iOS (AVPlayer), Android (ExoPlayer) y reproductores de TV conectada.

Arquitectura

  • Entrega de Contenido: Streams HLS/DASH con marcadores SCTE-35 a través de AWS MediaPackage + CloudFront
  • Servidor de Decisión de Anuncios: Google Ad Manager (GAM) / SpotX con soporte para VAST 4.2 y VMAP
  • Reproductor Web: Video.js con parser de cue SCTE-35 personalizado e integración con Google IMA SDK
  • Reproductor iOS: AVPlayer con listener AVDateRangeMetadataGroup y IMA iOS SDK
  • Reproductor Android: ExoPlayer con listener MetadataOutput y IMA Android SDK
  • TV Conectada: Reproductores nativos de plataforma (Roku RAF, Fire TV IMA, Apple TV AVKit) con adaptadores de framework de anuncios
  • Analíticas de Anuncios: Pipeline de eventos personalizado para seguimiento de impresión, cuartiles, finalización, clics y visibilidad
  • Respaldo: Entrega de anuncios internos/de la casa cuando no hay disponibilidad de anuncios o se detecta un bloqueador de anuncios

Análisis SCTE-35 del Lado del Cliente

Marcadores del Manifiesto HLS

Las señales SCTE-35 aparecen en los manifiestos HLS en dos formatos, ambos analizados por el cliente:

EXT-X-DATERANGE (HLS v7+)
  • El reproductor escucha las etiquetas #EXT-X-DATERANGE con atributos SCTE35-OUT y SCTE35-IN
  • Los atributos incluyen PLANNED-DURATION para la duración de la pausa publicitaria e ID para la correlación de eventos
  • Formato preferido para reproductores modernos (AVPlayer, ExoPlayer, Shaka)
EXT-X-CUE-OUT / EXT-X-CUE-IN (Heredado)
  • #EXT-X-CUE-OUT:DURATION= marca el inicio de la pausa publicitaria
  • #EXT-X-CUE-IN marca el regreso al contenido
  • Compatible con reproductores y codificadores más antiguos para compatibilidad con versiones anteriores

Marcadores del Manifiesto DASH

  • Las señales SCTE-35 aparecen como elementos en el MPD DASH con schemeIdUri="urn:scte:scte35:2013:xml"
  • Los elementos contienen presentationTime, duration y una carga útil binaria SCTE-35 codificada en base64
  • Shaka Player y ExoPlayer los analizan de forma nativa a través de sus API de listeners de eventos

Flujo de Procesamiento de Marcadores

  1. Detección — El listener de metadatos del reproductor detecta el evento de cue SCTE-35 durante el análisis del manifiesto
  2. Extracción — Duración de la pausa, ID del evento y tipo de segmentación extraídos del marcador
  3. Solicitud de Anuncios — Solicitud VAST/VMAP enviada al servidor de decisión de anuncios con parámetros de segmentación (ID de contenido, género, tipo de dispositivo, segmento de usuario, ubicación geográfica)
  4. Planificación del Pod — Respuesta de anuncios analizada para construir un pod de anuncios (lista ordenada de creatividades de anuncios que llenan la duración de la pausa)
  5. Precarga — Creatividades de anuncios precargadas durante la reproducción de contenido para eliminar la latencia al inicio de la pausa publicitaria
  6. Pausa y Cambio — La reproducción de contenido se pausa en el punto de cue, el reproductor cambia a la reproducción de anuncios
  7. Reproducción de Anuncios — Los anuncios se reproducen secuencialmente con seguimiento por cuartiles, visualización de banners complementarios y gestión de clics
  8. Reanudación — Después de la finalización del pod, la reproducción de contenido se reanuda desde el fotograma exacto después del punto de cue

Implementaciones Específicas de Plataforma

Web (Video.js + IMA SDK)

  • El plugin personalizado de Video.js intercepta los metadatos #EXT-X-DATERANGE a través de eventos de cambio de cue de textTrack
  • El Google IMA HTML5 SDK gestiona las solicitudes de anuncios VAST, la reproducción de anuncios y el renderizado de complementos
  • Superposición del contenedor de anuncios posicionada encima del elemento de video para soporte de clics y botones para omitir
  • Detección de bloqueadores de anuncios a través de una solicitud de "canary" — recurre a anuncios internos o reanudación de contenido al detectarse
  • Soporte de preroll, midroll y postroll a través de VMAP o programación manual de puntos de cue

iOS (AVPlayer + IMA SDK)

  • Se utilizan AVPlayerItem.navigationMarkerGroups y AVDateRangeMetadataGroup para detectar cues SCTE-35
  • El delegado AVPlayerItemMetadataOutput se activa en cada evento de cue con el tiempo y la carga útil analizados
  • El Google IMA iOS SDK gestiona la solicitud VAST y la reproducción de anuncios en una instancia AVPlayer separada
  • Picture-in-Picture (PiP) pausado durante las pausas publicitarias según la política de anuncios de la plataforma
  • Audio de fondo manejado — los anuncios no se reproducen en modo de fondo

Android (ExoPlayer + IMA SDK)

  • Player.Listener.onMetadata() con MetadataOutput captura eventos SCTE-35 de HLS/DASH
  • Google IMA Android SDK integrado a través de la extensión ImaAdsLoader de ExoPlayer
  • La reproducción de anuncios utiliza una MediaSource separada para evitar contaminar el búfer de contenido
  • Gestiona el ciclo de vida de la Activity — el estado del anuncio se conserva a través de cambios de configuración y puesta en segundo plano
  • Android TV y móvil comparten la misma lógica de anuncios con adaptaciones a nivel de UI

Plataformas de TV Conectada

Roku (RAF — Roku Ad Framework)
  • La biblioteca nativa RAF de Roku analiza directamente los marcadores SCTE-35 de los manifiestos HLS
  • RAF.setAdUrl() configurado con endpoint VAST; RAF gestiona la solicitud de anuncios, la construcción del pod y la reproducción
  • Soporte de anuncios complementarios a través de los callbacks renderStitchedAd y renderTrackingEvent de RAF
  • La certificación de Roku requiere el uso de RAF — los reproductores de anuncios personalizados son rechazados durante la revisión
Fire TV (IMA SDK)
  • Utiliza la implementación de Android ExoPlayer + IMA SDK adaptada para la UI Leanback de Fire TV
  • Navegación con D-pad para el botón de omitir y el clic en "Más información" en las superposiciones de anuncios
  • Se utiliza el Fire TV Ad ID para la segmentación de anuncios en las solicitudes VAST
Apple TV (AVKit + Personalizado)
  • AVPlayerViewController con interstitialTimeRanges para indicadores de UI de pausa publicitaria nativa
  • Cues SCTE-35 analizados a través de AVPlayerItemMetadataCollector
  • Reproducción de anuncios gestionada en una instancia AVQueuePlayer separada para una clara separación de contenido/anuncios
  • Manejador de clics del control remoto de tvOS para elementos interactivos de anuncios

Gestión de Pods de Anuncios

  • Relleno de Pods — Múltiples anuncios VAST ensamblados para llenar la duración de la pausa señalada
  • Cascada — Si el servidor de anuncios principal no devuelve relleno, se consultan secuencialmente fuentes de demanda secundarias/terciarias
  • Ajuste de Duración — El constructor de pods selecciona combinaciones de anuncios que encajen dentro de la duración de la pausa (tolerancia de ±0.5s)
  • Deduplicación — La misma creatividad de anuncio no se muestra dos veces en un solo pod
  • Limitación de Frecuencia — Límites por usuario y por sesión aplicados en el lado del cliente para evitar la fatiga publicitaria
  • Bumpering — Creatividades de "bumper" cortas ("Volveremos enseguida" / "Bienvenido de nuevo") envuelven los pods de anuncios

Seguimiento de Eventos de Anuncios y Analíticas

  • Eventos VAST Estándar — impression, start, firstQuartile, midpoint, thirdQuartile, complete, skip, clickThrough
  • Visibilidad — Píxeles de visibilidad MOAT/IAS disparados basándose en la visibilidad del viewport del anuncio y umbrales de duración
  • Eventos Personalizados — Eventos a nivel de aplicación (inicio/fin de pausa publicitaria, tasa de relleno de pod, tiempo de precarga, respaldo activado)
  • Pipeline de Servidor — El cliente dispara eventos a un colector de eventos ligero, que los distribuye a GAM, MOAT y el almacén de analíticas interno
  • Reconciliación — Reconciliación de registros del lado del servidor con eventos del lado del cliente para detección de discrepancias

Manejo de Bloqueadores de Anuncios (Web)

  • Detección — Solicitud VAST "canary" a un dominio de anuncios conocido; el tiempo de espera o el bloqueo indican un bloqueador de anuncios
  • Estrategia de Respaldo — Servir anuncios internos o tráilers promocionales desde el dominio CDN de primera parte
  • Restricción de Contenido — Barrera suave opcional: solicitar al usuario que incluya el sitio en la lista blanca antes de que se reproduzca el contenido
  • Analíticas — Tasa de detección de bloqueadores de anuncios rastreada por navegador, geografía y página

Características Clave

  1. CSAI Multiplataforma — Inserción unificada de anuncios en web, iOS, Android, Roku, Fire TV y Apple TV
  2. Análisis SCTE-35 del Cliente — Análisis de HLS EXT-X-DATERANGE, CUE-OUT/IN y DASH EventStream
  3. Anuncios Interactivos — Superposiciones clicables, banners complementarios y botones para omitir en todas las plataformas
  4. Orquestación de Pods de Anuncios — Relleno de pausas de múltiples anuncios con cascada, ajuste de duración y deduplicación
  5. Precarga — Creatividades de anuncios precargadas durante la reproducción de contenido para transiciones de anuncios sin latencia
  6. Seguimiento de Visibilidad — Integración MOAT/IAS para los requisitos de visibilidad de los compradores de anuncios premium
  7. Cumplimiento con TV Conectada — Integraciones de Roku RAF, Fire TV IMA y Apple TV AVKit que cumplen los requisitos de certificación
  8. Resiliencia a Bloqueadores de Anuncios — Detección y respaldo a anuncios internos de primera parte en la web

Resultados

Ingresos Interactivos: CSAI habilitó anuncios clicables, desbloqueando CPMs 25% más altos en comparación con el inventario solo de SSAI
Tasa de Relleno: La demanda en cascada con 3 fuentes de anuncios logró una tasa de relleno de pods del 92% en todas las plataformas
Experiencia del Espectador: La precarga de anuncios redujo la latencia de inicio de la pausa publicitaria a menos de 200ms
Cobertura de Plataformas: CSAI unificado implementado en 6 plataformas con un núcleo de orquestación de anuncios compartido
Cumplimiento: Aprobó la certificación del framework de anuncios de Roku, Fire TV y Apple TV en la primera presentación
Visibilidad: Tasa de visibilidad medida del 85%+, cumpliendo los umbrales de los anunciantes premium

Stack Tecnológico

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

caseStudyDetail.more Casos de Estudio

Explore más de nuestras implementaciones técnicas

Video Encoding

Tubería de Señalización de Marcadores de Anuncios SCTE-35 e Inserción de Trailers Multimedia

Una empresa de medios de streaming necesitaba una tubería robusta y automatizada para inyectar marcadores de anuncios SCTE-35 en transmisiones en vivo y VOD, junto con la capacidad de insertar trailers promocionales (pre-roll, mid-roll y post-roll) en posiciones programadas con precisión, lo que permite la monetización en canales FAST, eventos en vivo y bibliotecas de contenido bajo demanda.

Leer Caso de Estudio
Video Encoding

AWS Media Services para Streaming de Canales FAST a través de SRT

Una empresa de medios necesitaba establecer transmisiones de contribución confiables y de baja latencia para sus canales FAST utilizando el protocolo Secure Reliable Transport (SRT) — lo que permitía la ingesta de contenido de alta calidad desde estudios remotos, sistemas de reproducción en la nube y socios de sindicación a través de conexiones a internet impredecibles.

Leer Caso de Estudio
Video Encoding

AWS Media Services para la transmisión de canales FAST a través de HLS

Una empresa de medios necesitaba lanzar canales de Televisión de Streaming Gratuito con Publicidad (FAST) — transmisiones lineales 24/7 de contenido de video curado entregado a través de HLS a televisores inteligentes, decodificadores y reproductores web/móviles, monetizados mediante la inserción programática de anuncios.

Leer Caso de Estudio

Preguntas Frecuentes

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.

¿Listo para Transformar su Negocio?

Hablemos sobre cómo podemos aplicar soluciones similares a sus desafíos.

ContáctenoscaseStudyDetail.viewAllCaseStudies