Cómo funcionan los eventos en la Video API

La Video API de Vonage se basa en eventos: cada cambio en una sesión, transmisión o módulo opcional emite llamadas de retorno documentadas a los objetos del Client SDK (sesión, editor, suscriptor) y a cualquier punto final del servidor que registres. Al conectar controladores a esas llamadas de retorno y revisarlas más tarde con herramientas como Video Inspector o Archiving Inspector, puedes reaccionar de inmediato, mantener informados a los participantes y mantener un registro de auditoría del estado de la sesión.

Flujo de eventos en una sesión de vídeo

  1. Conéctate y únete: Un cliente se conecta a una sesión y comienza a publicar o suscribirse a flujos.
  2. Emitir eventos del ciclo de vida: Objetos SDK (Session, Publisher, Subscriber, Stream) y módulos opcionales, como archivo, retransmisión en directo, compositor de experiencias, subtítulos en directo, transcripcióny Interconexión SIP - envían eventos que describen cambios en el ciclo de vida y en los medios (véase la tabla de módulos opcionales más abajo para ver el catálogo completo).
  3. Eventos de envío: La nube de Vonage reenvía los eventos a otros participantes y, cuando está configurado, a tus puntos finales de webhook.
  4. React en tu aplicación: Actualice el estado de la interfaz de usuario en el cliente, active la lógica empresarial en el servidor y registre los eventos importantes para su posterior análisis. Juntas, estas funciones le permiten observar, responder y recuperarse de forma dinámica, todo ello a través de un modelo de eventos unificado.

De dónde vienen los eventos de vídeo

SDK de cliente

Nota: En esta guía se destacan familias de eventos representativas de clientes y servidores. Consulte la Descripción general del Client SDK para consultar enlaces a material de referencia sobre eventos específicos de cada plataforma.

Sesión

  • Ciclo de vida: sessionConnected, connectionDestroyed.
  • Cambios en la corriente: streamCreated, streamPropertyChanged.
  • Señalización: signal, signal:type.
  • Módulos opcionales: Retrollamadas orientadas al cliente para archivado, transcripción, subtítulos en directo y control de emisión. Consulte las guías de los módulos enlazadas a continuación para obtener información completa.

Editorial

  • Estado de los medios: videoEnabled / videoDisabled, audioEnabled / audioDisabled.
  • Red/calidad: networkQualityLevelChanged, videoDisableWarning.
  • Módulos opcionales: Avisos de autorización de dispositivos (accessDialogOpened, accessDenied) y diagnóstico (audioLevelUpdated) viven en las guías de publicación.

Abonado

  • Estado de los medios: videoEnabled / videoDisabled.
  • Red/calidad: videoDisableWarning, videoDisableWarningLifted.
  • Módulos opcionales: audioLevelUpdatedEn las guías de personalización aparecen las llamadas de retorno a la maquetación y otras ayudas para los suscriptores.

Familias de devolución de llamada

Familia Cuando dispara Referencia
Control de la sesión Inicio/parada de sesión; creación/destrucción de conexión/flujo Guía de seguimiento de la sesión
Archivo Ciclo de vida del archivo: iniciado, detenido, fallido Guía de archivo
Difusión Ciclo de vida de la emisión: iniciada, parada, fallida Guía de difusión
Compositor de experiencias Actualizaciones del ciclo de vida/estado de Composer Guía del compositor de experiencias
Subtítulos en directo Carga útil de los subtítulos Guía de subtítulos en directo
Transcripción Disponibilidad/estado del expediente académico Guía de transcripción
Interconexión SIP Ciclo de vida de las llamadas SIP: invitación de entrada/salida, desconexión Guía SIP

Herramientas de observación

Trabajar con manejadores de eventos de cliente

Los patrones de los controladores de eventos son similares en todos los SDK. El siguiente ejemplo muestra el SDK de JavaScript:

session.on('streamCreated', event => {
  const stream = event.stream;
  session.subscribe(stream, 'subscriberContainer', {
    insertMode: 'append',
    width: '100%',
    height: '100%'
  });
});

publisher.on('networkQualityLevelChanged', event => {
  updateNetworkBadge(event.networkQualityLevel);
});

session.on('signal:layout', event => {
  applyLayout(event.data);
});

Aplique el mismo patrón en los SDK nativos: iOS (OTSessionDelegate), Android (Session.SessionListener), Windows (Session controladores de eventos), y Linux (otc_session_callbacks) vinculando los observadores equivalentes para cada plataforma.

Para consultar la lista completa de eventos, consulte las referencias de la plataforma: Eventos de sesión de JavaScript, iOS OTSessionDelegate devoluciones de llamada, Android Session.SessionListener, API de sesión de Windowsy Llamadas de retorno de sesión Linux.

Gestión de las retrollamadas del servidor

  • Registre las URL de devolución de llamada en Panel de la Video API de Vonage o a través del API REST de Video.
  • Valide las solicitudes entrantes, aplique reintentos y revise la política de firma/retorno descrita en Verificación de Webhooks.
  • Procesar rápidamente las cargas útiles: poner en cola el trabajo y responder con 200 OK para evitar que los reintentos bloqueen la cola.
  • Registre los cuerpos de las solicitudes junto con metadatos como el ID de sesión, el ID de conexión y el ID de flujo para poder correlacionar las devoluciones de llamada del servidor con los eventos del lado del cliente.

Elegir dónde reaccionar

  • Gestionar las actualizaciones transitorias de UX en el cliente: Utilice los eventos del SDK para alternar los indicadores de la interfaz de usuario (iconos de silencio, banners de reconexión) o pedir al usuario que actualice.
  • Escalar los problemas persistentes al servidor: Reenvíe los fallos de flujo o de conexión a su backend para alertar a los operadores o activar flujos de trabajo automatizados.
  • Persistir datos de Audit: Almacenar las llamadas de retorno críticas (por ejemplo sessionDestroyedArchivo failed) para las revisiones de conformidad y posteriores a los incidentes.
  • Prueba con utillaje: Reproduzca los problemas reproduciendo los registros de sesión en el archivo Inspector de vídeo o exportando métricas a través de API de información.

Hoja de referencia de eventos

Familia del evento Ejemplos de actos Entregado a través de Reacción típica
Ciclo de vida de la sesión sessionConnected, connectionDestroyed, streamCreated SDK de cliente, llamadas de retorno para monitorización de sesión Actualización de las listas de participantes, limpieza de la interfaz de usuario, persistencia del estado de la sesión
Calidad de los medios videoDisabled, networkQualityLevelChanged, reconnected SDK de cliente Ajustar diseños, mostrar advertencias, cambiar a modos sólo audio
Señalización de aplicaciones signal, signal:layoutCanales de datos personalizados SDK de cliente Sincronizar el estado de la interfaz de usuario, difundir anotaciones y compartir metadatos
Grabación y difusión Estado de la devolución de llamada de archivo o emisión (started, stopped, failed) Archivo y emisión de llamadas de retorno Mostrar el estado, activar el postprocesamiento, emitir alertas
Subtítulos y transcripción Estado de la devolución de llamada de transcripción (completed) Llamadas de transcripción Transmisión de transcripciones a almacenamiento

Recursos adicionales