Los metadatos se distribuyen al servidor con un método llamado "fuera de banda". Es decir, mientras que una conexión TCP simple al servidor de MR distribuye datos de audio MP3 o AAC, los metadatos (marcadores de canciones y anuncios) se distribuyen mediante una transacción estilo HTTP separada al servidor, independientemente de los datos de audio. Se envían los metadatos al servidor MR mediante el método HTTP GET.
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 A (opcional).
- Album indica el álbum del evento actual. Se omite si el tipo de canción es A (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/reemplazo durante el podcast
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 0 .
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 ^