Metadatos de Icecast

Anterior Siguiente

Los metadatos se distribuyen al servidor con un método llamado "fuera de banda". Es decir, mientras que una única conexión TCP al servidor MR entrega datos de audio MP3 o AAC, los metadatos (marcadores de canciones y anuncios) se entregan mediante una transacción HTTP separada al servidor, independientemente de los datos de audio. Se envían los metadatos al servidor MR mediante el método HTTP GET.

Enviar metadatos

Los metadatos se pueden utilizar para enviar al servidor MR en cualquier momento mientras se emite con una simple petición HTTP.

  • Se puede utilizar para enviar información de artista y título a los oyentes conectados para la pista de reproducción actual.

  • En teoría, pueden usarse metadatos para insertar marcadores de anuncios. Desafortunadamente, el canal de metadatos no está sincronizado con el canal de audio, de modo que la temporización quizás no sea perfecta y podría fluctuar con el tiempo. Por lo tanto, no recomendamos usar marcadores de anuncios para insertar anuncios dinámicos durante el podcast, a menos que la calidad y la temporización de esa estación no sean importantes.

  • Con trabajo personalizado, puede utilizar esto para enviar notas de fondo o mensajes no relacionados con la pista a los oyentes conectados.

Método GET

GET /admin/metadata?mount=/MOUNTNAME&mode=updinfo&song=Song+-+Title&url=UrlEncodedSubParameters HTTP/1.0\r\n
Authorization: Basic c291cmNlOmhhY2ttZQ==\r\n
\r\n

Respuesta

Código de respuesta

Descripción

200

Éxito.

400

Solicitud no válida o nombre de montaje no válido.

401

Contraseña no válida. 

404

Montaje desconocido o temporalmente desactivado.

500

Servidor no disponible.

El bloque de código GET que se muestra arriba es una URL HTTP de ejemplo que debe crear para enviar a Triton Digital MediaRelay para insertar eventos de stream (evento de canción y cortes para anuncios durante el podcast).

Los parámetros song y url son necesarios para admitir las actualizaciones de metadatos.

Parámetro song

El parámetro song= es un campo de texto de forma libre que no se describe oficialmente, pero a lo largo de los años ha desarrollado el siguiente formato:

Formato

canción=título

canción=Artista - Título

canción=Artista - Álbum - Título

Triton ha agregado compatibilidad con un nuevo formato song= que proporciona metadatos mejorados, como reemplazo de anuncios e inyección. Se trata este tema más en profundidad, más adelante en este documento, en TildeATS.

Parámetro de URL

El parámetro url= se puede usar para proporcionar información adicional sobre el evento actual, ya sea el inicio de una canción/pista o un corte publicitario durante el podcast.

Si se utiliza el parámetro url= , se ignora el parámetro song= .

El parámetro url= puede contener una lista de subparámetros codificados en URL de tipo de canción, estilo, duración, título, artista y álbum.

  • songtype de "S" indica el inicio de una canción o bloque de contenido.

  • songtype de "A" indica el comienzo de un corte publicitario. Esto desencadenará un corte publicitario durante el podcast.

  • El estilo de "bloque" indica el inicio de un bloque de anuncios. Esto desencadenará un bloqueo de anuncios durante el podcast; cualquier otra forma de metadatos se ignorará hasta que se reciba un tipo de canción de "S" y/o un estilo de "predeterminado".

  • Duración Indica la duración del evento actual en segundos (opcional pero recomendado).

  • title indica el título del evento actual. Puede estar vacío (opcional).

  • Artista indica el artista del evento actual. Se omite si el tipo de canción es(opcional).

  • Album indica el álbum del evento actual. Se omite si el tipo de canción es(opcional).

Subparámetros

Los subparámetros tienen el mismo formato que los parámetros URL estándar, pero están codificados como un valor único para el parámetro url= .

title=Vogue&artist=Madonna&duration=300&songtype=S

…se debe enviar como:

url=title%3DVogue%26artist%3DMadonna%26duration%3D300%26songtype%3DS

Inyección de anuncios para Icecast

Con el protocolo Icecast v2, debido a que los metadatos se transportan en una conexión HTTP separada, esto puede crear problemas de alineación con la inserción de anuncios para los anuncios durante el podcast. Por lo tanto, Triton recomienda usar solo la inserción de anuncios antes del podcast cuando use Icecast.

Tenga en cuenta que unos pocos segundos de desalineación de los metadatos de canciones no degradan significativamente la experiencia del oyente, de modo que se puede usar Icecast para transmitir metadatos de canciones.

Tiempos de los metadatos de Icecast 

Los metadatos se pueden enviar en cualquier momento desde su herramienta de radiodifusión. Es mejor hacerlo con la mayor exactitud posible dada la naturaleza "fuera de banda" en vivo del método de los metadatos.

