Base de conocimientos
1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Esta guía trata sobre la información de escucha de Streaming Radio que puede ser exportada gracias al protocolo FTP; estos logs (de los cuales también se derivan las estadísticas de escucha después de la "purificación" o "limpieza") se transfieren automáticamente por FTP para ser tratados posteriormente.
Prólogo
- Los logs de tu radio se proporcionarán en forma de archivo comprimido xyz.mp3-20140805.log.gz (la fecha del log está en formato AAAAMMDD).
- Cada log comienza a las 04:00 hora suiza y termina a las 03:59:59 del día siguiente.
- El log tiene el siguiente formato
ip user-identifier authuser [date-time] "request" status octets "referer" "useragent" listening-tim
e:81.56.215.98 - - [09/Apr/2019:08:23:18 +0200] "GET /toto.mp3 HTTP/1.1" 200 1211297 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/2019032711 Ubuntu/8.10 (intrepid) Firefox/3.0.8" 69
- Puede ocurrir que la línea del log esté mal formada, debido a un referer demasiado largo, por ejemplo; este comportamiento de Icecast no se puede modificar.
- Las direcciones de la fila IP 84.16.67.128/25 deben ser ignoradas porque son los servidores de streaming.
- Desde la página de parámetros en el Manager, puede solicitar nuevamente los logs de los días pasados.
- También puede exportarlos directamente a ACPM o Mediapulse.
Activar el envío de registros por FTP
Para ello:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿Necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto en cuestión.
- Haga clic en el nombre del flujo de audio correspondiente.
- Haga clic en Configuración en el menú lateral izquierdo.
- Active la exportación de logs por FTP con el botón de alternancia (toggle switch).
- Introduzca un nombre de host: dirección del servidor FTP.
- Introduzca un nombre de usuario: nombre de la cuenta FTP.
- Introduzca una contraseña: la del cuenta FTP.
- Introduzca el directorio en el servidor donde almacenar los registros.
- Haga clic en el botón Guardar al final de la página:
Procesar los registros
Lo mejor es usar una expresión regular como la siguiente:
"/^(\S+)\s(.+)\s(\S+)?\s\[((\d\d)\/([a-zA-Z]{3,3})\/(\d\d\d\d)\:(\d\d)\:(\d\d)\:(\d\d)\s\+\d\d\d\d)\]\s"GET\s\/([\-a-z0-9]{1,40}(\.)?(mp3|aac|ogg){0,1})(.*)?"\s(\d{3,3})\s(\d+)\s"(.+)"\s"(.+)"\s(\d+)$/i";
Esta sintaxis es la de la función PHP preg_match
y deberá ser adaptada si se utilizan otras funciones/idiomas.
La función preg_match
devuelve un array con las siguientes posiciones significativas:
1 | ip |
4 | fecha - hora completa |
5 | día |
6 | mes |
7 | año |
8 | hora |
9 | min |
10 | segundos |
11 | punto de montaje |
15 | resultado (código HTTP) |
16 | longitud en bytes |
18 | agente de usuario |
19 | duración de escucha (segundos) |
Esta guía explica cómo transmitir los metadatos para el flujo de radio enviado desde su codificador de Streaming radio.
Utilizar la URL disponible
Basta con hacer un GET en una URL del tipo:
https://[flux]:[password]@api.infomaniak.com/1/radios/stats/metadata?data=artist - title
La URL completa está disponible en la interfaz de administración:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto correspondiente.
- Haga clic en el nombre del flujo de audio correspondiente.
- Haga clic en Configuración en el menú lateral izquierdo.
- Haga clic en el botón para copiar el enlace de los metadatos:
Más información
Para los desarrolladores que programen un reproductor, existen bibliotecas que pueden buscar la información transmitida y mostrarla, ya que en los datos del flujo, los datos se transmiten. Otra posibilidad es recuperar la información del flujo en el servidor mismo.
Esta guía trata las estadísticas de audiencia y escucha de Streaming Radio que le permiten consultar toda la información sobre los oyentes y diferentes audiencias de sus flujos de radio.
Prólogo
- Consulte este otro guía si desea procesar los logs brutos por su cuenta.
Acceder a las estadísticas de audiencia
Para acceder a esta información:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿Necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto correspondiente.
- Haga clic en Estadísticas en el menú lateral izquierdo:
- Haga clic en los diferentes menús en el menú lateral izquierdo:
Vista general
Audiencia en tiempo real
Consulte este otro guía sobre el tema.
Oyentes
Tiempo de escucha
Consumo
Geolocalización
La exportación en formato .csv
es posible:
Jugadores
Esta guía explica cómo eliminar un flujo de audio de su Streaming Radio, sin eliminar el producto completo.
Eliminar una radio
Para acceder al servicio de Streaming y eliminar uno de los flujos:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿Necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto en cuestión:
- Haga clic en el nombre de la radio en cuestión:
- Haga clic en el menú de acción ⋮ ubicado a la derecha del elemento correspondiente.
- Haga clic en Eliminar:
- Introduzca el nombre de la radio para confirmar la eliminación.
Esta guía explica cómo configurar correctamente un flujo en el Streaming radio Infomaniak.
Configurar la transmisión de un flujo de radio
Para acceder al servicio de Streaming radio:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿Necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto en cuestión.
- Haga clic en el nombre de la radio.
- Haga clic en el botón Agregar un flujo:
- Luego, haga clic de nuevo en el botón Agregar un flujo:
- Agregar un flujo estándar:
- Seleccione las opciones deseadas:
- Haga clic en el botón Guardar.
Esta guía explica cómo especificar un flujo de audio de respaldo en el Streaming radio Infomaniak.
Por lo tanto, si tu flujo principal se vuelve indisponible, el flujo de respaldo tomará automáticamente el relevo de la transmisión.
Crear un flujo de respaldo
Para acceder al servicio de Streaming radio:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿Necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto correspondiente.
- Haga clic en el nombre de la radio.
- Haga clic en el botón Agregar un flujo para crear un nuevo flujo y adjuntar un flujo de respaldo o Configurar un flujo existente para activar la opción:
- Haga clic en el botón de alternancia (toggle switch) para activar el flujo de respaldo en su flujo:
- Copie las informaciones a su disposición para configurar su codificador de respaldo.
- Guarde la activación del flujo de respaldo en la parte inferior derecha de la página.
En el mismo lugar, puede configurar el flujo de respaldo como un relé de flujo para ingresar manualmente los parámetros correspondientes al flujo de audio de respaldo:
Guarde la nueva información en la parte inferior derecha de la página.
Esta guía trata sobre la información de escucha de Streaming Radio que puede exportarse a ACPM (ex-OJD Numérique).
Prólogo
- La ACPM, Alianza para las Cifras de la Prensa y los Medios, es una organización independiente en Francia que certifica los datos relativos a la difusión, la audiencia y la frecuencia de los medios.
- Estos datos, reconocidos como referencia oficial, apoyan a los actores del mercado de los medios y la publicidad en el análisis, la comparación y la estructuración de sus estrategias.
- Bajo la gobernanza de sus instancias compuestas por profesionales de los medios, ACPM garantiza transparencia, independencia y rigor metodológico; asegura certificaciones fiables y en sintonía con las evoluciones del sector de los medios.
- Consulte también esta guía sobre un servicio similar pero destinado a Suiza.
Gestion de la certificación ACPM
Requisitos previos
- La Organización en la que se encuentra el servicio de Streaming debe estar establecida con una dirección en Francia.
- Para activar la certificación ACPM, por favor póngase en contacto con este servicio por correo electrónico:
equipe-ojdnumerique@acpm.fr
. - Una vez establecido el contrato con ellos, contacte con el soporte de Infomaniak indicando las informaciones relativas a su contrato ACPM e Infomaniak.
Para gestionar la activación o desactivación del servicio:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿Necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto en cuestión.
- Haga clic en el nombre del flujo de audio correspondiente.
- Haga clic en Configuración en el menú lateral izquierdo.
- Active o desactive la exportación de los logs hacia ACPM con el botón de alternancia (toggle switch):
SpacialAudio SAM Cast es compatible con la oferta de streaming de audio.
Esta guía explica cómo mantener el control sobre sus flujos de Streaming Radio MP3/AAC o HLS activando la protección por clave única (token) para decidir, por ejemplo, si un oyente puede escuchar su radio o no.
Prólogo
- El principio es sencillo: en cada conexión, realizarás una solicitud a la API de Infomaniak que te devolverá un token único con una duración de vida limitada y configurable. Este token permitirá a quien lo posea consumir el flujo durante este período.
- Puede proteger un flujo MP3/AAC o HLS independientemente uno del otro (lo mismo ocurre con la geolocalización).
- La activación de la restricción implica un cambio en la configuración del flujo que puede tardar unos minutos en replicarse en los servidores.
Proteger un flujo de audio por clave única
Para hacerlo, basta con ir a los parámetros de restricciones y activar la protección por token en el flujo que desea proteger:
- Haga clic aquí para acceder a la gestión de su producto en el Manager Infomaniak (¿Necesita ayuda?).
- Haga clic directamente en el nombre asignado al producto en cuestión.
- Haga clic en el nombre del flujo de audio correspondiente.
- Haga clic en Restricciones en el menú lateral izquierdo.
- Seleccione HLS si es necesario.
- Haga clic en el menú de acción ⋮ ubicado a la derecha del elemento correspondiente.
- Haga clic en Restricción por token:
Active luego la protección.
Atención, en el momento en que active esta opción, el acceso al flujo se bloqueará instantáneamente para las nuevas conexiones. Ajuste sus reproductores para tener en cuenta la restricción, como se ilustra en el ejemplo a continuación:
Crear un token API Radio
Para acceder a la API Radio, primero debe autenticarse utilizando un token de aplicación. Este paso solo se debe hacer una vez. Para crear este token de aplicación, consulte esta otra guía.
El ámbito es radio y la duración ilimitada para evitar tener que regenerar un código de manera regular. Una vez generado el token, cópielo para pegarlo en el ejemplo de abajo.
Ejemplo de uso en lenguaje PHP
Para MP3/AAC o HLS, el código puede ser bastante similar, solo cambia la URL llamada en POST en cuanto a su forma.
Pega el token generado a continuación en lugar del indicado:
if (!defined('API_TOKEN')) {
define('API_TOKEN', 'AYF5lSh3c7Xy5974Fs12RTkTThujT-L9R4Xk2ZfGyP6sV7QqJ1oC3jD8nFtKzIxUeMw5oNzR6');
}
/**
* Fonction générique pour executer des requêtes cURL
*
* @param string $method Méthode HTTP (GET, POST, PUT, etc...)
* @param string $url Url de l'api a requêter
* @param array $headers Liste des en-têtes HTTP (l'autorisation doit être passée ici avec un ['Authorization: Bearer ']
* @param array $payload Un tableau contenant les données pour créer un token
* @return mixed
*/
function request(string $method, string $url, array $headers = [], array $payload = []): mixed{
// prepare options array
$opts = [
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => strtoupper($method),
];
// add payload if relevant
if ($payload && $method !== 'GET') {
$opts[CURLOPT_POSTFIELDS] = json_encode($payload);
}
$ch = curl_init();
curl_setopt_array($ch, $opts);
$result = curl_exec($ch);
if(curl_errno($ch)){
throw new Exception(curl_error($ch));
}
$data = json_decode($result, true);
if ($data['result'] === 'error') {
throw new Exception($data['error']['description'] ?? 'an error occured');
}
return $data['data'];
}
Vamos a crear el token, la URL de creación del token se desglosa de la siguiente manera:
- Para un flujo MP3 / AAC
POST https://api.infomaniak.com/1/radios/acl/streams/mountpoint.mp3/token
Ejemplo para proteger https://newradiotest.ice.infomaniak.ch/newradiotest-128.aac
la ruta será: https://api.infomaniak.com/1/radios/acl/streams/newradiotest-128.aac/token
- Para un flujo HLS
POST https://api.infomaniak.com/1/radios/acl/hls_streams/<stream>/token
Ejemplo para proteger https://myradiostream.radiohls.infomaniak.com/myradiostream/manifest.m3u8
la ruta será: https://api.infomaniak.com/1/radios/acl/hls_streams/myradiostream/token
Ejemplo en el caso del MP3/AAC, asegúrate de ajustar:
$token = request(
'POST',
'https://api.infomaniak.com/1/radios/acl/streams/newradiotest-128.aac/token',
// en-tête d'authorization
[
'Authorization: Bearer ' . API_TOKEN,
'Content-Type: application/json',
],
/**
* payload pour créer le token, vous pouvez passer les valeurs suivantes
* window | 300 | optionnel | durée de validité du token (default: 5 minutes)
*/
[
'window' => 3600, // 1h validity
]
);
Es importante tener en cuenta que si este código se genera en el momento de cargar la página, el oyente tendrá "window" segundos para iniciar la reproducción del flujo. Pasado este plazo, el token expirará y el flujo no podrá iniciarse a menos que la página se recargue. Según sus necesidades y su caso de uso, será necesario ajustar este plazo de la mejor manera posible.
También deberá reemplazar a continuación la URL de reproducción de su flujo en lugar de la indicada, manteniendo el parámetro $token
al final. Y para terminar, se muestra el Reproductor (aquí una simple etiqueta html5, pero se puede agregar cualquier capa adicional después, ya que el token se pasa en los parámetros $_GET
de la url).
$streamUrl = "https://newradiotest.ice.infomaniak.ch/newradiotest-128.aac?$token";
echo "<audio controls=""><source src="$streamUrl"></audio>";