Guía de procedimientos recomendados de streaming en vivo de Media Services
A menudo, los clientes preguntan cómo pueden reducir la latencia de su transmisión en vivo. En este artículo se describen los procedimientos recomendados para lograr secuencias en directo de baja latencia además de la codificación de eventos en directo.
Nota
Antes de continuar leyendo este artículo, lea el artículo HLS de baja latencia (LL-HLS) para comprender la baja latencia con la codificación de eventos en directo. A continuación, vuelva a esta guía para comprender lo que más puede afectar a la latencia de streaming.
Hay muchos factores que determinan la latencia de un extremo a otro de una secuencia además de cómo se codifica el medio. Estos son algunos de los que debe tener en cuenta:
Retrasos en el lado del codificador de contribución. Cuando los clientes usan un software de codificación como OBS Studio, Wirecast u otros usuarios para enviar una transmisión en vivo rtMP a Media Services. La configuración de este software afecta a la latencia de un extremo a otro de una transmisión en vivo.
Retrasos en la canalización de streaming en vivo en Azure Media Services
Rendimiento de la red CDN
Algoritmos de almacenamiento en búfer del reproductor de vídeo y las condiciones de red en el lado cliente
Tiempo de aprovisionamiento
Codificador de contribución
Está en control de la configuración de la configuración del codificador de origen antes de que la secuencia RTMP llegue a Media Services. Estas son algunas recomendaciones para la configuración que le proporcionarían la menor latencia posible:
Elija la región física más cercana al codificador de contribución de la cuenta de Media Services. Esto garantizará que tenga una conexión de red excelente a la cuenta de Media Services.
Use un tamaño de fragmento coherente. Se recomienda un tamaño de GOP de 2 segundos. El valor predeterminado en algunos codificadores, como OBS, es de 8 segundos. Asegúrese de cambiar esta configuración.
Use el codificador de GPU si el software de codificación le permite hacerlo. Esto le permitiría descargar el trabajo de CPU en la GPU.
Use un perfil de codificación optimizado para baja latencia. Por ejemplo, con OBS Studio, si usa el codificador Nvidia H.264, es posible que vea el valor preestablecido "latencia cero".
Envíe contenido que no sea más alto en resolución que el que planea transmitir. Por ejemplo, si usa eventos en directo de codificación estándar de 720p, envíe una secuencia que ya esté en 720p.
Mantenga la velocidad de fotogramas en 30 fps o inferior a menos que use eventos en directo de paso a través. Aunque se admite la entrada de 60 fps para eventos en directo, la salida del evento en directo de codificación sigue sin ser superior a 30 fps. Para HLS de baja latencia, se recomienda la velocidad de fotogramas fija y la duración máxima del fotograma no debe superar los 0,5 segundos para la mejor experiencia.
Configuración del evento en directo de Azure Media Services
Estas son algunas configuraciones que le ayudarán a reducir la latencia en nuestra canalización:
Use las opciones de transmisión de baja latencia para eventos en directo. Para las opciones de transmisión de codificación estándar (hasta 720p) y de codificación Premium (hasta 1080p), a menos que necesite una ventana DVR de más de 6 horas o una salida de streaming sin problemas, use la configuración latencia de flujo de baja latencia.
Se recomienda elegir la salida de CMAF para la reproducción de HLS y DASH. Esto le permite compartir los mismos fragmentos para ambos formatos. Aumenta la proporción de aciertos de caché cuando se usa la red CDN. Por ejemplo:
Tipo Formato Ejemplo de dirección URL HLS CMAF format=m3u8-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-cmaf)
MPEG-DASH CMAF format=mpd-time-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-cmaf)
Si debe elegir la salida de TS, use una relación de empaquetado HLS de 1. Esto nos permite empaquetar solo un fragmento en un segmento HLS. No obtendrás las ventajas completas de LL-HLS en reproductores nativos de Apple.
Optimizaciones del reproductor
Al elegir y configurar un reproductor de vídeo, asegúrese de usar las opciones optimizadas para reducir la latencia.
Media Services admite diferentes salidas de protocolo de streaming: DASH, HLS con salida de TS y HLS con fragmentos cmAF. Al usar la opción de transmisión de LowLatencyV2
, asegúrese de encontrar un reproductor que admita HLS de baja latencia (LL-HLS). En función de la implementación del jugador, las decisiones de almacenamiento en búfer afectan a la latencia que observa un visor. Las condiciones de red deficientes o los algoritmos predeterminados que favorecen la calidad y la estabilidad de la reproducción podrían hacer que los jugadores decidan almacenar en búfer más contenido por adelantado para evitar interrupciones durante la reproducción. Estos búferes, antes y durante las sesiones de reproducción, se agregarían a la latencia de un extremo a otro.
Cuando se usa Azure Media Player, la heurística de baja latencia perfil optimiza el reproductor para tener la menor latencia posible en el lado del jugador. Este reproductor solo admite DASH a menos que se use en Safari en dispositivos Apple.
Opciones y optimizaciones de la red CDN
Los puntos de conexión de streaming son los servidores de origen que entregan el contenido de streaming en vivo y VOD a la red CDN o al cliente directamente. Es mejor usar una red de entrega de contenido (CDN) con un origen blindado para asegurarse de que el tráfico del contenido multimedia se entrega de forma eficaz.
Se recomienda usar Azure CDN que proporciona Verizon (Estándar o Premium). Hemos optimizado la experiencia de integración para que un cliente pueda configurar esta red CDN con una sola selección en Azure Portal. Asegúrese de activar Origin Shield y optimizaciones de streaming para el punto de conexión de CDN siempre que inicie el punto de conexión de streaming.
Nuestros clientes también tienen buenas experiencias que aportan su propia red CDN. Asegúrese de que se toman medidas en la red CDN para proteger el origen del tráfico excesivo.
También puede mejorar el rendimiento configurando reglas para el perfil de CDN. Consulte Habilitación de optimizaciones de CDN.
Escalado de puntos de conexión de streaming
Nota
Un punto de conexión o orígenes de streaming estándar es un recurso de compartido que permite a los clientes con volúmenes de tráfico bajos transmitir contenido a un costo menor. No usar un punto de conexión de streaming estándar para escalar unidades de streaming si espera grandes volúmenes de tráfico o planea usar una red CDN.
Una punto de conexión o origen de streaming premium ofrece más flexibilidad y aislamiento para que los clientes se escalen agregando o quitando unidades de streaming dedicadas. Una unidad de streaming es un recurso de proceso asignado a un punto de conexión de streaming. Cada unidad de streaming puede transmitir aproximadamente 200 Mbps de tráfico.
Aunque puede transmitir simultáneamente muchos eventos en directo a la vez mediante el mismo punto de conexión de streaming, las unidades de streaming predeterminadas máximas necesarias para un punto de conexión de streaming son 10. Puede abrir una incidencia de soporte técnico para solicitar más del valor predeterminado 10.
Determinación de las unidades de streaming premium necesarias
Hay dos pasos para determinar el número de puntos de conexión de streaming y unidades de streaming necesarias:
Determine la salida total necesaria.
Divida la salida total en 200, que es el máximo Mbps que cada unidad de streaming puede transmitir.
Determinación de la salida total necesaria
Determine la salida total necesaria mediante la fórmula siguiente.
salida total necesaria = ancho de banda promedio x número de visores simultáneos x porcentajecontrolado por el punto de conexión de streaming.
Echemos un vistazo a cada uno de los multiplicadores a su vez:
Ancho de banda promedio. ¿Cuál es el promedio de velocidad de bits que planea transmitir? En otras palabras, si va a tener varias velocidades de bits disponibles, ¿qué velocidad de bits es la media de todas las velocidades de bits que planea? Puede calcularlo mediante uno de los métodos siguientes:
Para un evento en directo que incluye la codificación:
Si no sabe cuál será el promedio de ancho de banda de
, puede usar nuestras velocidades de bits principales como estimación. Nuestra velocidad de bits superior es de 5,5 Mbps para eventos en directo codificados en 1080p, por lo tanto, la velocidad de bits promedio va a estar en algún lugar alrededor de 3,5 Mbps. Examine el valor preestablecido de codificación usado para codificar el evento en directo, por ejemplo, el valor preestablecido AdaptiveStreaming(H.264). Consulte este ejemplo de salida de .
Para un evento en directo que simplemente usa paso a través y no codificación:
- Compruebe la escalera de velocidad de bits de codificación que usa el codificador local.
Número de visores simultáneos. ¿Cuántos espectadores simultáneos se esperan? Esto podría ser difícil de calcular, pero hacer lo mejor en función de los datos de los clientes. ¿Transmite una conferencia a un público global? ¿Tiene previsto transmitir en vivo para vender un conjunto de productos a sus clientes?
porcentaje de tráficocontrolado porel punto de conexión de streaming. Esto también se puede expresar como "el porcentaje de tráfico NO controlado por la red CDN", ya que es el número que realmente entra en la fórmula. Entonces, con eso en mente, ¿cuál es la descarga de cdn que espera? Si se espera que la red CDN controle 90% del tráfico en vivo, solo se esperarían 10% del tráfico en el punto de conexión de streaming. El número usado en la fórmula es .10, que es el porcentaje de tráfico esperado en el punto de conexión de streaming.
Determinar el número de unidades de streaming premium necesarias
unidades de streaming Premium necesarias = Ancho de banda promedio x número de visores x Porcentaje de tráfico no controlado por la red CDN /200 Mbps
Ejemplo
Recientemente ha lanzado un nuevo producto y quiere presentarlo a los clientes establecidos. Quiere una latencia baja porque no quiere frustrar a la audiencia ya ocupada, por lo que usará puntos de conexión de streaming premium y una red CDN.
Tienes aproximadamente 100 000 clientes, pero probablemente no van a ver tu evento en directo. Supongo que, en el mejor de los casos, solo 1% de ellos asistirán, lo que lleva a sus espectadores simultáneos esperados a 1000.
Número de usuarios simultáneos =1000
Ha decidido que va a usar Media Services para codificar la transmisión en vivo y no va a usar el paso a través. No sabe cuál será el ancho de banda promedio, pero sabe que va a entregar en 1080p (velocidad de bits superior de 5,5 Mbps), por lo que el ancho de banda promedio de se estima que es de 3,5 Mbps para los cálculos.
ancho de banda promedio de =3,5
Dado que su audiencia está dispersa en todo el mundo, espera que la red CDN controle la mayoría (90%) del tráfico en directo. Por lo tanto, los puntos de conexión de streaming premium solo controlarán 10% del tráfico.
porcentaje controlado por el punto de conexión de streaming =10% = 0,1
Con la fórmula proporcionada anteriormente:
salida total necesaria = ancho de banda promedio x número de visores simultáneos x porcentaje controlado por el punto de conexión de streaming.
salida total necesaria = 3,5 x 1000 x 0,1
salida total necesaria = 350 Mbps
Dividir la salida total en 200 determina que necesita 1,75 unidades de streaming premium.
unidades de streaming premium necesarias = salida total necesaria/200Mpbs
unidades de streaming premium necesarias = 1,75
Redondearemos este número a 2, lo que nos dará 2 unidades necesarias.
Uso del portal para calcular sus necesidades
Azure Portal puede ayudarle a simplificar los cálculos. En la página de streaming, puede usar la calculadora proporcionada para ver el alcance estimado del público al cambiar el ancho de banda promedio, la proporción de aciertos de cdn y el número de unidades de streaming.
En la página de la cuenta de Media Services, seleccione puntos de conexión de Steaming en el menú.
Agregue un nuevo punto de conexión de streaming seleccionando Agregar punto de conexión de streaming.
Asigne un nombre al punto de conexión de streaming.
Seleccione punto de conexión de streaming Premium para el tipo de punto de conexión de streaming.
Como acaba de obtener una estimación en este momento, no inicie el punto de conexión de streaming después de la creación. Seleccione No.
Seleccione estándar de Verizon o Premium Verizon para el plan de tarifa de CDN. El nombre del perfil cambiará según corresponda. Deje el nombre tal y como está para este ejercicio.
En el perfil de red CDN, seleccione Crear nuevo.
Seleccione Crear. Una vez implementado el punto de conexión, aparecerá la pantalla de puntos de conexión de streaming.
Seleccione el punto de conexión de streaming que acaba de crear. La pantalla del punto de conexión de streaming aparecerá con las estimaciones de alcance del público.
La configuración predeterminada del punto de conexión de streaming con 1 unidad de streaming muestra que se estima que transmite a 571 visores simultáneos a 3,5 Mbps con 90% de la red CDN y 10% del punto de conexión de streaming.
Cambie el porcentaje del origen de salida de de 90% de la memoria caché de CDN a 0%. La calculadora calculará que podrá transmitir a 57 visores simultáneos a 3,5 Mbps a 200 Mbps sin una red CDN.
Ahora, cambie el de origen de salida de
a 90%. A continuación, cambie la unidades de streaming a 2. La calculadora calculará que podrá transmitir a 1143 visores simultáneos a 3,5 Mbps con 4000Mpbs con la red CDN que controla 90% del tráfico.
Seleccione Guardar.
Puede iniciar el punto de conexión de streaming e intentar enviar tráfico a él. Las métricas de la parte inferior de la pantalla realizarán un seguimiento del tráfico real.
Cronometraje
Es posible que quiera aprovisionar unidades de streaming 1 hora antes del uso máximo esperado para asegurarse de que las unidades de streaming están listas.
Obtener ayuda y soporte técnico
Puede ponerse en contacto con Media Services con preguntas o seguir nuestras actualizaciones mediante uno de los métodos siguientes:
- Q & A
-
stack Overflow. Etiquete preguntas con
azure-media-services
. - @MSFTAzureMedia o use @AzureSupport para solicitar soporte técnico.
- Abra una incidencia de soporte técnico a través de Azure Portal.