Usamos IA para escribir más rápido, no para decidir qué es verdad. Alguien de Digital Samba ha leído cada línea de este artículo antes que tú.
Doce participantes. Doce conexiones a internet distintas. Doce tamaños de pantalla diferentes. ¿Cómo entrega tu plataforma de vídeo la mejor calidad posible a cada uno de ellos a la vez? En WebRTC hay dos enfoques radicalmente distintos para resolver este problema: Scalable Video Coding (SVC) y Simulcast. Los dos consiguen calidad de vídeo adaptativa, pero funcionan de formas completamente diferentes, y las decisiones de ingeniería afectan a todo: la carga del SFU, el uso de CPU y hasta lo bien que aguanta tu plataforma cuando a un participante se le cae el ancho de banda en mitad de la llamada.
Ya hemos escrito sobre SVC en profundidad. Este artículo es una comparativa completa de SVC frente a Simulcast en WebRTC: cómo funciona cada enfoque a nivel de arquitectura, dónde gana cada uno, qué códecs se usan en 2026 (incluidos VP9 SVC y AV1 SVC) y por qué Digital Samba eligió VP8 con Simulcast para la arquitectura de su SFU. Si estás construyendo una plataforma WebRTC nueva o auditando una que ya tienes, aquí tienes los detalles de ingeniería que necesitas.
Índice de contenidos
Las videollamadas en grupo plantean un problema de distribución que no existe en las sesiones uno a uno. En una llamada uno a uno, los dos participantes envían y reciben con la mejor calidad que soporten sus conexiones. En una llamada en grupo servida por una Unidad de Reenvío Selectivo (SFU, por sus siglas en inglés), el emisor publica un flujo que tiene que llegar a varios receptores a la vez. Cada receptor tiene un ancho de banda disponible distinto, un dispositivo con capacidades distintas y un tamaño de pantalla distinto asignado a cada mosaico de participante.
Enviar el mismo flujo de alta calidad a todo el mundo desperdicia ancho de banda para quien tiene una conexión justa y provoca pérdida de paquetes y congestión. Enviar solo un flujo de baja calidad penaliza a quien sí tiene ancho de banda y pantalla para recibir algo mejor. El requisito de ingeniería es la entrega de calidad adaptativa: poder entregar niveles de calidad distintos desde un único emisor a varios receptores, sin recodificar ni transcodificar en el servidor.
Dos enfoques de arquitectura cumplen este requisito. Simulcast codifica el vídeo en varios niveles de calidad a la vez y los envía todos. Scalable Video Coding codifica el vídeo una sola vez, pero incrusta varias capas de calidad dentro de un mismo flujo binario. Los dos dejan que el SFU tome decisiones de reenvío por receptor según el ancho de banda disponible, el tamaño del mosaico y quién está hablando, pero la mecánica, la eficiencia y los compromisos de cada enfoque son muy diferentes.
Con Simulcast, el navegador o el SDK del emisor codifica la misma fuente de vídeo en dos o tres niveles de calidad a la vez. Una configuración típica genera flujos independientes a 720p/1,5 Mbps, 360p/500 kbps y 180p/150 kbps. Cada codificación es un flujo totalmente independiente, completo y decodificable a esa resolución, sin depender de los demás. Si un flujo se pierde o se corrompe, los otros siguen intactos.
Los tres flujos suben al SFU, que los recibe y elige uno para reenviarlo a cada receptor (suscriptor) según una combinación de señales:
Un detalle fácil de pasar por alto: en una llamada grande, el emisor sigue publicando un número fijo de flujos (dos o tres) sin importar cuántos participantes haya en la sesión. El trabajo de distribución del SFU crece con el número de receptores, pero la carga de subida del emisor no.
Cambiar de un nivel de calidad a otro es rápido. El SFU deja de reenviar un flujo y empieza a reenviar otro, pero hace falta una petición de keyframe (fotograma de inicio) al emisor para que el decodificador del receptor arranque limpio en el flujo nuevo sin corrupción visual. Ese ida y vuelta añade un retardo breve, normalmente una fracción de segundo, y produce una pequeña discontinuidad visual durante los cambios de calidad. Este es el principal inconveniente de Simulcast frente a SVC.
El coste de ancho de banda de subida es el compromiso más citado de Simulcast. En la práctica, como los flujos de menor resolución son mucho más baratos de codificar, la sobrecarga combinada suele situarse entre el 30 y el 50 por ciento por encima del coste de un único flujo de alta calidad, aunque la cifra real depende mucho de la configuración de bitrate; algunas mediciones con compresión de subcapas más agresiva registran sobrecargas de apenas el 17 por ciento. Como ejemplo concreto, enviar 720p a 1,5 Mbps, 360p a 500 kbps y 180p a 150 kbps cuesta unos 2,15 Mbps en total, no 4,5 Mbps.
Arquitectura de flujos (simplificada): Emisor > [flujo 720p | flujo 360p | flujo 180p] > SFU > selecciona por receptor > el receptor A recibe 720p | el receptor B recibe 360p | el receptor C recibe 180p
Scalable Video Coding hace justo lo contrario. En lugar de codificar varios flujos independientes, SVC codifica el vídeo una sola vez e incrusta varias capas de calidad dentro de un único flujo binario. El SFU reenvía ese flujo por capas de forma selectiva: envía todas las capas a los receptores bien conectados y descarta las capas superiores para los que tienen poco ancho de banda. En ningún punto de la cadena de señal se recodifica.
SVC admite tres tipos de escalabilidad, y un despliegue concreto puede usar uno o cualquier combinación:
El SFU lee los metadatos de capa por paquete (los identificadores temporales y espaciales incrustados en las cabeceras de extensión RTP) para decidir qué paquetes reenvía a cada receptor. Los receptores con conexiones justas reciben la capa base o un subconjunto limitado de capas de mejora. Los bien conectados reciben la pila de capas completa.
Como cada capa de mejora depende de la capa base para decodificarse, perder paquetes de la capa base hace que las capas superiores no se puedan decodificar. Esta cadena de dependencias es la principal preocupación de fiabilidad de SVC en redes con pérdidas. Desde el punto de vista del SFU, en cambio, descartar capas es barato en cómputo: el SFU lee la etiqueta de identificador de capa, descarta los paquetes por encima del umbral objetivo y reenvía el resto sin transcodificar.
Arquitectura de capas (simplificada): el emisor codifica un solo flujo > [capa base | temporal L1 | temporal L2 | espacial L1 | espacial L2] > el SFU lee los identificadores de capa > reenvía un subconjunto por receptor > receptor A (todas las capas) | receptor B (base + temporal L1) | receptor C (solo base)
Esta comparativa de SVC frente a Simulcast recoge la ingeniería real en siete dimensiones. Los resultados de abajo reflejan las condiciones de producción de 2026, incluidas las limitaciones de compatibilidad con navegadores más relevantes para los despliegues reales.
|
Dimensión |
Simulcast |
SVC |
|
Sobrecarga de ancho de banda del emisor |
30–50 % por encima de un solo flujo de alta calidad (varía con la configuración de bitrate) |
10–15 % por encima de un solo flujo (un único flujo por capas) |
|
Coste de CPU en el SFU |
Bajo por flujo; crece de forma lineal con el número de emisores |
Bajo (solo descarte de paquetes; no requiere transcodificación) |
|
Compatibilidad con navegadores |
Todos los navegadores principales: Chrome, Firefox, Safari, Edge |
Solo Chrome para SVC espacial; Firefox solo tiene escalabilidad temporal; Safari no codifica VP9 |
|
Transición de calidad |
Cambio con keyframe; retardo breve (normalmente una fracción de segundo) |
Descarte de capas suave; no hace falta petición de keyframe |
|
Dificultad de depuración |
Baja: ¿cuál de los N flujos ha fallado? |
Mayor: hay que analizar la cadena de dependencias entre capas |
|
Dependencia del códec |
VP8, VP9, H.264, AV1 |
SVC espacial completo: solo VP9 y AV1. Escalabilidad temporal: disponible en VP8 y H.264 en la mayoría de las pilas de SFU |
|
Aceleración por hardware |
Muy disponible para los codificadores VP8 y H.264 |
Limitada; la codificación SVC no siempre está acelerada por hardware |
La fila de compatibilidad con navegadores es la columna más decisiva de 2026. El VP9 SVC completo (capas espaciales y temporales combinadas) es una capacidad exclusiva de Chrome. Firefox admite VP9, pero solo envía escalabilidad temporal, no capas espaciales. Safari no codifica VP9 en WebRTC en absoluto. Esta limitación de codificación de VP9 afecta por igual a cualquier estrategia con VP9, sea SVC o Simulcast: un participante con Safari no puede enviar VP9 use el SFU el enfoque que use. Si tu plataforma da servicio a algún participante con Safari o iOS, una estrategia basada solo en VP9 (SVC o Simulcast) necesita un plan de respaldo de códec por participante. VP8 Simulcast (o H.264 Simulcast) es el estándar de producción multinavegador porque lo universalmente compatible es VP8, no Simulcast en sí.
SVC no es un enfoque peor. Es un enfoque más especializado que funciona claramente mejor en los escenarios donde sus compromisos encajan con el contexto del despliegue.
Cuando se dan estos escenarios y todos los participantes usan Chrome, VP9 SVC es una opción de producción viable hoy. Google Meet usa VP9 SVC de forma interna por exactamente estas razones: menor ancho de banda de subida y adaptación de calidad más suave a gran escala, en un entorno mayoritariamente Chrome.
Para la mayoría de las plataformas WebRTC de producción que dan servicio a bases de usuarios reales, Simulcast es la decisión de arquitectura correcta. Hay cuatro motivos que lo explican de forma consistente.
Digital Samba usa VP8 con Simulcast en su SFU basado en Janus. Fue una decisión de arquitectura deliberada, no un valor por defecto. VP8 nos da compatibilidad universal con navegadores y un coste de codificación de CPU bajo. Simulcast gestiona la calidad adaptativa multinavegador sin dependencia de códec. El SFU de Janus encamina los paquetes de medios cifrados sin mezclarlos ni decodificarlos, lo que mantiene la selección de flujo ligera y la latencia de procesamiento baja de forma consistente. Cada participante, en cualquier navegador y cualquier dispositivo, recibe calidad adaptativa fiable.
Esa decisión sí conlleva un coste de ancho de banda que conviene nombrar sin rodeos. VP9 comprime en torno a un 30 a 50 por ciento mejor que VP8 a igual calidad (las cifras varían según el contenido y los ajustes), así que una plataforma con VP8 Simulcast acepta un ancho de banda mayor de subida y de bajada para todos los participantes con Chrome y Firefox frente a una ruta con VP9. Aceptamos ese compromiso a propósito: una estrategia de un solo códec que funciona igual en todos los navegadores, Safari incluido, simplifica la lógica del SFU, elimina las comprobaciones de capacidad de códec por participante y quita de en medio toda una clase de casos límite en la negociación de códecs.
VP9 Simulcast merece la pena como opción complementaria en sesiones de Chrome a Chrome donde la eficiencia de ancho de banda sea prioritaria. Pero conviene dejarlo claro: VP9 Simulcast se enfrenta al mismo requisito de respaldo para Safari que VP9 SVC. La ventaja multinavegador viene de VP8, no de Simulcast como enfoque.
Está surgiendo un tercer enfoque que esquiva la decisión entre SVC y Simulcast a nivel de arquitectura: en lugar de enviar más calidad desde el emisor, usar IA para mejorar la calidad en el receptor.
La superresolución con IA aplica redes neuronales para escalar un flujo de baja resolución en el lado del receptor. Un flujo de entrada a 360p se puede mostrar con una calidad percibida bastante cercana a 720p sin coste de bitrate adicional para el emisor. Combinada con reducción de ruido por IA e interpolación de fotogramas, la mejora en el receptor puede producir una imagen mejor a partir de una entrada limitada por ancho de banda, sin cambiar la cadena de codificación.
NVIDIA Maxine (comercializada también como NVIDIA AI for Media) ofrece un SDK de producción para esto en cadenas WebRTC. Puede ejecutarse en el lado del cliente, donde la mejora ocurre en la propia GPU del receptor y requiere hardware con capacidad suficiente para asumir la carga, o en el lado del servidor, donde servidores de medios equipados con NVIDIA hacen el procesamiento para todos los receptores. La ruta del servidor elimina la dependencia del hardware del usuario final, pero exige invertir en infraestructura de GPU. Google Meet ha estado explorando la mejora en el receptor en una dirección parecida, aunque no consta un despliegue amplio de forma pública. El coste de cómputo es alto, lo que hoy limita su aplicación práctica a dispositivos o despliegues con hardware capaz. En móviles y portátiles modestos, justo los participantes que más se beneficiarían de una mejora de calidad, la IA en el receptor todavía no es práctica en 2026.
Un calendario realista para este enfoque en casos de uso concretos es 2027 a 2028. Quien esté construyendo una plataforma ahora debería tener en cuenta esta dirección al fijar los objetivos de calidad de codificación y al diseñar sus cadenas de calidad adaptativa.
Con Simulcast, el emisor codifica el mismo vídeo en varios niveles de calidad a la vez y los envía todos como flujos independientes. El SFU elige qué flujo reenvía a cada receptor según el ancho de banda disponible, el tamaño del mosaico y quién habla. Con SVC, el emisor codifica una sola vez y produce un único flujo por capas. El SFU descarta de forma selectiva las capas superiores para los receptores con poco ancho de banda. SVC es más eficiente en ancho de banda en el emisor; Simulcast ofrece mayor compatibilidad con navegadores y un análisis de fallos más sencillo.
No. Safari no puede codificar VP9 en WebRTC, lo que descarta VP9 SVC como estrategia de envío para cualquier participante con Safari. La misma limitación descarta también VP9 Simulcast desde Safari. Safari sí puede decodificar VP9 desde Safari 14 / iOS 14 en adelante, pero al no poder codificar, los participantes con Safari tienen que recurrir a VP8 o H.264, independientemente de que el SFU use SVC o Simulcast.
SVC (Scalable Video Coding, codificación de vídeo escalable) es una técnica que codifica el vídeo una sola vez en un único flujo dividido en capas: una capa base de baja calidad y varias capas de mejora temporal, espacial o de fidelidad. Al descartar capas superiores, un servidor puede adaptar la calidad a cada receptor sin recodificar. En WebRTC, el SVC espacial completo está disponible sobre todo en VP9 y AV1.
SVC usa bastante menos ancho de banda de subida. Un único flujo SVC por capas añade una sobrecarga mínima frente a codificar a un solo nivel de calidad. Simulcast codifica dos o tres flujos independientes; en una configuración típica de tres capas, el coste de subida combinado se sitúa entre el 30 y el 50 por ciento por encima de un solo flujo de alta calidad, aunque la sobrecarga real depende de lo agresiva que sea la compresión de las subcapas. Para emisores en conexiones móviles justas, esta diferencia importa. La codificación SVC espacial completa está disponible solo en Chrome en 2026; Firefox ofrece escalabilidad temporal; Safari no codifica VP9.
No se espera un soporte amplio de AV1 SVC entre navegadores antes de 2028. Chrome admite la codificación AV1 en WebRTC desde 2021, pero la codificación en tiempo real exige mucha CPU y la aceleración por hardware se limita a chips recientes, que es lo que hoy la frena para las llamadas bidireccionales generales. La pila WebRTC de Safari todavía no expone la codificación AV1, así que no está disponible para ningún participante con Safari. Los casos de compartir pantalla son los más avanzados, donde la eficiencia de AV1 a tasas de fotogramas bajas ya resulta interesante en los navegadores compatibles. Diseña tu arquitectura ahora para poder añadir AV1 SVC más adelante sin rehacer tu SFU.
Para ver cómo gestiona Digital Samba la calidad de vídeo adaptativa en un despliegue de producción, solicita una demo y te enseñamos la arquitectura de primera mano.
Y si quieres la imagen completa de la arquitectura de medios de Digital Samba, incluidos el diseño de nuestro SFU y nuestro enfoque de cifrado, descarga el Informe de Seguridad.
1. Ant Media. (2025). VP9 codec: Google's open-source video codec for streaming. Ant Media.
2. Ant Media. (2026). WebRTC browser support 2026: Complete compatibility guide. Ant Media.
3. Daily.co. (s. f.). Smooth sailing with simulcast. Daily.co Blog.
4. Digital Samba. (2024). AV1 vs H.264 vs VP9 vs VP8: Video codec guide 2026. Digital Samba Blog.
5. Digital Samba. (2024). SVC in video conferencing: How it works and why it matters. Digital Samba Blog.
6. Digital Samba. (2024). Why Janus is Digital Samba's preferred SFU for WebRTC applications. Digital Samba Blog.
7. Divorra, O. (s. f.). Optimising video quality using simulcast. webrtcHacks.
8. Forasoft. (2026). AV1 in production: When royalty-free codec saves money. Forasoft Blog.
9. Garcia Murillo, S. y Garcia, G. (s. f.). Chrome's WebRTC VP9 SVC layer cake. webrtcHacks.
10. GetStream.io. (s. f.). WebRTC codecs: What's supported?. GetStream.io Resources.
11. Levent-Levi, T. (s. f.). Simulcast. BlogGeek.me WebRTC Glossary.
12. Levent-Levi, T. (s. f.). SVC in WebRTC: VP9 & AV1 scalable video coding explained. BlogGeek.me WebRTC Glossary.
13. Levent-Levi, T. (2025, diciembre). Five WebRTC predictions for 2026: AV1, MOQ, and what might break next. WebRTC.ventures.
14. WebRTC.ventures. (2026, abril). Should you still consider the AV1 codec in your WebRTC architecture?. WebRTC.ventures Blog.