¿Qué es el ancho de banda de video?

El ancho de banda de video es la capacidad de transferencia de red requerida o consumida para entregar video a lo largo del tiempo. El requisito depende de la tasa de bits resultante del encoding, la sobrecarga del protocolo, los flujos simultáneos y las variaciones de la tasa de transferencia efectiva disponible.

Cómo funciona el ancho de banda de video

El término abarca dos magnitudes distintas, y confundirlas causa la mayoría de los errores de planificación. Una es lo que exige un flujo: los bits por segundo que necesita una variante, es decir, su tasa de bits de video codificado más el audio y la sobrecarga del contenedor. La otra es lo que proporciona una conexión: la tasa de transferencia efectiva que puede sostener la red de quien ve el contenido, que cambia de un momento a otro. Los formatos de streaming publican la primera para que los reproductores puedan compararla con su propia medición de la segunda. En HLS, cada variante de la lista de reproducción multivariante (maestra) lleva un atributo obligatorio BANDWIDTH en bits por segundo, definido como la tasa de bits máxima de los segmentos, y un AVERAGE-BANDWIDTH opcional; ambos incluyen la sobrecarga del contenedor, pero no la de HTTP, TCP o IP. En MPEG-DASH, cada Representation lleva un valor @bandwidth, que las directrices de DASH-IF explican con un modelo de cubeta con fugas junto con el tiempo mínimo de búfer. Un reproductor estima la tasa de transferencia efectiva a partir de sus descargas recientes de segmentos y selecciona una variante cuya tasa declarada encaje dentro de esa estimación. Para un operador, las mismas cifras por flujo, multiplicadas por la cantidad de espectadores simultáneos, dan la tasa de transferencia efectiva agregada de entrega en el borde de la red, y esa tasa multiplicada por el tiempo de visualización da el volumen de entrega.

Datos clave

  1. ¿Qué cifra va en la lista de reproducción, el promedio o el pico? En HLS, BANDWIDTH es el pico: para una variante con una sola lista de reproducción multimedia, la mayor tasa de bits de cualquier secuencia contigua de segmentos con una duración total de entre 0,5 y 1,5 veces la duración objetivo. AVERAGE-BANDWIDTH es el tamaño total de los segmentos dividido por la duración de la lista de reproducción. Cuando el audio u otras variantes se empaquetan por separado, el RFC 8216 exige que cada valor sea la suma más alta entre las combinaciones de variantes que se pueden reproducir, por lo que medir solo la lista de reproducción de video declara un valor inferior al real para la variante. Estas mediciones necesitan segmentos terminados. Cuando la lista de reproducción se publica antes de que todos los segmentos estén codificados, como en un evento en vivo, el RFC indica que se use el valor de un período representativo de contenido similar codificado con los mismos ajustes. También advierte que un valor inexacto puede causar interrupciones de reproducción o impedir que los clientes reproduzcan la variante. Con el encoding de tasa de bits variable, las dos cifras divergen: para contenido bajo demanda, la especificación de creación de contenido de Apple indica que el pico no debería superar el 200 % del promedio y exige que el pico medido se sitúe dentro de un margen del 10 % respecto al BANDWIDTH declarado. El ajuste de tasa de bits de video de un codificador no corresponde a ninguna de las dos cifras, porque los valores de la lista de reproducción se calculan a partir de segmentos empaquetados e incluyen el audio y la sobrecarga del contenedor.
  2. ¿Cuánto más rápida que una variante debe ser la conexión del espectador? Debe superarla por el margen de seguridad del reproductor, no basta con igualarla. hls.js, por ejemplo, documenta dos factores predeterminados: su comprobación normal para seleccionar el nivel actual o uno inferior exige que 0,95 veces su estimación de ancho de banda supere la tasa de bits del nivel, y solo sube de nivel cuando 0,7 veces la estimación supera la tasa de bits del nivel superior. Para un nivel evaluado a 5 Mbit/s, la condición para subir es una estimación superior a unos 7,1 Mbit/s. La tasa de bits que se compara depende del búfer: de forma predeterminada, el código fuente de hls.js usa AVERAGE-BANDWIDTH, cuando la lista de reproducción lo declara, mientras el búfer contiene al menos el equivalente a la duración de dos segmentos y no se prevén pausas por recarga del búfer, y BANDWIDTH en los demás casos. También aplica otras comprobaciones, como el tiempo previsto para obtener un segmento. La estimación es una media móvil de las descargas recientes, por lo que tarda en reflejar la recuperación de una red. Trata el resultado como una condición sobre la estimación del reproductor, no como una velocidad de conexión garantizada. Los factores son los valores predeterminados de configuración abrBandWidthFactor y abrBandWidthUpFactor; otros reproductores aplican sus propias reglas, así que revisa el que distribuyes.
  3. ¿Cómo calculo el volumen de entrega para una audiencia? Multiplica la tasa de bits media de cada variante por el número de espectadores que la ven para obtener la tasa de transferencia y, después, por el tiempo de visualización para obtener el volumen; usa las cifras máximas para dimensionar la capacidad ante picos. Por ejemplo, 1.000 espectadores simultáneos de una variante con una media de 3 Mbit/s necesitan unos 3 Gbit/s de transferencia desde el borde de la red, lo que equivale aproximadamente a 1,35 TB por hora. Esa cifra describe lo que el borde de la red envía a los espectadores. No describe el tráfico del servidor de origen, que depende de cuántas solicitudes responde la CDN desde la caché, y excluye la sobrecarga de HTTP, TCP e IP, que las definiciones de tasa de bits de HLS no incluyen. Los espectadores también se reparten entre los niveles de la escala de variantes, por lo que la proporción correspondiente a cada variante según las analíticas del reproductor ofrece una cifra más precisa que suponer que todos ven la variante superior.
  4. ¿Qué tan baja debe ser la tasa de bits de la variante inferior? Para iOS, la especificación de creación de contenido HLS de Apple exige que una lista de reproducción multivariante entregada a través de redes móviles contenga una variante cuyo valor máximo de BANDWIDTH sea de 192 kbit/s o menos. Incluye una variante de respaldo de este tipo para las audiencias que usan redes móviles en dispositivos iOS; la especificación no lo establece como regla general para otras plataformas.

