MULTICAST VIRTUAL
definido por software en el lado del cliente
Vídeo por internet, significa mucho tráfico.
No hace falta detenerse en un análisis muy profundo para darse cuenta de que el tráfico de internet, y de manera más especifica el tráfico necesario para distribuir video por internet, aumenta de manera exponencial.
Aumenta el número de horas de videos y TV en directo vistos por streaming, aumenta el número de usuarios, aumenta el número de dispositivos con los que los usuarios miran contenidos de video, aumenta la calidad requerida, aumenta el «frame rate», 1080p ya es estándar, resoluciones de 4K y superiores a la vuelta de la esquina. ¿Aumenta todo? casi. Las mejoras en las técnicas de compresión ayudan ligeramente, pero el aumento del tráfico dedicado al vídeo crece imparable.
Según un informe de Cisco titulado «La Era Zettabyte» y que puede leer completo aquí ,
El vídeo en directo será el 13% del total del tráfico de internet en 2021. El vídeo en directo crecerá 15 veces entre 2016 y 2021.
El tráfico total de vídeo se triplicará desde 2016 hasta 2021, y globalmente, el tráfico de vídeo será el 82% de todo el tráfico IP en 2021 (el 73% en 2016).

Tráfico de internet en función de la resolución de la pantalla. Fuente: Cisco

Tráfico de internet por categoría. Fuente: Cisco
El coste de transmitir vídeo unicast por internet.
En un post anterior que puede leer aquí, describíamos los métodos para transmitir vídeo en una red IP.
Los proveedores de contenido que transmiten vídeo por internet, habitualmente, transmiten usando Unicast y protocolos de streaming http.
Con unicast, el CDN (Content Delivery Network) o servidor de contenidos, debe mandar un stream por cada cliente. El cálculo es sencillo, 1.000 clientes viendo un contenido de 1Mbps, consumen 1Gbps. Si tenemos 1.000.000 de clientes, consumen 1Tbps.
Como la tarifa de los proveedores de servicio de CDN es «a tanto el Gbps», este tráfico ingente, se traduce en facturas de consumo igualmente imponentes.
¿Hay alguna manera de reducir ese coste? Si, reduciendo el tráfico.
La tecnología Multicast permite reducir el tráfico del CDN, porque los streams se replican/copian dentro de la infraestructura de red reduciendo por tanto la carga del CDN.
Sin embargo, los operadores de streaming de vídeo, generalmente, no pueden gestionar la infraestructura de la red y el multicast.
¿Dónde podemos actuar para replicar los streams de vídeo de manera distribuida en la red? En el dispositivo del cliente.
Redes P2P para compartir contenidos entre dispositivos cliente.
Las redes peer-to-peer (P2P, por sus siglas en inglés) son conocidas para el intercambio de ficheros y contenido entre iguales. Son redes de dispositivos que actúan simultáneamente como clientes (receptores de flujo de datos) y servidores (replican y reenvían el flujo de datos) respecto a los demás dispositivos de la red.
Las redes peer-to-peer aprovechan, administran y optimizan el uso del ancho de banda de los demás usuarios de la red por medio de la conectividad entre los mismos, mejorando el rendimiento en las conexiones y transferencias, y reduciendo la carga del CDN.
Red P2P
Por tanto, las soluciones P2P podrían utilizarse para aplicaciones de vídeo reduciendo la carga del CDN y reduciendo por tanto los costes operativos.
Sin embargo, en el pasado las soluciones P2P requerían la instalación de programas propietarios o plugins en el dispositivo del cliente. Esto ha representado una barrera infranqueable para que la industria adoptase soluciones P2P para la distribución de vídeo por internet.
¿Continúa esta situación? No. WebRTC al rescate.
¿Qué es WebRTC?
WebRTC son las siglas de Web Real Time Communication (sin plugins).
Está incorporado en la inmensa mayoría de los navegadores (chrome, firefox, opera, y safari) y dispositivos, por lo que el usuario no necesita instalar ningún software en su dispositivo.
Permite la conexión DIRECTA entre navegadores y compartir datos entre ellos. El concepto clave es conexión DIRECTA. A diferencia de los web sockets donde la comunicación entre clientes requiere pasar por el servidor, los clientes se comunican entre ellos sin la intervención del servidor.
Ofrece comunicaciones encriptadas TLS, privadas y seguras de forma nativa usando protocolos SCTP. Esto incluye las direcciones IP de los clientes, que no se comparten en ningún caso. Es un método de conexión absolutamente seguro.
No tiene limitaciones de bit-rate ni de resolución, y es por tanto muy apropiado para aplicaciones de streaming de vídeo.

