Conexión entre pares única

Consiga sesiones de vídeo más ágiles, rápidas y escalables canalizando todos los flujos de abonados a través de una única conexión WebRTC.

A medida que crecen las sesiones, también aumenta el número de conexiones WebRTC que debe mantener cada cliente (una por cada flujo suscrito). Cada conexión conlleva su propia negociación ICE, protocolo DTLS y estado de control de congestión. Esta sobrecarga puede acumularse rápidamente, especialmente en dispositivos móviles.

Conexión entre pares única (SPC) reduce la sobrecarga de configuración de la conexión. Cuando están habilitadas, todas las transmisiones de suscriptores de un cliente se multiplexan a través de una conexión de pares compartida con el enrutador de medios de video de Vonage, independientemente de cuántos editores diferentes haya en la sesión. El resultado es una huella de red más liviana que utiliza menos puertos, una administración de ancho de banda más inteligente y una mejor escalabilidad en todos los dispositivos.

La función Single Peer Connection sólo está disponible en sesiones enrutadas (sesiones que utilizan el enrutador de medios de video de Vonage). En las sesiones que utilizan enrutamiento adaptable de mediosEl SPC no se aplica mientras los medios fluyen de igual a igual entre dos participantes, pero sí una vez que la sesión pasa a utilizar el enrutador de medios. Véase Router de medios y modos de medios para más información.

Beneficios

La activación de la conexión de par único es una de las optimizaciones de mayor impacto que puedes hacer para el vídeo multipartito, ya que proporciona:

  • Consumo de recursos significativamente menor: Cada conexión peer viene con sus propios puertos, sockets, candidatos ICE, handshakes DTLS y contextos SRTP. Con docenas de suscriptores, esto aumenta el uso de CPU, memoria y descriptores de archivo. SPC agrupa todo esto en una única conexión, liberando recursos para su aplicación.

  • Control de tarifas más inteligente y unificado: Con conexiones entre pares separadas, cada una ejecuta su propio algoritmo de control de la congestión, compitiendo con las demás por la misma capacidad de enlace. SPC proporciona al estimador de ancho de banda una visión única y unificada de la red para todos los flujos de medios, lo que se traduce en una adaptación más estable de la tasa de bits y menos oscilaciones de calidad.

  • Soporte para sesiones más grandes en móviles: Los dispositivos móviles tienen recursos limitados de CPU, memoria y red, y iOS en particular limita el número de conexiones simultáneas. Al consolidar todos los flujos de abonados en una sola conexión, SPC permite a los clientes móviles gestionar cómodamente más flujos en una sola sesión.

  • Suscripción más rápida: Añadir un nuevo abonado ya no requiere una negociación ICE/DTLS completa desde cero. La conexión existente se reutiliza, por lo que los nuevos flujos aparecen más rápidamente. Esto se nota especialmente en las sesiones en las que los participantes entran y salen con frecuencia.

  • Menor consumo de batería: Menos rutas de red activas significan menos paquetes keep-alive y menos activaciones de radio en el móvil, lo que en última instancia se traduce en una mayor duración de la batería para sus usuarios finales.

  • Reducción de la complejidad de la red: Una conexión significa un conjunto de enlaces NAT, una asignación TURN (si es necesario) y una ruta a través de los cortafuegos corporativos. Esto simplifica la implantación en entornos de red restrictivos y reduce los fallos de conectividad.

  • Calidad más predecible a escala: Dado que todos los medios comparten un único transporte, el ancho de banda se distribuye de forma más equitativa entre los flujos. No hay "conexiones competidoras" que se maten de hambre unas a otras, lo que se traduce en una experiencia más fluida y coherente para todos los participantes.

Casos prácticos

Applications benefit from Single Peer Connection whenever the number of subscribed streams starts to climb. Estos son los escenarios en los que marca la diferencia:

  • Grandes sesiones interactivas: Las aulas virtuales, la colaboración en grupo y las videollamadas multipartitas pueden tener muchos participantes publicando al mismo tiempo. A medida que aumenta el número de editores, cada cliente suscrito abre más conexiones entre pares. SPC mantiene el uso de recursos plano independientemente del número de flujos a los que se suscriba un cliente. Ten en cuenta que tu aplicación debe priorizar qué widgets de vídeo mostrar y gestionar a qué flujos suscribirse, ya que mostrar a todos los participantes en pantalla a la vez rara vez es práctico.

  • Applications mobile-first: Si sus usuarios utilizan teléfonos y tabletas, SPC es muy recomendable. Un menor número de conexiones se traduce en menos uso de la CPU, menos presión sobre la memoria y menor consumo de batería.

  • Redes de ancho de banda limitado o variable: En enlaces Wi-Fi, celulares o por satélite congestionados, un único bucle de control de la congestión asigna el ancho de banda de forma mucho más eficiente que un gran número de conexiones en competencia. Los usuarios obtienen un vídeo más fluido con menos buffering.

  • Redes corporativas y restringidas: Los cortafuegos, proxies y NATs pueden fallar o añadir latencia cuando tienen que seguir muchos flujos UDP simultáneos. Reducir todo a una sola conexión disminuye la posibilidad de problemas de conectividad detrás de políticas de red estrictas.

  • Escenarios rápidos de entrada/salida: En las salas de descanso o en cualquier otra experiencia en la que los participantes cambian frecuentemente de grupo, SPC elimina la sobrecarga de negociación por flujo, haciendo que las transiciones sean casi instantáneas.

  • Eventos híbridos con pantalla compartida: Cuando los presentadores comparten pantallas con las cámaras, el número total de flujos por abonado se duplica. SPC mantiene la sobrecarga constante, independientemente del número de flujos mixtos que reciba un cliente. Dado que el control de velocidad unificado tiene visibilidad sobre todos los flujos en la misma conexión, dará prioridad de forma inteligente a los flujos de pantalla compartida, asignando más ancho de banda allí donde la nitidez y la legibilidad son más importantes.