Una vez que el "contenido" y los "metadatos" llegan al servidor de "origen" de Triton, ese tiempo/sincronización se trasladará al sistema en el "paso de bloqueo" y no tendrá ningún otro cambio de tiempo. 

La reproducción de Shoutcast/Icecast por parte de los oyentes puede reintroducir el cambio de tiempo. Esto se resuelve fácilmente usando los reproductores basados en HLS o FLV de los clientes. 

Ejemplos de metadatos

Tipo de metadatos/metadatos

Duración

Comentario

Ejemplo

Comienzo de la canción
"Madonna - Vogue"

3 min. 20 seg.


http://source:mount_password@server:port/admin/metadata?mount=/MOUNTNAME&mode=updinfo&song=notUsed&url=duration%3D200%26songtype%3DS%26artist%3DMadonna%26title%3Dvogue
url sub parameters sent : duration=200&songtype=S

Corte comercial 
"Publicidad dirigida"

30 segundos


http://source:mount_password@server:port/admin/metadata?mount=/MOUNTNAME&mode=updinfo&song=notUsed&url=title%3DTargeted%20%E2%80%8BAd%20Break%3D%26duration%3D30%26songtype%3DA
url sub parameters sent : title=Targeted Ad Break=&duration=30&songtype=A

Final del corte
No se necesita título 

No es necesario

Se necesita para finalizar un corte comercial si está usando anuncios en las noticias o un programa en vivo donde no hay actualizaciones de 'título' en la transmisión

http://source:mount_password@server:port/admin/metadata?mount=/MOUNTNAME&mode=updinfo&song=&url=songtype%3DS
url sub parameters sent : songtype=S

Formato de metadatos TildeATS

Algunas herramientas de difusión de Icecast no son capaces de rellenar el parámetro url . Esto tiene metadatos limitados para proporcionar solo cadenas clásicas de Artist - Title , conocidas como formato ATS. Esto impide el reemplazo/inyección de anuncios, ya que no se analiza el parámetro song. Triton ha agregado soporte para metadatos extendidos basados en canciones que permiten más herramientas de transmisión Icecast, incluida la opción de anuncios.

Triton ya ha reconocido song=Artist - Title codificado como Artist%20-%20Title donde un espacio-hypen-space " - " separa Artist y Title .  

Ahora reconocemos un nuevo separador: space-tilde-space donde una tilde (" ~ ") le da más opciones/control cuando sus herramientas no permiten usar la url. 

  • La cadena separada por tilde debe contener un mínimo de cuatro campos:

    • artista

    • título

    • Duración en segundos

    • Número de categoría

  • La cadena separada por tilde debe terminar con el carácter de intercalación "^".

  • Las tildes deben tener un espacio inicial y final " ~ " 

Ejemplo de seguimiento de metadatos:

Billie Eilish ~ Bad Guy ~ 246 ~ 0 ^

URL codificada como:

song=Billie%20Eilish%20~%20Bad%20Guy%20~%20246%20~%200%20%5E

Si no se conoce la duración, se deben proporcionar.

Ejemplo de reemplazo de anuncios:

Break ~ Break ~ 60 ~ 4 ^

URL codificada como:

song=Break%20~%20Break%20~%2030%20~%204%20%5E

Ejemplo de inserción de anuncios con una inserción de anuncios 1 predeterminada:

Break ~ Break ~ 30 ~ 4 ~ I ^

URL codificada como:

song=Break%20~%20Break%20~%2030%20~%204%20~%20I%20%5E

Ejemplo de inserción de anuncios con un recuento específico:

Break ~ Break ~ 30 ~ 4 ~ I ~ 3 ^

URL codificada como:

song=Break%20~%20Break%20~%2030%20~%204%20~%20I%20~%203%20%5E

Categorías

En este momento solo se procesan dos categorías:

  • Música (0)

  • Comercial (4)

Todas las demás categorías se aceptan y procesan como un evento End Break.

Las categorías conocidas en este momento son:

  • Música: 0

  • Jingle: 1

  • Barredora: 2

  • Voz: 3

  • Comercial: 4

  • InternetStream: 5

  • Otros: 6

  • VDF: 7

  • Podcast: 8

  • Solicitud: 9

  • Noticias: 10

  • Lista de reproducciónEvento: 11

  • FilebyDate: 12

  • NewestfromFolder: 13

  • Teaser: 14

Ignorar la función de evento de metadatos (##)

Una característica adicional le permite hacer que Triton ignore un evento de metadatos y aún así se procese como un corte final. Esto le permite finalizar un evento de interrupción que no terminará en un informe de SoundExchange por accidente.

Cualquier cadena song= que comience con dos hashes "##" se ignora de esta manera.

Ejemplos:

##Ignored - Event

##Ignored ~ Event ~ 300 ~ 0 ^