Comunicación DIRECTA entre clientes usando WebRTC
WebRTC es la tecnología sobre la que se ha desarrollado la solución Virtual Multicast Definido por Software en el Lado del Cliente. Usando esta solución, los clientes replican el contenido hacia otros clientes para reducir la carga del CDN.
¿Cómo funciona el streaming de vídeo a través de internet público?
El primer condicionante de una tecnología que vaya a utilizarse para transmitir vídeo por internet es que debe poder adaptarse a condiciones cambiantes de la red. Cuando visitamos una página web con texto, si en ese momento la red es más lenta y tarda un poco más en cargarla, tiene poca importancia para el usuario. Sin embargo, en aplicaciones de vídeo, esto no es aceptable y debe asegurarse una reproducción fluida en todos los casos.
Los formatos modernos de streaming cómo HLS (HTTP Live Streaming) y MPEG-DASH (Dynamic Adaptative Streaming) se basan en trocear el stream de video en pequeños segmentos, normalmente de una duración entre 2 y 10 segundos. Estos pequeños segmentos se almacenan en la cache del dispositivo del cliente, y el player los va a recuperar cuando los necesite asegurando una reproducción fluida.

Segmentación de streams de vídeo en directo o grabado
Virtual Multicast Definido por Software en el Lado del Cliente
Un software preinstalado y nativo en el navegador que permite enviar y recibir contenido, y una tecnología de streaming que se basa en la segmentación del stream en pequeños archivos que se guardan en el caché del dispositivo cliente. Tenemos todos los ingredientes básicos para poder replicar los archivos segmentados, y reducir la carga del servidor con un Multicast Virtual.
Virtual Multicast lleva WebRTC a un nivel superior, añadiendo un controlador (Director) en la nube y un script en la página o aplicación móvil. Estos dos elementos permiten gestionar el tráfico desde el CDN o entre los distintos clientes sin afectar (o incluso mejorar) la percepción de calidad del usuario.
El proceso se inicia siempre con una conexión del cliente al CDN. La descarga desde el CDN se inicia solo después de que el usuario ha sido autorizado. De esta manera se mantienen todas las configuraciones que el broadcaster haya establecido en el CDN: Permisos de usuario o geoblocking, publicidad pre-roll, etc.
Virtual Multicast no interfiere con el DRM ni con un eventual encriptado del stream, dado que los segmentos que se replican entre los usuarios son los mismos segmentos que los usuarios reciben directamente del CDN.
El script cliente de Virtual Multicast, conecta simultáneamente con el motor de gestión y análisis en la nube.
El Virtual Multicast Director mantiene un registro de los dispositivos que están reproduciendo ese recurso, y ordena al script cliente que establezca conexiones WebRTC entre ellos y empiecen a compartir los segmentos del stream que tienen almacenados en su cache.
Las funciones de Virtual Multicast Director son:
- Gestionar la lista de dispositivos que reproducen un recurso de vídeo y las conexiones entre ellos.
- Seleccionar dinámicamente los mejores dispositivos para compartir el recurso, el ancho de banda disponible, la topología de red, las prestaciones del hardware del dispositivo, etc.
- Habilitar o deshabilitar el download o upload de Virtual Multicast en función de la conexión de cada uno de los clientes.
- Analítica del streaming en tiempo real con información del número de usuarios, distribución geográfica de los usuarios, ISP’s, tipo de dispositivo usado, el ancho de banda del CDN y ancho de banda Virtual Multicast (ahorro en acho de banda de CDN), el buffering ratio, etc.
- Envío diario de la analítica del streaming por e-mail.

Panel de control para habilitar el «download» y «upload» del cliente Virtual Multicast en función de su tipo de conexión.
El Download consiste en recibir segmentos del stream desde otros clientes, en lugar de solicitarlos al CDN. El Upload consiste en enviar segmentos de streams hacia otros clientes. Utilizar el Upload implica, naturalmente, aumentar el ancho de banda utilizado.
Esto no tiene mayor importancia cuando el cliente está conectado a través de Ethernet o WiFi, porque el ancho de banda de bajada y de subida son recursos independientes y uno no limita al otro.
Sin embargo, cuando el cliente se conecta usando una red de datos de telefonía móvil, es muy aconsejable deshabilitar el upload para evitar hacerle incurrir en el coste que pueda suponer.
Ventajas de Virtual Multicast
Reducción del ancho de banda de CDN usado: La mayor ventaja de Virtual Multicast es que ofrece una reducción muy significativa del ancho de banda de CDN desde un número muy pequeño de usuarios concurrentes. Dependiendo del número de usuarios concurrentes y la distribución geográfica, se pueden obtener reducciones entre el 40 y el 95% del tráfico de CDN.
En aplicaciones de producción con streaming real 24/7 y clientes distribuidos en todo el mundo, se están obteniendo reducciones del tráfico del CDN superiores al 60% de manera consistente.