Requisitos y limitaciones

  • SPC sólo se admite en sesiones enrutadas (sesiones que utilizan el enrutador de medios de video de Vonage). No está disponible para las sesiones retransmitidas porque en una sesión retransmitida cada cliente se conecta directamente con cada uno de los otros clientes de igual a igual. No hay un enrutador de medios central a través del cual multiplexar los flujos, por lo que no hay nada que consolidar.

  • SPC está disponible a partir de versión 2.28.0 de los SDK nativos y versión 2.29.0 del SDK web.

  • SPC es desactivado por defecto. Debe habilitarla explícitamente al inicializar la sesión en el lado del cliente. Véase Activar la conexión entre pares únicos.

  • El CCP se aplica a sólo conexiones de abonados. El editor sigue utilizando su propia conexión peer para enviar medios al Media Router.

Activar la conexión entre pares únicos

Para activar Single Peer Connection, configúrela en el Client SDK al crear o inicializar la sesión. Para obtener una visión general rápida de SPC en el contexto de la creación de sesiones, consulte la sección Sección de conexión entre pares de la guía Crear una sesión. Las siguientes secciones muestran cómo habilitarla en cada SDK compatible.

SDK web

Fije el singlePeerConnection propiedad a true en el objeto de opciones que se pasa a OT.initSession():

SDK para Android

Utiliza el Session.Builder.setSinglePeerConnection() método:

SDK para iOS

Fije el singlePeerConnection propiedad en OTSessionSettings:

SDK para Windows

Fije el SinglePeerConnection de la propiedad Session.Builder clase:

SDK para macOS

Utiliza el otc_session_settings_set_single_peer_connection() función:

SDK para Linux

Utiliza el otc_session_settings_set_single_peer_connection() función:

SDK de React Native

Fije el enableSinglePeerConnection propiedad a true en el options puntal del OTSession componente:

Interacción con otras funciones

Vídeo escalable

Single Peer Connection funciona junto con vídeo escalable. Cuando ambas funciones están activadas, el Media Router sigue entregando capas de calidad múltiple a cada abonado a través de la conexión compartida entre pares. Cada abonado puede recibir una capa de resolución y velocidad de fotogramas diferente según cambien las condiciones de la red, exactamente igual que lo haría con conexiones peer independientes.

Audio Fallback

Audio fallback sigue funcionando normalmente con SPC activado. Si la red de un abonado se degrada, el enrutador de medios puede seguir eliminando el componente de vídeo y entregar audio sólo para el flujo afectado, independientemente de los otros flujos transportados en la misma conexión par.

Observabilidad del cliente y estadísticas del remitente

Cuando el SPC está activado, el estadísticas del lado del remitente La estimación del ancho de banda se comparte entre todos los abonados de la conexión paritaria. La tasa de bits máxima representa la tasa de bits más alta que la conexión entre iguales puede estimar, mientras que la tasa de bits actual refleja la tasa de bits de cada paquete de audio y vídeo. Al evaluar el ancho de banda disponible, calcula la estimación del ancho de banda total sumando las estimaciones de los paquetes individuales.

Para más información, consulte el guía de observabilidad del cliente.

Cifrado de extremo a extremo

Cifrado de extremo a extremo es compatible con Single Peer Connection. Los flujos multimedia se cifran individualmente antes de multiplexarse a través de la conexión entre pares compartida.

Buenas prácticas

  • Habilitar SPC para sesiones con muchos clientes de publicación: Si su aplicación tiene regularmente sesiones con más de unos pocos participantes, habilitar el SPC puede reducir notablemente el consumo de recursos y mejorar la estabilidad.

  • Prueba en los dispositivos de destino: Aunque el SPC reduce el uso de recursos en general, valide siempre los dispositivos específicos y las condiciones de red que encontrarán sus usuarios.

  • Supervise el ancho de banda con estadísticas del lado del remitente: Dado que todos los flujos de abonados comparten un único transporte, utilice las estadísticas del lado del emisor para conocer el ancho de banda total disponible y adaptar su aplicación en consecuencia.

Lecturas complementarias