Transcodificación del lado del servidor (SST)

Anterior Siguiente

Por lo general, la codificación de Triton para la red de distribución de contenido (CDN) de Triton Digital es proporcionada por la aplicación Station Manager del lado de la estación, instalada en una o más PC o dispositivos Zipstream2. La transcodificación desde el servidor (SST) de Triton Digital es una solución que ofrece formas adicionales de introducir un stream de audio y metadatos en la red de distribución de contenidos (CDN) de Triton Digital.

El servicio solo funciona para transmisiones en vivo. La transcodificación del lado del servidor está disponible como un complemento de nuestro servicio de transmisión en vivo. Hable con su administrador de Éxito del Cliente de Triton Digital para determinar si la solución se adapta a sus necesidades.

Al usar el mecanismo de transcodificación desde el servidor, los streams pueden introducirse mediante:

  • HLS pull de streams de audio o video con metadatos de anuncios en la lista de reproducción;

  • HLS pull a través de la URL HLS de Triton;

  • RTMP pull;

  • Fuentes Shoutcast o Icecast (con metadatos);

  • Los metadatos son compatibles con HLS, Icecast, Shoutcast y RTMP. Hay otros formatos que pueden ser compatibles pero requerirán un desarrollo adicional (por lo general, mínimo).

La solución de transcodificación del lado del servidor es un componente de MediaRelay.

Referencias

Fuentes 

Extracción HLS

La transcodificación desde el servidor sigue la especificación HLS. Para poder introducir un stream HLS, se debe especificar una lista de reproducción principal.  Consulte los ejemplos de lista de reproducción HLS más abajo.

Códecs compatibles

La transcodificación del lado del servidor no admite la funcionalidad de streaming adaptable.

Consulte el artículo de la base de conocimiento del Centro de ayuda "Cómo elegir la configuración de la tasa de bits de audio" para obtener una lista de los códecs compatibles.

Todos los códecs de entrada de audio en el artículo anterior también son compatibles con la transcodificación del lado del servidor (excepto los de tasa de bits adaptativa). Como publisher, puede transcodificar a los códigos de salida de audio compatibles o simplemente copiar el códec de entrada tal cual aparece.

Metadatos y puntos de referencia

La información que se encuentra a continuación describe los metadatos de la lista de reproducción para la  inyección de anuncios y contenido.

Metadatos de la lista de reproducción

Inyección de anuncios

El método HLS Pull admite parámetros de inyección de anuncios dentro de la lista de reproducción m3u8.

Marcadores de anuncios compatibles:

Etiqueta

Descripción

EXT-X-CUE-OUT

Inicio del reemplazo de anuncios. Inserte un punto de referencia de corte publicitario.

EXT-X-CUE-OUT-CONT

Continuación del reemplazo de anuncios. Inserte un punto de referencia de corte publicitario.

EXT-X-CUE-IN

Finalización del reemplazo de anuncios. Inserte un punto de referencia de fin de corte publicitario.

EXTINF

Identifique un segmento según las especificaciones de HLS. Los metadatos adicionales pueden transmitirse como parámetros.

Lista de reproducción de ejemplo:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-PROGRAM-DATE-TIME:2020-02-20T18:24:11.000+0000
#EXTINF:9.98458
1.aac
#EXTINF:9.98458
2.aac
#EXTINF:9.98458
3.aac
#EXTINF:9.98458
4.aac
#EXT-X-CUE-OUT:30.00
#EXTINF:6.000, Advertisement
blank.aac
#EXT-X-CUE-OUT-CONT:ElapsedTime=6.00,Duration=30.00
#EXTINF:6.000, Advertisement
blank.aac
#EXT-X-CUE-OUT-CONT:ElapsedTime=12.00,Duration=30.00
#EXTINF:6.000, Advertisement
blank.aac
#EXT-X-CUE-OUT-CONT:ElapsedTime=18.00,Duration=30.00
#EXTINF:6.000, Advertisement
blank.aac
#EXT-X-CUE-OUT-CONT:ElapsedTime=24.00,Duration=30.00
#EXTINF:6.000, Advertisement
blank.aac
#EXT-X-CUE-IN
#EXTINF:9.98458
5.aac
#EXTINF:9.98458
6.aac
Metadatos de contenido

El método de extracción HLS es compatible con los parámetros de metadatos de contenido dentro de la lista de reproducción m3u8.

EXTINF RAW con Artist y Title:

#EXTINF:200,Madonna - Vogue

EXTINF with STWCUE:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:35
#EXTINF:10.008778,{"name":"track","properties":{"track_id":"SEAMA8777131","track_isrc":"SEAMA8777131","cue_title":"It Must Have Been Love","track_artist_name":"Roxette"}}
/stream/test-mount/media/2286/9/35.aac
#EXTINF:10.008778,{"name":"track","properties":{"track_id":"SEAMA8777131","track_isrc":"SEAMA8777131","cue_title":"It Must Have Been Love","track_artist_name":"Roxette"}}
/stream/test-mount/media/2286/10/36.aac
#EXTINF:9.985556,{"name":"track","properties":{"track_id":"SEAMA8777131","track_isrc":"SEAMA8777131","cue_title":"It Must Have Been Love","track_artist_name":"Roxette"}}
/stream/test-mount/media/2286/11/37.aac
#EXTINF:10.008778,{"name":"track","properties":{"track_id":"SEAMA8777131","track_isrc":"SEAMA8777131","cue_title":"It Must Have Been Love","track_artist_name":"Roxette"}}
/stream/test-mount/media/2286/12/38.aac
#EXTINF:10.008778,{"name":"track","properties":{"track_id":"SEAMA8777131","track_isrc":"SEAMA8777131","cue_title":"It Must Have Been Love","track_artist_name":"Roxette"}}
/stream/test-mount/media/2286/13/39.aac
Metadatos de etiqueta ID3v2