Ahorro de ancho de banda de CDN
Sin cuellos de botella: El flujo de streams descentralizado añade redundancia al sistema y elimina cuellos de botella. En el caso de problemas en la conexión entre dos clientes, el stream se descargará desde otros clientes.
No requiere plugins externos: WebRTC está incorporado en la mayoría de navegadores y sistemas. El script de Virtual Multicast se incorpora en la página web o aplicación para dispositivos móviles o TVs. El usuario final no debe precisa instalar nada.
Comunicación encriptada por defecto: Las comunicaciones usando WebRTC están encriptadas de manera nativa. Funciona sobre TCP o UDP y con NAT y firewalls.
Analítica avanzada: El panel de control de Director ofrece información de la audiencia, con información de geolocalización, tipo de dispositivo, etc.
Carga de vídeos más rápida.
Menos Rebuffering.
No añade latencia perceptible.
Buffer inteligente: El cliente intenta descargar el stream desde otros clientes, y si no lo consigue, lo descarga directamente del CDN.
Múltiples tests en situaciones reales indican que el tiempo que un usuario permanece viendo un contenido usando Virtual Multicast aumenta un 10%, respecto a la misma situación, pero deshabilitando Virtual Multicast. Esto sugiere que, aparte de la reducción de coste, la percepción de calidad por parte del usuario mejora substancialmente con Virtual Multicast.
Compatibilidad con Navegadores.
Virtual Multicast es compatible con los siguientes navegadores para ordenador:

Chrome

FireFox

Safari

Opera
NO es compatible con internet Explorer, ni con Microsoft Edge. Explorer no implementa WebRTC y Edge incorpora una implementación incompleta.
Compatibilidad con navegadores para dispositivos móviles:
Virtual Multicast puede habilitarse en navegadores para dispositivos móviles basados en chrome (Android Chrome, Chrome WebView), apps Electron basadas en Chromium, y Safari para iOS.
Virtual Multicast NO es compatible con chrome para iOS.
Integración con el Player.
Virtual Multicast se integra a nivel de player y más concretamente en el «player’s media engine». Virtual Multicast reemplaza el downloader del player con su propio downloader, diseñado específicamente para gestionar el tráfico de múltiples fuentes, y dejarlo disponible fuera del buffer del player para ser compartido hacia otros dispositivos.
Virtual Multicast es compatible con los siguientes players: hls.js, Dash.js, ShakaPlayer, Jw Player, Video.js, Bitmovin, THEOPlayer, castLabs, Brightcove, Clappr, Flowplayer, Akamai Adaptative Media Player, Kaltura, Mpx Player, Azure Media Player, Radiant Media Player, Rx-player, ExoPlayer, Nexplayer, Apple AVPlayer.
Compatibilidad con dispositivos.
Virtual Multicast es compatible con: Ordenadores, Smartphones y tabletas android, Amazon firetv, androidTV (TVs y STB), iOS, tvOS, Samsung TVs Tizen, LG TVs webOS (3.0), chromecast.

Ordenadores

Android

iOS

Chromecast

Amazon fire TV

Android TV STB

AndroidTV

AppleTV

Samsung Tizen

LG WebOS
¿Interesante?
¿Quiere que le informemos cuando publiquemos nuevos artículo, webinars y otras informaciones?
Otros artículos recientes:
Virtual Multicast Definido por Software en el Lado del Cliente
MULTICAST VIRTUAL definido por software en el lado del cliente Vídeo por internet, significa mucho tráfico. No hace falta detenerse en un análisis muy profundo para darse cuenta de que el [...]
Streaming IPTV – Broadcast, Multicast y Unicast
Para entender cómo funciona la distribución de vídeo digital de IPTV, piense en su red LAN como un flujo de datos que se mueven desde la cabecera de IPTV, a los usuarios que necesitan [...]