Implementación de un retorno de pausa publicitaria anticipado

Para la inserción de anuncios en directo, es posible que tenga que salir de una pausa publicitaria antes de que todos los anuncios de la pausa se reproduzcan hasta el final.

NOTA

Debe suscribirse a los marcadores de anuncios de salida/entrada de empalme ( #EXT-X-CUE-OUT, #EXT-X-CUE-IN y #EXT-X-CUE).

Estos son algunos requisitos a tener en cuenta:

  • Analice marcadores como EXT-X-CUE-IN (o etiqueta de marcador equivalente) que aparecen en los flujos lineales o FER.

    Registre los marcadores como el marcador del punto de retorno inicial de la publicidad. Reproducir solo adBreaks hasta esta posición del marcador durante la reproducción, que anula la duración del adBreak marcado con el marcador EXE-X-CUE-OUT inicial.

  • Si existen dos marcadores EXT-X-CUE-IN para el mismo marcador EXT-X-CUE-OUT, el primer marcador EXT-X-CUE-IN que aparece es el que cuenta.

  • Si el marcador EXE-X-CUE-IN aparece en la línea de tiempo sin un marcador EXT-X-CUE-OUT inicial, se descarta el marcador EXE-X-CUE-IN.

    En una emisión en directo, si el marcador EXT-X-CUE-OUT inicial acaba de salir de la ventana, el TVSDK no responderá a él.

  • Cuando hay un retorno anticipado desde una pausa publicitaria, el adBreak se reproduce hasta que el cabezal de reproducción vuelve a la posición original cuando se suponía que la pausa publicitaria debía finalizar y reanuda la reproducción del contenido principal desde esa posición.

SpliceOut y SpliceIn

SpliceOut Los SpliceIn marcadores y marcan el inicio y el final de la pausa publicitaria. La duración del tipo SpliceOut del marcador EXE-X-CUE puede ser cero y el tipo SpliceIn del marcador EXE-X-CUE marca el final de la pausa publicitaria. Aparecen en una etiqueta y difieren por tipo.

Un marcador con diferentes tipos

Por ejemplo, este es un marcador con diferentes tipos:

#EXTM3U#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:44
  
#EXTINF:9.9,
https://server-host/path/file44.ts
#EXTINF:4.2,
https://server-host/path/file45.ts
  
#EXT-X-CUE:TYPE="SpliceOut",ID="1",DURATION="0",TIME="266.198",PROGRAM-ID="138",AVAIL-NUM="1",AVAILS-EXPECTED="10"
#EXTINF:5.8,
https://server-host/path/file46.ts
#EXTINF:9.9,
https://server-host/path/file47.ts
...
#EXTINF:9.9,
https://server-host/path/file56.ts
#EXTINF:4.2,
https://server-host/path/file57.ts
#EXT-X-CUE:TYPE="SpliceIn",ID="1",DURATION="0",TIME="266.198",PROGRAM-ID="138"
#EXTINF:9.9,
https://server-host/path/file58.ts

En el ejemplo de un marcador con diferentes tipos, si la duración del tipo SpliceOut es cero, SpliceOut y SpliceIn deben trabajar juntos para cada pausa publicitaria. Actualmente, un marcador SpliceOut con una duración distinta de cero y no necesita emparejar marcadores SpliceIn es más típico.

Dos marcadores independientes

El escenario más típico es un marcador SpliceOut con una duración distinta de cero y que no necesita los marcadores SpliceIn de emparejamiento. En este caso, un marcador SpliceIn de emparejamiento marca el final de la pausa publicitaria durante la reproducción de la pausa publicitaria, pero la pausa publicitaria se corta en la posición del marcador SpliceIn y el contenido principal comienza a reproducirse en esta posición.

Por ejemplo, estos son dos marcadores independientes:

#EXT-X-CUE-OUT:ID=105,DURATION=30.0,TIME=1081.08
#EXTINF:6.006000,no-desc
/live/hls/nbc-fer/QualityLevels(2200000)/Fragments(video=14332589090425811,format=m3u8-aapl-v4)
#EXTINF:6.006000,no-desc
/live/hls/nbc-fer/QualityLevels(2200000)/Fragments(video=14332589150485811,format=m3u8-aapl-v4)
#EXTINF:6.006000,no-desc
/live/hls/nbc-fer/QualityLevels(2200000)/Fragments(video=14332589210545811,format=m3u8-aapl-v4)
#EXTINF:6.006000,no-desc
/live/hls/nbc-fer/QualityLevels(2200000)/Fragments(video=14332589270605811,format=m3u8-aapl-v4)
#EXT-X-CUE-IN:ID=105,TIME=1105.104
#EXTINF:6.006000,no-desc
/live/hls/nbc-fer/QualityLevels(2200000)/Fragments(video=14332589330665811,format=m3u8-aapl-v4)

En esta página