Cuándo importa el ancho de banda de video

Calcula el ancho de banda agregado al dimensionar la capacidad de la CDN y construir una escala de variantes adaptativa. Las variantes cuya tasa de bits supera la tasa de transferencia disponible para los espectadores provocan pausas, mientras que las tasas demasiado conservadoras reducen la calidad.

Cómo ayuda Transloadit con el ancho de banda de video

Transloadit produce las variantes y las listas de reproducción que describen estas cifras. El Robot /video/encode realiza el encoding de una variante por Step, con los ajustes preestablecidos hls/ y dash/ a resoluciones fijas, y el Robot /video/adaptive agrupa esos Steps en una salida HLS, MPEG-DASH o CMAF y genera los archivos de manifiesto y de lista de reproducción. Por tanto, tu escala de variantes es el conjunto de Steps de /video/encode que pasas a /video/adaptive. Cualquier valor de un ajuste preestablecido, incluida la tasa de bits, se puede sobrescribir mediante el parámetro ffmpeg, y segment_duration en /video/adaptive establece la duración de los segmentos.

La tabla de ajustes preestablecidos enumera hls/ y dash/ como VBR sin indicar una tasa de bits, y las páginas de los Robots no explican cómo se calculan los atributos de ancho de banda de la lista de reproducción generada. Inspecciona la lista de reproducción generada para conocer los valores declarados y contrástalos con los tamaños de los segmentos antes de usarlos en estimaciones de capacidad.

Explora las capacidades de entrega de Transloadit

Fuentes

Convierte tus conocimientos sobre multimedia en un pipeline funcional

Conecta las subidas, el procesamiento, la IA, el almacenamiento y la entrega mediante una sola API declarativa, mientras nos encargamos por ti del stack de encoding, el escalado y los cambios constantes de formatos.

Prueba Transloadit gratis