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