Esta página fue traducida automáticamente. Si encuentra errores o tiene sugerencias, contáctenos.
- Llamar a la API para obtener las plantillas de URI de medios
- Generar un token de sesión federado para la reproducción por WAN
- Descargar el MPD de DASH y los segmentos de audio
- Opcionalmente convertir el audio Opus/WebM resultante usando ffmpeg
Requisitos previos
Todas las llamadas a la API en esta guía usan los siguientes encabezados de autenticación:URL base:
https://api2.rhombussystems.com- Un UUID del A100 Audio Gateway (cadena de estilo DeviceFacetUuid / RUUID de Rhombus)
- Audio grabado que exista y esté disponible (determinado por las licencias de tu dispositivo y la configuración de grabación)
- Un cliente capaz de:
- Realizar solicitudes HTTP
- Analizar XML (para el manifiesto MPD)
- Escribir los bytes binarios de los segmentos en disco
Pasos de implementación
1
Obtener los URIs de medios del A100 Audio Gateway
Llama al endpoint Campos relevantes de la respuesta:
getMediaUris para recuperar las plantillas de URI de tu audio gateway.Endpoint: POST /api/audiogateway/getMediaUris2
Generar un token de sesión federado
El acceso al MPD por WAN requiere un token de sesión federado de corta duración añadido como parámetros de consulta.Endpoint: Respuesta: Devuelve
POST /api/org/generateFederatedSessionTokenfederatedSessionToken3
Construir la URL del MPD de WAN VOD
Toma el
wanVodMpdUriTemplate del Paso 1 y realiza la sustitución de cadenas:- Reemplaza
{START_TIME}con la hora de inicio solicitada (en segundos) - Reemplaza
{DURATION}con la duración solicitada (en segundos)
4
Obtener el MPD con el token federado
Añade los parámetros de consulta de autenticación a tu URL del MPD:Este MPD es un manifiesto DASH que describe cómo obtener el segmento de inicialización y los segmentos de audio posteriores.
5
Descargar y unir los segmentos
Descarga los segmentos en orden, añadiendo los mismos parámetros de consulta Escribe los bytes del encabezado de inicialización seguidos de los bytes de cada segmento para producir un archivo de audio WebM/Opus válido (48 kHz, mono).
?x-auth-scheme=federated-token&x-auth-ft=<TOKEN> que usaste para el MPD: los segmentos se sirven desde el mismo host de WAN y usan la misma autenticación:- Segmento de inicialización (p. ej.,
seg_init_audio.hdr) - Segmentos de medios (p. ej.,
seg_1.webm,seg_2.webm, …)
Cada segmento dura 2 segundos. Calcula el número de segmentos:
Ejemplo completo en Python
Este ejemplo implementa el flujo de trabajo completo descrito anteriormente:Convertir audio con ffmpeg
El audio descargado está en formato Opus/WebM (48 kHz, mono). Puedes convertirlo a otros formatos usando ffmpeg:Solución de problemas
Manifiestos vacíos o segmentos faltantes
Manifiestos vacíos o segmentos faltantes
Causa: La sustitución de la plantilla usa unidades de tiempo incorrectas.Solución: Si tus marcas de tiempo están en milisegundos pero la plantilla espera segundos, conviértelas:
La reescritura del MPD no coincide con tu plantilla
La reescritura del MPD no coincide con tu plantilla
Causa: El código asume que el nombre del archivo MPD es
file.mpd.Solución: Si tu plantilla usa un nombre de archivo diferente, ajusta la lógica de reemplazo de cadenas:El token expira antes de que se complete la descarga
El token expira antes de que se complete la descarga
Causa: La duración del token federado es demasiado corta para descargas de audio grandes.Solución: Aumenta
durationSec al generar el token. Para descargas de 24 horas, es posible que necesites duraciones considerablemente más largas para obtener todos los segmentos.Referencia de la API
Los siguientes endpoints se usan en esta guía. Visita la pestaña API Reference para ver los esquemas completos de solicitud y respuesta.POST /api/audiogateway/getMediaUris— Obtener los URIs de medios del Audio GatewayPOST /api/org/generateFederatedSessionToken— Generar un token de sesión federado