Guia de práticas recomendadas de transmissão ao vivo dos Serviços de Mídia
Os clientes geralmente perguntam como podem reduzir a latência de sua transmissão ao vivo. Este artigo descreve as práticas recomendadas para obter transmissões ao vivo de baixa latência com, além da codificação de eventos ao vivo.
Observação
Antes de continuar a ler este artigo, leia o artigo
Há muitos fatores que determinam a latência de ponta a ponta de um fluxo, além de como a mídia é codificada. Aqui estão alguns que você deve considerar:
Atrasos no lado do codificador de contribuição. Quando os clientes usam um software de codificação, como OBS Studio, Wirecast ou outros, para enviar uma transmissão ao vivo RTMP para os Serviços de Mídia. As configurações deste software afetam a latência de ponta a ponta de uma transmissão ao vivo.
Atrasos no pipeline de transmissão ao vivo nos Serviços de Mídia do Azure
Desempenho da CDN
Algoritmos de buffer do player de vídeo e condições de rede no lado do cliente
Calendário de provisionamento
Codificador de contribuição
Você controla as configurações do codificador de origem antes que o fluxo RTMP chegue aos Serviços de Mídia. Aqui estão algumas recomendações para as configurações que lhe dariam a menor latência possível:
Escolha a região física mais próxima do codificador de contribuição para sua conta de Serviços de Mídia. Isso garantirá que você tenha uma ótima conexão de rede com a conta dos Serviços de Mídia.
Use um tamanho de fragmento consistente. Recomendamos um tamanho GOP de 2 segundos. O padrão em alguns codificadores, como o OBS, é de 8 segundos. Certifique-se de alterar essa configuração.
Use o codificador de GPU se o software de codificação permitir que você faça isso. Isso permitiria descarregar o trabalho da CPU para a GPU.
Use um perfil de codificação otimizado para baixa latência. Por exemplo, com o OBS Studio, se você usar o codificador Nvidia H.264, poderá ver a predefinição de "latência zero".
Envie conteúdo com resolução não superior à que pretende transmitir. Por exemplo, se você estiver usando eventos ao vivo de codificação padrão 720p, envie um fluxo que já esteja em 720p.
Mantenha sua taxa de quadros em 30fps ou inferior, a menos que use eventos ao vivo de passagem. Embora suportemos a entrada de 60 fps para eventos ao vivo, nossa saída de evento ao vivo de codificação ainda não está acima de 30 fps. Para HLS de baixa latência, a taxa de quadros fixa é recomendada e a duração máxima do quadro não deve exceder 0,5 segundos para a melhor experiência.
Configuração do evento ao vivo dos Serviços de Mídia do Azure
Aqui estão algumas configurações que ajudarão você a reduzir a latência em nosso pipeline:
Use as opções de fluxo de baixa latência para eventos ao vivo. Para as opções de fluxo de codificação padrão (até 720p) e codificação Premium (até 1080p), a menos que você precise de uma janela DVR superior a 6 horas ou saída de streaming suave, use a configuração de latência de fluxo de baixa latência.
Recomendamos que escolha a saída CMAF para reprodução HLS e DASH. Isso permite que você compartilhe os mesmos fragmentos para ambos os formatos. Ele aumenta a taxa de acertos do cache quando a CDN é usada. Por exemplo:
Tipo Formato Exemplo de URL HLS CMAF formato=m3u8-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-cmaf)
MPEG-DASH CMAF formato = mpd-time-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-cmaf)
Se você precisar escolher a saída TS, use uma proporção de embalagem HLS de 1. Isso nos permite empacotar apenas um fragmento em um segmento HLS. Você não obterá todos os benefícios de LL-HLS em jogadores nativos da Apple.
Otimizações de jogadores
Ao escolher e configurar um player de vídeo, certifique-se de usar configurações otimizadas para latência mais baixa.
Os Serviços de Mídia suportam diferentes saídas de protocolo de streaming – DASH, HLS com saída TS e HLS com fragmentos CMAF. Ao usar a opção LowLatencyV2
stream, certifique-se de encontrar um player que suporte HLS de baixa latência (LL-HLS). Dependendo da implementação do jogador, as decisões de buffering afetam a latência que um espectador observa. Más condições de rede ou algoritmos padrão que favorecem a qualidade e a estabilidade da reprodução podem fazer com que os jogadores decidam armazenar mais conteúdo em buffer antecipadamente para evitar interrupções durante a reprodução. Esses buffers, antes e durante as sessões de reprodução, aumentariam a latência de ponta a ponta.
Quando o Azure Media Player é usado, o perfil Heurística de Baixa Latência otimiza o player para ter a menor latência possível no lado do jogador. Este leitor apenas suporta DASH, a menos que esteja a ser utilizado no Safari em dispositivos Apple.
Escolha e otimizações de CDN
Os pontos de extremidade de streaming são os servidores de origem que entregam o conteúdo de streaming ao vivo e VOD para a CDN ou diretamente para o cliente. É melhor usar uma Rede de Distribuição de Conteúdo (CDN) com origem blindada para garantir que o tráfego do seu conteúdo de mídia seja entregue de forma eficiente.
Recomendamos usar a CDN do Azure, que é fornecida pela Verizon (Standard ou Premium). Otimizamos a experiência de integração para que um cliente possa configurar essa CDN com uma única seleção no portal do Azure. Certifique-se de ativar do Origin Shield e otimizações de streaming para seu ponto de extremidade CDN sempre que iniciar seu ponto de extremidade de streaming.
Nossos clientes também têm boas experiências trazendo sua própria CDN. Assegurar que sejam tomadas medidas na CDN para proteger a origem do tráfego excessivo.
Você também pode melhorar o desempenho configurando regras para o perfil CDN. Consulte Como habilitar otimizações de CDN.
Dimensionamento de pontos finais de streaming
Observação
Um
Um endpoint/origem de streaming premium oferece mais flexibilidade e isolamento para os clientes escalarem, adicionando ou removendo unidades de streaming dedicadas. Uma unidade de streaming é um recurso de computação alocado para um ponto de extremidade de streaming. Cada unidade de streaming pode transmitir aproximadamente 200 Mbps de tráfego.
Embora você possa transmitir simultaneamente muitos eventos ao vivo ao mesmo tempo usando o mesmo ponto de extremidade de streaming, o máximo de unidades de streaming padrão necessárias para um ponto de extremidade de streaming é 10. Você pode abrir um tíquete de suporte para solicitar mais do que o padrão 10.
Determinar as unidades de streaming premium necessárias
Há duas etapas para determinar o número de pontos de extremidade de streaming e unidades de streaming necessários:
Determine a saída total necessária.
Divida a saída total por 200, que é o Mbps máximo que cada unidade de streaming pode transmitir.
Determinar a saída total necessária
Determine a saída total necessária usando a fórmula a seguir.
Saída total necessária = largura de banda média x número de espectadores simultâneos x porcentagemmanipulados pelo ponto de extremidade de streaming.
Vamos dar uma olhada em cada um dos multiplicadores por vez:
Largura de banda média. Qual é a taxa de bits média que você planeja transmitir? Em outras palavras, se você vai ter várias taxas de bits disponíveis, qual taxa de bits é a média de todas as taxas de bits que você está planejando? Você pode estimar isso usando um dos seguintes métodos:
Para um evento ao vivo que inclui codificação:
Se você não sabe qual será a sua largura de banda média, você pode usar nossas taxas de bits superiores como uma estimativa. Nossa taxa de bits superior
é de 5,5 Mbps para eventos ao vivo codificados em 1080p, portanto, sua taxa de bits média será algo em torno de 3,5 Mbps. Observe a predefinição de codificação usada para codificar o evento ao vivo, por exemplo, a predefinição AdaptiveStreaming(H.264). Veja este exemplo de saída.
Para um evento ao vivo que está simplesmente usando passagem e não codificando:
- Verifique a escada de taxa de bits de codificação usada pelo codificador local.
Número de visualizadores simultâneos. Quantos espectadores simultâneos são esperados? Isso pode ser difícil de estimar, mas faça o seu melhor com base nos dados do seu cliente. Você está transmitindo uma conferência para um público global? Você está planejando fazer uma transmissão ao vivo para vender um conjunto de produtos para seus clientes?
Porcentagem do tráfegotratada poro ponto de extremidade de streaming. Isso também pode ser expresso como "a porcentagem de tráfego NÃO tratada pela CDN", uma vez que esse é o número que realmente entra na fórmula. Então, com isso em mente, qual é o descarregamento de CDN que você espera? Se se espera que a CDN lide com 90% do tráfego ao vivo, apenas 10% do tráfego seriam esperados no ponto de extremidade de streaming. O número usado na fórmula é .10, que é a porcentagem de tráfego esperado no ponto de extremidade de streaming.
Determinar o número de unidades de streaming premium necessárias
Unidades de streaming Premium necessárias = Largura de banda média x # de espectadores x Percentagem de tráfego não tratada pela CDN / 200 Mbps
Exemplo
Você lançou recentemente um novo produto e quer apresentá-lo aos seus clientes estabelecidos. Você quer baixa latência porque não quer frustrar seu público já ocupado, então você usará endpoints de streaming premium e uma CDN.
Você tem aproximadamente 100.000 clientes, mas eles provavelmente não vão assistir ao seu evento ao vivo. Você acha que, na melhor das hipóteses, apenas 1% deles participará, o que eleva seus espectadores simultâneos esperados para 1.000.
Número de usuários simultâneos =1.000
Você decidiu que usará os Serviços de Mídia para codificar sua transmissão ao vivo e não usará a passagem. Você não sabe qual será a largura de banda média, mas sabe que entregará em 1080p (taxa de bits superior de 5,5 Mbps), então sua largura de banda média é estimada em 3,5 Mbps para seus cálculos.
Largura de banda média =3,5
Como seu público está disperso em todo o mundo, você espera que a CDN lide com a maior parte (90%) do tráfego ao vivo. Portanto, os pontos de extremidade de streaming premium lidarão apenas com 10% do tráfego.
Porcentagem manipulada pelo ponto de extremidade de streaming =10% = 0,1
Usando a fórmula fornecida acima:
Saída total necessária = largura de banda média x número de espectadores simultâneos x porcentagem manipulada pelo ponto de extremidade de streaming.
saída total necessária = 3,5 x 1.000 x 0,1
saída total necessária = 350 Mbps
Dividindo a saída total por 200, você determina que precisa de 1,75 unidades de streaming premium.
unidades de streaming premium necessárias = saída total necessária/200Mpbs
unidades de streaming premium necessárias = 1,75
Vamos arredondar este número para 2, dando-nos 2 unidades necessárias.
Utilize o portal para estimar as suas necessidades
O portal do Azure pode ajudá-lo a simplificar os cálculos. Na página de streaming, você pode usar a calculadora fornecida para ver o alcance estimado do público quando você altera a largura de banda média, a taxa de acertos da CDN e o número de unidades de streaming.
Na página da conta de serviços de mídia, selecione Pontos de extremidade do Steaming no menu.
Adicione um novo ponto de extremidade de streaming selecionando Adicionar ponto de extremidade de streaming.
Dê um nome ao ponto de extremidade de streaming.
Selecione de ponto de extremidade de streaming Premium para o tipo de ponto de extremidade de streaming.
Como você está apenas recebendo uma estimativa neste momento, não inicie o ponto de extremidade de streaming após a criação. Selecione Sem.
Selecione Standard Verizon ou Premium Verizon para o seu nível de preço CDN. O nome do perfil será alterado de acordo. Deixe o nome como está para este exercício.
Para o perfil CDN, selecione Criar novo.
Selecione Criar. Depois que o ponto de extremidade for implantado, a tela de pontos de extremidade de streaming aparecerá.
Selecione o ponto de extremidade de streaming que você acabou de criar. A tela do ponto final de streaming aparecerá com estimativas de alcance de público.
A configuração padrão para o ponto de extremidade de streaming com 1 unidade de streaming mostra que estima-se que ele transmita para 571 espectadores simultâneos a 3,5 Mbps usando 90% da CDN e 10% do ponto de extremidade de streaming.
Altere a porcentagem do de origem de saída de
de 90% do cache CDN para 0%. A calculadora estimará que você será capaz de transmitir para 57 visualizadores simultâneos a 3,5 Mbps a 200 Mbps sem uma CDN. Agora altere a fonte de saída de volta para 90%.
Em seguida, altere o unidades de streaming para 2. A calculadora estimará que você será capaz de transmitir para 1143 visualizadores simultâneos a 3,5 Mbps com 4000Mpbs com a CDN lidando com 90% do tráfego.
Selecione Salvar.
Você pode iniciar o ponto de extremidade de streaming e tentar enviar tráfego para ele. As métricas na parte inferior da tela rastrearão o tráfego real.
Calendário
Você pode querer provisionar unidades de streaming 1 hora antes do pico de uso esperado para garantir que as unidades de streaming estejam prontas.
Obtenha ajuda e suporte
Você pode entrar em contato com os Serviços de Mídia com perguntas ou acompanhar nossas atualizações por um dos seguintes métodos:
- Q & A
-
Estouro de pilha. Marque as perguntas com
azure-media-services
. - @MSFTAzureMedia ou use @AzureSupport para solicitar suporte.
- Abra um tíquete de suporte por meio do portal do Azure.