Cambiar un canal en vivo
const url = 'https://api.iomza.com/v1/live/channels/example';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","recording":true,"dvr_minutes":1,"standby_language":"es","max_duration_minutes":1,"ingest_allowed_ips":["example"],"ingest_allowed_countries":["example"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://api.iomza.com/v1/live/channels/example \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "recording": true, "dvr_minutes": 1, "standby_language": "es", "max_duration_minutes": 1, "ingest_allowed_ips": [ "example" ], "ingest_allowed_countries": [ "example" ] }'Su nombre y ajustes. Se aplican en segundos, también a una sesión en curso.
Autorizaciones
Sección titulada «Autorizaciones»Parámetros
Sección titulada «Parámetros»Parámetros de ruta
Sección titulada «Parámetros de ruta»Cuerpo de la peticiónobligatorio
Sección titulada «Cuerpo de la peticiónrequired»object
Conservar la sesión completa cuando termina: sus URLs de reproducción la reproducen entonces desde el inicio, como video bajo demanda, durante 24 horas. true por defecto; un cambio se aplica también a una transmisión en curso.
Hasta cuánto pueden rebobinar los espectadores en las URLs de DVR, en minutos (1–120). 30 por defecto. Un cambio llega a una transmisión en curso en segundos: una ventana más larga crece desde ese momento; una más corta descarta de inmediato su parte más antigua.
El idioma de las imágenes que ven los espectadores mientras falta la señal y al terminar la sesión: es (por defecto) o en. Un cambio llega a una transmisión al aire la próxima vez que se caiga la señal.
La sesión más larga, en minutos: la transmisión se detiene ahí. Hasta el evento más largo de tu plan (por defecto, el del plan). Un cambio se aplica también a una transmisión en curso, contado desde su inicio.
Solo los encoders en estas direcciones o rangos IPv4 (CIDR) pueden transmitir a este canal: 50 como máximo. Vacío, por defecto: cualquiera. Aplica desde la próxima conexión; una transmisión en curso sigue.
Solo los encoders en estos países (ISO 3166-1 alpha-2) pueden transmitir a este canal: 50 como máximo. Vacío, por defecto: cualquiera. Se rechaza una dirección cuyo país no se conozca, y los países vienen de una base de datos que puede equivocarse o evitarse con una VPN. Si también hay direcciones, el encoder debe cumplir ambas. Aplica desde la próxima conexión; una transmisión en curso sigue.
Respuestas
Sección titulada «Respuestas»El canal.
Un canal en vivo.
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
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"}Campos inválidos: details lista cada problema con su ruta.
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" }}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" }}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" }}