Para una transmisión lineal o un feed en vivo, tu lista de reproducción debe incluir puntos "CUE-OUT" y "CUE-IN" que representen los puntos de empalme de la inserción de anuncios. Por ejemplo:
#EXT-X-CUE-OUT:DURATION=<time>
#EXT-X-CUE-IN
La etiqueta EXT-X-CUE-OUT
representa el punto de inicio del empalme, mientras que EXT-X-CUE-IN
representa el punto de finalización del empalme. EXT-X-CUE-OUT
debe terminar con una etiqueta EXT-X-CUE-IN
que indique el final de la pausa publicitaria. El servidor de anuncios reemplaza toda la sección que se encuentra entre EXT-X-CUE-OUT
y EXT-X-CUE-IN
con contenido de anuncios de video.
La etiqueta DURATION=<time>
es obligatoria y corresponde a la duración aproximada en segundos o el punto flotante de la pausa publicitaria (en otras palabras, la diferencia de tiempo entre EXT-X-CUE-IN
y EXT-X-CUE-OUT
). Además, es posible reemplazar EXT-X-CUE-OUT:<time>
por #EXT-X-CUE-OUT:DURATION=<time>
.
Punto de inicio y punto de finalización del empalme
#EXTINF:10,
http://media.example.com/fileSequence7796.ts
#EXTINF:6,
http://media.example.com/fileSequence7797.ts
#EXT-X-CUE-OUT:DURATION=30
#EXTINF:4,
http://media.example.com/fileSequence7798.ts
#EXTINF:10,
http://media.example.com/fileSequence7799.ts
#EXTINF:10,
http://media.example.com/fileSequence7800.ts
#EXTINF:6,
http://media.example.com/fileSequence7801.ts
#EXT-X-CUE-IN
#EXTINF:4,
http://media.example.com/fileSequence7802.ts
#EXTINF:10,
http://media.example.com/fileSequence7803.ts
#EXTINF:3,
http://media.example.com/fileSequence7804.ts
El servidor de anuncios de DAI reemplaza el contenido que se encuentra entre IN
y OUT
con 30 segundos de contenido de anuncios de video.
#EXTINF:10,
http://media.example.com/fileSequence7796.ts
#EXTINF:6,
http://media.example.com/fileSequence7797.ts
#EXT-X-CUE-OUT:DURATION=30
#EXTINF:10,
http://ads.example.com/fileSequence0001.ts
#EXTINF:10,
http://ads.example.com/fileSequence0002.ts
#EXTINF:10,
http://ads.example.com/fileSequence0003.ts
#EXT-X-CUE-IN
#EXTINF:4,
http://media.example.com/fileSequence7802.ts
#EXTINF:10,
http://media.example.com/fileSequence7803.ts
#EXTINF:3,
http://media.example.com/fileSequence7804.ts
Cómo acortar una pausa publicitaria
Para finalizar una pausa publicitaria antes de tiempo, el codificador debe enviar una función "CUE-IN" a la transmisión para indicar que las transmisiones de DAI deben finalizar inmediatamente la pausa publicitaria y comenzar a mostrar el contenido sin procesar otra vez.
Tenga en cuenta que, si una pausa publicitaria finaliza antes de tiempo, el supervisor de actividad de transmisión seguirá mostrando los valores originales de "Duración de la pausa publicitaria", "Duración rellenada" y "Duración publicada".
Cómo crear una pausa publicitaria adicional
Si bien no es posible extender una pausa publicitaria mientras se está reproduciendo para los usuarios, el codificador podría enviar una función "CUE-OUT" adicional a la transmisión inmediatamente después de la función "CUE-IN" anterior de la pausa publicitaria para crear otra pausa con anuncios nuevos.
Rellena el espacio restante de la pausa publicitaria
Si no hay anuncios para mostrar o espacio adicional para rellenar, el usuario ve contenido de lista o el contenido de cortinilla de video, según la configuración de pausa publicitaria elegida cuando se configuró la transmisión en vivo en Ad Manager.
Marcadores de anuncios admitidos para transmisiones en vivo
Los siguientes marcadores son compatibles con la inserción de anuncios en el contenido de transmisión en vivo:
Estos tipos de lenguaje de marcado se generan mediante varias soluciones de codificación, como AWS Elemental.
El formato es el siguiente:
CUE-OUT
#EXT-X-CUE-OUT:DURATION=10.50,K=V
#EXT-X-CUE-OUT:10.50,K=V
Actualmente, Ad Manager solo admite que se pase BREAKID
como el par clave-valor de CUE-OUT.
CUE-IN
#EXT-X-CUE-IN
CUE-OUT
#EXT-X-CUE:ID=31264,TYPE="SpliceOut",DURATION=30.00,TIME=77892728.264567
CUE-IN
Estos lenguajes de marcado no tienen un indicador CUE-IN
explícito. En cambio, marcan cada segmento después de CUE-OUT
con lo siguiente:
#EXT-X-CUE:ID=31264,TYPE="SpliceOut",DURATION=30.00,TIME=77892728.264567,ELAPSED=5.00
Esto indica la posición de un segmento dentro de una pausa publicitaria. Un marcador CUE-IN
se calcula con el valor del atributo ELAPSED
junto con la duración del segmento para indicar el último segmento de la pausa.
CUE-OUT
#EXT-X-DATERANGE:ID="splice-80f",PLANNED-DURATION=90.5,START-DATE="2017-03-24T13:46:04Z",SCTE35-OUT=0xFC301B00000000000000FFF00A05000001027FDF000000
El valor del atributo PLANNED-DURATION
se usa como la duración esperada de la pausa publicitaria.
CUE-IN
#EXT-X-DATERANGE:ID="splice-7ef",START-DATE="2017-03-24T13:38:04Z",SCTE35-IN=0xFC301B00000000000000FFF00A05000000FF7F5F0000000000007B7BA160
Los indicadores de entrada y salida de SCTE35 Splice se pueden especificar mediante señales de tiempo en etiquetas HLS. La información de SCTE está disponible en formato binario y se debe decodificar para determinar el tipo de señal que se envía.
CUE-OUT
#EXT-OATCLS-SCTE35:/DAlAAAAAAAAAP/wFAUAAA+if+/+INAJ0P4AKTLgAAAAAAAA9UTkTA==
CUE-IN
#EXT-OATCLS-SCTE35:/DAgAAAAAAAAAP/wDwUAAAPvf0//ahTGjwAAAAAAALda4HI=
Los datos binarios de SCTE-35 (codificados en base64) deben decodificarse y analizarse para determinar si contienen CUE-OUT/CUE-IN válidos, junto con cualquier información de segmentación de pausa.
Por ejemplo, los siguientes datos binarios contienen un indicador CUE-OUT válido:
CUE-OUT
/DAsAAAAAyiYAP/wBQb/PVbrDQAWAhRDVUVJB48zWH//AAEuGvsAACIAAdRJqiI=
Una vez que se decodifique, el mensaje contendrá los siguientes campos:
splice_command_type
con un valor establecido en 6 indica que se trata de una señal de tiempo.segmentation_type_id
indica el tipo de señal de tiempo.
El siguiente valor de segmentation_type_id
se reconoce como una señal de tiempo de CUE-OUT válida:
34
: Inicio de la pausa
El siguiente valor de segmentation_type_id
(cuando splice_command_type = 6
) se reconoce como una señal de tiempo de CUE-IN válida:
35
: Fin de la pausa
Por ejemplo, los siguientes datos binarios contienen un indicador CUE-IN válido:
CUE-IN
/DAnAAAAAyiYAP/wBQb/PX1ezQARAg9DVUVJB48zWH+/AAAjAAGwzKWt
Los datos binarios de SCTE-35 (codificados en base64) deben decodificarse y analizarse para determinar si contienen CUE-OUT/CUE-IN válidos, junto con cualquier información de segmentación de pausa.
Por ejemplo, los siguientes datos binarios contienen un indicador CUE-OUT válido:
CUE-OUT
/DAxAAAAAAAAAP/wBQb//ciI8QAbAhlDVUVJXQk9EX/fAAEuK3sBBUMxNDY0MAEBpOBiAg==
Una vez que se decodifique, el mensaje contendrá los siguientes campos:
splice_command_type
con un valor establecido en 6 indica que se trata de una señal de tiempo.segmentation_type_id
indica el tipo de señal de tiempo.
El siguiente valor de segmentation_type_id
se reconoce como una señal de tiempo de CUE-OUT válida:
48
: Provider Advertisement Start
El siguiente valor de segmentation_type_id
(cuando splice_command_type = 6
) se reconoce como una señal de tiempo de CUE-IN válida:
49
: Provider Advertisement End
Por ejemplo, los siguientes datos binarios contienen un indicador CUE-IN válido:
CUE-IN
/DAsAAAAAAAAAP/wBQb//e78sQAWAhRDVUVJXQk9EX+fAQVDMTQ2NDEBAaKNu/4=
Los datos binarios de SCTE-35 (codificados en base64) deben decodificarse y analizarse para determinar si contienen CUE-OUT/CUE-IN válidos, junto con cualquier información de segmentación de pausa.
Por ejemplo, los siguientes datos binarios contienen un indicador CUE-OUT válido:
CUE-OUT
/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==
Una vez que se decodifique, el mensaje contendrá los siguientes campos:
splice_command_type
con un valor establecido en 6 indica que se trata de una señal de tiempo.segmentation_type_id
indica el tipo de señal de tiempo.
El siguiente valor de segmentation_type_id
se reconoce como una señal de tiempo de CUE-OUT válida:
52
: Provider Placement Opportunity Start
El siguiente valor de segmentation_type_id
(cuando splice_command_type = 6
) se reconoce como una señal de tiempo de CUE-IN válida:
53
: Provider Placement Opportunity End
Por ejemplo, los siguientes datos binarios contienen un indicador CUE-IN válido:
CUE-IN
/DAvAAAAAAAA///wBQb+cuN0EAAZAhdDVUVJSAAAjn+PCAgAAAAALKChijUCALdPwUA=
Macros para el lenguaje de marcado SCTE-35
Si el feed incluye el lenguaje de marcado EXT-OATCLS-SCTE35
o EXT-X-DATERANGE
, los metadatos se extraen automáticamente y se ponen a disposición a través de pares clave-valor personalizados. Debes configurar estos pares clave-valor personalizados y, luego, insertarlos como macros cuando generes etiquetas de anuncios.
Cuando configures los nuevos pares clave-valor personalizados de los campos SCTE-35, usa una clave personalizada (por ejemplo, "scte35") y establece el valor en las macros que correspondan al tipo de campo disponible en el feed:
Macro | Descripción |
---|---|
%%SPLICE_INSERT_EVENT_ID%% |
Los números enteros sin firma en el mensaje SCTE35 se convierten en cadenas como números decimales. |
%%SPLICE_INSERT_UPID%% |
|
%%TIME_SIGNAL_EVENT_ID%% |
|
%%TIME_SIGNAL_UPID%% |
Renderizado como hexadecimal en minúsculas, sin prefijo 0x . |
%%TIME_SIGNAL_UPID_RAW%% |
Inserta bytes sin procesar del mensaje SCTE sin conversión hexadecimal (la cadena inicial debe ser una cadena codificada en UTF-8 válida). |
%%AFMM_CBC%% |
Extrae el código de pausa comercial de la información del empalme (este es un requisito de la especificación AF2M de Francia). |