HTTP Live Streaming (HLS) es un protocolo de transmisión de video en vivo con tasa de bits adaptable que permite transmitir contenido de video de alta calidad. La DAI para Ad Manager es compatible con la versión 3 de HLS. En esta guía de integración, se detallan los requisitos y las recomendaciones para usar HLS.
Consultar qué funciones son compatibles con las transmisiones en vivo y los videos on demandFunción | Transmisión lineal en vivo | Video on demand (VOD) |
---|---|---|
EXTINF |
|
|
EXT-X-DATERANGE > SCTE35-IN |
— | |
EXT-X-DATERANGE > SCTE35-OUT |
— | |
EXT-X-DISCONTINUITY |
||
EXT-X-DISCONTINUITY-SEQUENCE |
— | |
EXT-X-ENDLIST |
* | |
EXT-X-I-FRAME-STREAM-INF |
||
EXT-X-I-FRAMES-ONLY |
||
EXT-X-INDEPENDENT-SEGMENTS |
||
EXT-X-KEY |
||
EXT-X-MEDIA (grupos de representación) |
||
EXT-X-MEDIA-SEQUENCE |
— | |
EXT-X-PLAYLIST-TYPE |
||
EXT-X-PROGRAM-DATE-TIME |
||
EXT-X-STREAM-INF > AUDIO |
||
EXT-X-STREAM-INF > AVERAGE-BANDWIDTH |
||
EXT-X-STREAM-INF > BANDWIDTH |
||
EXT-X-STREAM-INF > CLOSED CAPTIONS |
||
EXT-X-STREAM-INF > CODECS |
||
EXT-X-STREAM-INF > FRAMERATE |
||
EXT-X-STREAM-INF > RESOLUTION |
||
EXT-X-STREAM-INF > SUBTITLES |
||
EXT-X-STREAM-INF > VIDEO |
||
EXT-X-TARGETDURATION |
||
EXT-X-VERSION |
* Solo se admite en transmisiones en vivo para listas de reproducción de tipo EVENT.
Avanza a una sección específica
- Listas de reproducción y grupos de representación
- Códecs y resolución
- Duración del segmento y Alineación de marca de tiempo
- Discontinuidad
- Encriptación de medios
Listas de reproducción y grupos de representación
Publique listas de reproducción mediante la codificación de contenido en GZIP (recomendado). Las variantes en segmentos y listas de reproducción principales pueden usar URL absolutas o URL relativas.
Todos los elementos del anuncio se transcodifican para incluir listas y listas de reproducción de I-FRAME. La DAI de Ad Manager no genera listas de reproducción de I-FRAME a partir del contenido o genera grupos de dibujo nuevos en función de combinaciones de audio o video.
- Para transmisión lineal en vivo: Si es necesario, el codificador o empaquetador debe generar y condicionar las listas de reproducción de I-FRAME. Los grupos de representación se publican a medida que los genera el codificador en vivo.
- Para video on demand (VOD): Si es necesario, se deben suministrar las listas de reproducción de I-FRAME en el manifiesto principal durante la transferencia. Ad Manager solo generará un error si no se puede analizar el archivo de lista de reproducción de I-FRAME proporcionado ni acceder a él. Los grupos de representación se publican a medida que se incluyen en el manifiesto principal.
Códecs y resolución
Las listas de reproducción principales de HLS para los recursos de transmisión en vivo y video on demand (VOD) deben incluir los atributos opcionales CODECS
y RESOLUTION
. Estos atributos se usan para buscar anuncios adecuados que coincidan con estos ajustes de codificación. Si estos valores no se proporcionan, los anuncios se vinculan solo en función del ancho de banda y pueden generar una diferencia de resolución y códecs entre el anuncio y el contenido. Esto puede provocar una experiencia del usuario poco satisfactoria y problemas de reproducción en diferentes dispositivos.
El atributo CODECS
debe incluir tanto los códecs de audio como los de video. El codificador puede agregar variantes a tu URL de lista de reproducción principal en cualquier momento y también puede quitarlas.
Códecs de audio
La DAI admite el códec de audio AAC. También es compatible con los códecs AC-3 y E-AC-3.
CODECS
y RESOLUTION
.Asegúrate de que tu codificador esté configurado para mantener URLs coherentes para cada URL de la variante a fin de evitar que los usuarios tengan problemas de reproducción.
Ejemplo
Lista principal con CODECS y RESOLUTION
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=694272,CODECS="avc1.77.41,mp4a.40.2",RESOLUTION=768x432
chunklist_b694272.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=202752,CODECS="avc1.66.31,mp4a.40.2",RESOLUTION=480x270
Chunklist_b202752.m3u8
Duración del segmento
Las listas de reproducción de medios de HLS deben declarar las duraciones de los segmentos de medios con números decimales de punto flotante. La duración debe contar con precisión de punto flotante para ayudar a determinar el momento exacto en el que comenzará y terminará una pausa publicitaria. Mientras menos precisos sean los valores de duración, menor será la precisión con la que el sistema podrá determinar cuándo ocurrirán las pausas publicitarias en la transmisión resultante.
Ejemplo
Lista de reproducción de contenido multimedia con #EXTINF
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:26
#EXTINF:9.901,
http://media.example.com/wifi/segment26.ts
#EXTINF:9.901,
http://media.example.com/wifi/segment27.ts
#EXTINF:9.501,
http://media.example.com/wifi/segment28.ts
Alineación de marca de tiempo
Las marcas de Presentation Timestamp (PTS) en segmentos de listas de reproducción de medios de variantes deben estar alineadas. P-frame y B-frame hacen referencia a otros marcos para decodificar un marco. El códec H.264 también hace referencia a marcos que no son adyacentes para una mejor compresión. Debido a que estos marcos dependen de otros marcos para la decodificación y la presentación, Decode Timestamp (DTS) proporciona secuencias que se usan para decodificar los marcos, mientras que PTS proporciona secuencias que se usan para presentar los marcos. La alineación de PTS es importante cuando se adapta a diferentes tasas de bits durante la reproducción de un recurso. La inserción de anuncios usa PTS para encontrar la posición de inserción de anuncios.
Discontinuidad
Cualquier EXT-X-DISCONTINUITY
en la lista de reproducción de medios debe tener EXT-X-DISCONTINUITY-SEQUENCE
. La etiqueta EXT‑X‑DISCONTINUITY‑SEQUENCE
permite la sincronización entre diferentes representaciones de la misma transmisión de variantes o de transmisiones de variantes distintas.
Encriptación de medios
Si quieres encriptar el contenido multimedia, debes hacerlo con lo siguiente:
- AES-128 (encripta todo el segmento)
- SAMPLE-AES (encripta contenido multimedia individual, como audio o video)
- SAMPLE-AES-CTR
La DAI de Ad Manager admite tecnología DRM para transmisiones HLS que usan FairPlay y otras DRM con CMAF o MP4 fragmentado.
Ejemplo
Lista de reproducción de medios con #EXT-X-KEY
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:26
#EXT-X-KEY:METHOD=AES-128,URI="https://media.example.com/asset/key1.php?id=<signature>",IV=<initialization vector>
#EXTINF:9.901,
http://media.example.com/wifi/segment26.ts
#EXTINF:9.901,
http://media.example.com/wifi/segment27.ts
#EXT-X-KEY:METHOD=AES-128,URI="https://media.example.com/asset/key2.php?id=<signature>"
#EXTINF:9.501,
http://media.example.com/wifi/segment28.ts