Los metadatos de contenido ID3v2 In-Stream son compatibles con la introducción HLS. Consulte la especificación ID3v2 para obtener más información.

Cifrado compatible

La transcodificación desde el servidor HLS de Triton es compatible con las siguientes funciones según la especificación HLS:

  • Cifrado AES-128

Extracción RTMP

Transcodificación desde el servidor desde un servidor RTMP/FLV. La arquitectura de Triton puede extraer un stream desde un servidor RTMP. Para hacerlo, necesitamos un URL de streaming HTTP para introducir en la plataforma de Triton.

Metadatos y puntos de referencia

Metadatos de contenido

Paquetes FLV RTMP encapsulados con objetos opcionales onMetadata.

Los puntos de referencia FLV onMetadata se convierten al formato FLV onCuepoint (STWcue).

Se convierten los siguientes objetos onMetadata:

onMetadata

STWCue

album

track_album_name

género

track_genre

título

cue_title

artista

track_artist_name

publisher

track_album_publisher

url

track_product_url

duration

cue_time_duration

Marcadores de anuncios

Los cortes publicitarios se señalan mediante la cadena Advert: en el objeto title .

title = "Advert: This is my ad"

Para finalizar una pausa, envíe un nuevo título en el punto de referencia FLV onMetadata que no contenga Anuncio:

title = "Morning News"

Introducir metadatos compatibles

Prioridad de la introducción de metadatos

El orden de prioridad de los metadatos aparece a continuación, ordenado de mayor a menor:

Metadatos 

Descripción

STWcue

Formato interno de Triton Digital.

FLV

Formato clásico FLV (Adobe) onMetadata.

STCE35

HLS SCTE35.

ID3V2

Cualquier contenido, aac, mp3, etc. basado en un archivo o segmento. Puede tener un ID3v2 incorporado al principio del archivo.

EXTINF

M3U (formato definido anterior a HLS, creado por Winamp/Nullsoft aproximadamente en el año 1998). Es muy básico ("Time In Seconds, Free Form String también conocido como ATS"), "ATS" usado para Artista, Título y / o Canción.

SC

Shoutcast/Icecast; estos metadatos provienen de un stream en vivo de audio mp3/aac a través de una única conexión TCP. Se envía un marcador de metadatos cada XXXX bytes, definido por el servidor, y contiene más información útil si está presente, incluidos datos como artista, título, álbum, URL de portada, marcador de anuncio y duración, entre otros.

RAW

Descrito arriba, pero es la forma más simple de metadatos. No obstante, si tiene separadores "-" dentro, los reproductores y nuestro sistema podrían ser capaces de adivinar datos como "Title", "Artist - Title" y "Artists - Album - Title".

Ejemplo de prioridad: si se detecta que "STWCUE" está presente en los metadatos, se trata con la mas alta prioridad y se utiliza de forma exclusiva. Mientras que los datos "RAW", es decir, una cadena pura como "Una cadena aleatoria de palabras", se tratan con la menor prioridad, ya que no le dan al sistema mucha información con la que ejecutarse. No obstante, son admitidos cuando no puede clasificar/cuantificar los metadatos. Básicamente, es una cadena de paso.

Mejores prácticas

Se recomienda probar los feeds de fuente por al menos 24 horas de streaming continuo antes de volver a hacer streaming a través de Triton Digital para asegurarse de que la fuente no tenga ningún problema y pueda garantizar un streaming/transcodificación confiable.

A continuación encontrará algunas de las herramientas que puede usar.

ffmpeg (https://ffmpeg.org/)

Para streams HLS

Al ejecutar la línea de comandos que se encuentra a continuación se mostrarán en tiempo real los diferentes segmentos de audio que se están analizando, además de las configuraciones de tasa de bits y codificación, y se revelarán posibles inconvenientes con la marca de tiempo. Ingrese la lista de reproducción del URL que desea probar y ffmpeg la convertirá a un archivo FLV.

ffmpeg -v verbose -re -i https://my-stream-to-test/playlist.m3u8 -f flv -flvflags "no_duration_filesize" test.flv

Para streams RTMP (https://en.wikipedia.org/wiki/List_of_RTMP_software)

Reemplace el enlace de RTMP con el stream que se desea validar:

ffmpeg -re -i rtmp://111.111.11.11:80/live/mystream -c:a libfdk_aac -profile:a aac_he -b:a 80k -ar 44100 -ac 2 -vn -sn -dn -f flv -flvflags "no_duration_filesize" -bsf:a aac_adtstoasc test.flv

Los archivos FLV que se obtengan luego de ejecutar estas líneas se guardarán en la misma carpeta donde se ejecuta el comando.

Monitor de HLS

Esta es una herramienta de Triton Digital que ayuda a corregir errores en los feeds HLS. Identifica todos los fragmentos del stream, y las herramientas de corrección de errores son excelentes para identificar los puntos de referencia entrantes. Es una aplicación de Adobe AIR que puede proporcionarse a solicitud.

Media Stream Validator

Esto es parte de las herramientas de transmisión HTTP Live que se encuentran en el sitio web para desarrolladores de Apple (StreamingTools.pkg). El validador de secuencias multimedia simula una sesión de HTTP Live Streaming y comprueba que el archivo de índice y los segmentos multimedia se ajustan a la especificación de HTTP Live Streaming. En caso de detectar algún error o problema, se muestra un informe de diagnóstico detallado.

Una vez instalado en una Mac, puede ejecutarse al escribir lo siguiente en la ventana terminal:

mediastreamvalidator http://example.com/playlist.m3u8