Dar una nueva clave de transmisión a un canal en vivo
const url = 'https://api.iomza.com/v1/live/channels/example/rotate-key';const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.iomza.com/v1/live/channels/example/rotate-key \ --header 'Authorization: Bearer <token>'La clave anterior deja de funcionar al instante. No mientras esté al aire: deténlo primero. Las URLs de reproducción no cambian.
Autorizaciones
Sección titulada «Autorizaciones»Parámetros
Sección titulada «Parámetros»Parámetros de ruta
Sección titulada «Parámetros de ruta»Respuestas
Sección titulada «Respuestas»El canal, con su nueva clave de transmisión.
Un canal con su clave de transmisión: solo se muestra al crear el canal o al rotar su clave.
object
preparing: el canal se está preparando, lo que puede tardar unos minutos; hasta entonces rechaza su encoder. idle: esperando un encoder. live: transmitiendo ahora. reconnecting: su encoder se cayó durante una transmisión y esta lo espera hasta 5 minutos (los espectadores conservan el DVR). stopped: rechaza su encoder (ver stopped_until).
Hasta cuándo rechaza a su encoder tras detenerlo; null con status stopped: hasta que se reactive.
object
La clave de transmisión: la “Clave de retransmisión” de OBS. Mantenla en secreto: quien la tenga puede transmitir al canal.
Adónde transmite el encoder, con cifrado (RTMPS): el “Servidor” de OBS.
Lo mismo sin cifrado (RTMP), para encoders que no admiten RTMPS. La clave de transmisión viaja sin cifrar.
Dónde transmite el encoder por SRT, que aguanta mejor en redes inestables: reemplaza {stream_key} por la clave de transmisión, que va en esta dirección. La clave viaja sin cifrar.
Los últimos caracteres de la clave de transmisión, para reconocerla.
Si GET …/stream-key puede mostrar la clave; false en una clave antigua: rótala una vez para obtener una que se pueda mostrar.
Desde dónde se reproduce un canal: HLS y DASH, en el borde del directo o con la ventana de DVR.
object
HLS en el borde del directo (los últimos segundos): para reproductores que solo siguen la emisión en directo.
DASH en el borde del directo.
HLS con la ventana de DVR, para rebobinar (dvr_minutes).
DASH con la ventana de DVR.
Si las sesiones se guardan completas al terminar (las URLs de reproducción las reproducen entonces desde el principio).
Hasta cuánto pueden rebobinar los espectadores en las URLs de DVR, en minutos (1–120).
El idioma de las imágenes que ven los espectadores mientras falta la señal y al terminar la sesión: es o en.
La sesión más larga, en minutos.
Cuándo empezó su sesión al aire; null cuando no está al aire.
Solo los encoders en estas direcciones o rangos IPv4 pueden transmitir a él; vacío: cualquiera.
Solo los encoders en estos países pueden transmitir a él; vacío: cualquiera.
Ejemplo
{ "object": "live_channel", "status": "preparing", "standby_language": "es"}La API key falta, no es válida o está revocada.
object
object
Estable: decide con él.
En inglés, para personas; puede cambiar.
Cada problema, como ruta: mensaje (errores de validación).
Ejemplo
{ "error": { "code": "validation_error" }}Credenciales válidas que no pueden hacer esto (forbidden), tu plan no incluye el módulo al que pertenece la ruta (module_not_in_plan), o tu organización está suspendida (organization_suspended).
object
object
Estable: decide con él.
En inglés, para personas; puede cambiar.
Cada problema, como ruta: mensaje (errores de validación).
Ejemplo
{ "error": { "code": "validation_error" }}No existe en tu organización.
object
object
Estable: decide con él.
En inglés, para personas; puede cambiar.
Cada problema, como ruta: mensaje (errores de validación).
Ejemplo
{ "error": { "code": "validation_error" }}Su estado no lo permite (un job terminado, un Idempotency-Key reutilizado con otro cuerpo…).
object
object
Estable: decide con él.
En inglés, para personas; puede cambiar.
Cada problema, como ruta: mensaje (errores de validación).
Ejemplo
{ "error": { "code": "validation_error" }}Demasiadas peticiones: espera y reintenta. Lo responde la pasarela, así que el cuerpo puede ser distinto.
object
object
Estable: decide con él.
En inglés, para personas; puede cambiar.
Cada problema, como ruta: mensaje (errores de validación).
Ejemplo
{ "error": { "code": "validation_error" }}Nuestro: reintenta, y avísanos si persiste.
object
object
Estable: decide con él.
En inglés, para personas; puede cambiar.
Cada problema, como ruta: mensaje (errores de validación).
Ejemplo
{ "error": { "code": "validation_error" }}No disponible por un momento: reintenta en unos segundos.
object
object
Estable: decide con él.
En inglés, para personas; puede cambiar.
Cada problema, como ruta: mensaje (errores de validación).
Ejemplo
{ "error": { "code": "validation_error" }}