Eventos ao vivo dos Serviços de Mídia

Logotipo dos Serviços de Mídia v3


Aviso

Os Serviços de Mídia do Azure serão desativados em 30 de junho de 2024. Para obter mais informações, consulte o Guia de Desativação do AMS.

Os Serviços de Mídia do Azure permitem que você entregue eventos ao vivo para seus clientes na nuvem do Azure.

Dica

Se você estiver migrando das APIs dos Serviços de Mídia v2, a entidade de evento ao vivo substituirá o Canal na v2 e a saída ao vivo substituirá o programa.

Eventos ao vivo

Eventos ao vivo ingerem e processam feeds de vídeo ao vivo. Quando você cria um evento ao vivo, um ponto de extremidade de ingestão é criado. O ponto de extremidade de ingestão consome um sinal dinâmico de um codificador remoto. O codificador dinâmico remoto envia o feed para o ponto de extremidade de entrada usando o protocolo de entrada RTMP ou Smooth Streaming (fragmentado-MP4). Para o protocolo de ingestão RTMP, o conteúdo pode ser enviado sem criptografia (rtmp://) ou criptografado com segurança durante a transmissão (rtmps://). Para o protocolo de ingestão Smooth Streaming, os esquemas de URL compatíveis são http:// ou https://.

A alocação padrão é 5 eventos ao vivo por conta dos Serviços de Mídia. Se você deseja aumentar esse limite, abra um tíquete de suporte no portal do Azure.

Tipos de evento ao vivo

Um evento ao vivo pode ser definido como uma passagem básica ou padrão ou codificação ao vivo. Os tipos são definidos durante a criação usando o tipo de codificação de eventos ao vivo.

  • Básico de passagem: um codificador dinâmico local envia um fluxo de várias taxas de bits. A passagem básica é limitada a um pico de entrada de 5 Mbps, janela DVR de 8 horas, sem suporte para transcrição ao vivo.
  • Padrão de passagem: um codificador dinâmico local envia um fluxo de taxa de bits múltipla. A passagem padrão tem limites de ingestão mais altos, janela DVR de 25 horas e suporte para transcrições ao vivo.
  • Padrão: um codificador ao vivo local envia uma única transmissão de taxa de bits para o evento ao vivo e os Serviços de Mídia criam vários fluxos de taxa de bits. Se o feed de contribuição for de 720p ou de resolução superior, a predefinição de Default720p codificará um conjunto de 6 pares de resolução/taxas de bits.
  • Premium 1080p: um codificador ao vivo local envia uma única transmissão de taxa de bits para o evento ao vivo e os Serviços de Mídia criam vários fluxos de taxa de bits. A predefinição Default1080p especifica o conjunto de saída de pares de resolução/taxas de bits.

Observação

A taxa de quadros máxima é de 30 fps para codificação Standard e Premium.

Evento ao vivo de passagem

Ao usar o evento ao vivo de passagem básico ou padrão, você usa o codificador ao vivo local para gerar um fluxo de vídeo de várias taxas de bits e enviá-lo para o evento ao vivo (usando RTMP ou protocolo MP4 fragmentado). Em seguida, o evento ao vivo realiza as transmissões de vídeo de entrada sem qualquer processamento adicional. Um evento ao vivo de passagem é otimizado para eventos ao vivo de longa duração ou streaming ao vivo linear 24x365. Ao criar esse tipo de evento ao vivo, especifique passagem "básica" ou "padrão".

Você pode enviar o feed em resoluções de até 4K e a uma taxa de quadros de 60 quadros/segundo, com codecs de vídeo H.264/AVC ou H.265/HEVC (somente ingestão suave) e codec de áudio AAC (AAC-LC, HE-AACv1 ou HE-AACv2). Para obter mais informações, confira Comparação de tipos de eventos ao vivo.

Observação

Usar um método de passagem é a maneira mais econômica de fazer uma transmissão ao vivo quando você estiver fazendo vários eventos durante um longo período e já tiver investido em codificadores locais. Confira os detalhes de Preços.

Evento ao vivo de codificação ao vivo

Ao usar a codificação ao vivo, você configura o codificador ao vivo local para enviar um vídeo de taxa de bits única para o evento ao vivo (usando RTMP ou protocolo Fragmented-Mp4). Em seguida, você configura um evento ao vivo para que ele codifica o fluxo de taxa de bits única de entrada para um fluxo de vídeo de taxa de bits múltipla. Isso disponibiliza a saída para entrega para reproduzir dispositivos por meio de protocolos como MPEG-DASH, HLS e Smooth Streaming.

Nesse caso, você pode enviar o feed de contribuição somente em resoluções de até 1080p de resolução a uma taxa de quadros de 30 quadros/segundo, com codec de vídeo H.264/AVC e AAC (AAC-LC, HE-AACv1 ou HE-AACv2). Para obter mais informações, confira Comparação de tipos de eventos ao vivo.

Opções de streaming de HLS e DASH de baixa latência

Para obter detalhes sobre como obter baixa latência com codificação de eventos ao vivo, consulte as opções de streaming LL-HLS (LL-HLS) e DASH de baixa latência e o guia de práticas recomendadas de transmissão ao vivo.

Resolução de saída de codificação dinâmica e taxas de bits

As resoluções e taxas de bits na saída resultante do codificador dinâmico são determinadas pela predefinição:

  • Quando você usa o codificador dinâmico Standard , a predefinição Default720p especifica um conjunto de seis pares de taxa de resolução/bit, passando de 720p a 3,5 Mbps para 192p a 200 kbps.
  • Quando você usa um codificador dinâmico Premium1080p , a predefinição Default1080p especifica um conjunto de seis pares de taxa de resolução/bits, passando de 1080p a 3,5 Mbps para 180p a 200 kbps.

Para obter informações, confira Predefinições do sistema.

Observação

Se você precisar personalizar a predefinição de codificação ativa, abra um tíquete de suporte por meio do portal do Azure. Você deve especificar a tabela desejada de resolução/taxas de bits de vídeo e taxas de bits de áudio. Para vídeo, verifique se há apenas uma camada em 720p e no máximo seis camadas para vídeo. Para áudio, você pode personalizar com as seguintes taxas discretas de bits de áudio AAC (96k, 112k, 128k, 160k, 192k, 224k, 256k, 320k, 384k, 448k, 512k). Várias faixas de áudio em taxas de bits diferentes são permitidas e podem ser incluídas na predefinição personalizada. Especifique também que você está solicitando uma predefinição personalizada no tíquete de suporte.

Consulte a API REST para LiveEventEncodingType ou os SDKs do .Net, Node.JS ou Python . Além disso, você pode experimentar o código de exemplo evento ao vivo.

Opções de evento ao vivo

Ao criar um evento ao vivo, você pode especificar as seguintes opções:

  • Nome e descrição.
  • Para codificação Standard e Premium, você pode escolher o modo de alongamento do vídeo codificado:
    • Nenhum: respeita estritamente a resolução de saída especificada na predefinição de codificação sem considerar a taxa de proporção de pixel ou a taxa de proporção de exibição do vídeo de entrada.
    • Dimensionamento automático: substitui a resolução de saída e a altera para corresponder à taxa de proporção de exibição da entrada, sem preenchimento. Por exemplo, se a entrada for 1920x1080 e a predefinição de codificação solicitar 1280x1280, o valor na predefinição será substituído e a saída será 1280x720, o que mantém a taxa de proporção de entrada de 16:9.
    • AutoAjuste: armazena a saída (com caixa de correio ou caixa de pilar) para honrar a resolução de saída, garantindo que a região de vídeo ativa na saída tenha a mesma taxa de proporção que a entrada. Por exemplo, se a entrada for 1920x1080 e a predefinição de codificação pedir 1280x1280, a saída será em 1280x1280, que contém um retângulo interno de 1280x720 na taxa de proporção de 16:9 com regiões pillarbox de 280 pixels de largura nos lados esquerdo e direito.
  • Protocolo de streaming RtMP ou Smooth streaming. Observação: você não pode alterar a opção de protocolo enquanto o evento ao vivo ou suas saídas ao vivo associadas estiverem em execução. Se precisar de protocolos diferentes, crie um evento ao vivo separado para cada protocolo de streaming.
  • ID de entrada que é um identificador global exclusivo para o fluxo de entrada de evento ao vivo.
  • Prefixo de nome de host estático que não inclui nenhum (nesse caso, uma cadeia de caracteres hexadecisca aleatória de 128 bits será usada), Usar o nome do evento ao vivo ou Usar nome personalizado. Quando você opta por usar um nome de cliente, esse valor é o prefixo do nome do host personalizado.
  • Intervalo de quadro de chave de entrada, que é a duração (em segundos) de cada segmento de mídia na saída HLS. O valor deve ser um inteiro diferente de zero no intervalo de 0,5 a 20 segundos. O valor padrão será 2 segundos se nenhum dos intervalos de quadro principal de entrada ou saída for definido. O intervalo de quadro principal somente é permitido em eventos de passagem.
  • Início automático. Quando o início automático está definido como verdadeiro, o evento ao vivo é iniciado após a criação. A cobrança começa assim que o evento ao vivo começa a ser transmitido. Você deve interromper explicitamente o evento ao vivo para interromper a cobrança adicional. Como alternativa, você poderá iniciar o evento quando estiver pronto para iniciar o streaming.
  • Restrições de IP na ingestão e visualização. Você pode definir os endereços IP que têm permissão para receber um vídeo para este evento ao vivo. Os endereços IP permitidos podem ser especificados como um endereço IP único (por exemplo, '10.0.0.1'), um intervalo IP usando um endereço IP e uma máscara de sub-rede CIDR (por exemplo, '10.0.0.1/22) ou um intervalo IP usando um endereço IP e uma máscara de sub-rede com notação decimal com ponto (por exemplo, '10.0.0.1(255.255.252.0)').
    • Se nenhum endereço IP for especificado e não houver definição de regra, nenhum endereço IP será permitido. Para permitir qualquer endereço IP, crie uma regra e defina 0.0.0.0/0. Os endereços IP precisam estar em um dos seguintes formatos: endereços IpV4 ou IPv6 com quatro números ou intervalo de endereços CIDR. Para obter mais informações sobre como usar IPv4 ou IPv6, consulte Restringir o acesso à licença DRM e à entrega de chaves do AES usando listas de permissões de IP.
    • Se você quiser habilitar determinados IPs em seus próprios firewalls ou se quiser restringir as entradas aos seus eventos ao vivo para os endereços IP do Azure, baixe um arquivo JSON dos intervalos de endereços IP do datacenter do Azure. Para obter detalhes sobre esse arquivo, selecione a seção Detalhes na página.
  • Transcrição dinâmica que está desabilitada por padrão. Para obter mais informações sobre a transcrição dinâmica, leia Transcrição dinâmica.

Modo de espera

Ao criar um evento ao vivo, você pode defini-lo como Modo de espera. Enquanto o evento estiver no modo StandBy, você pode editar a descrição e o prefixo de nome de host estático, bem como restringir as configurações de acesso de entrada e visualização. O Modo de espera ainda é um modo faturável, mas tem o preço diferente de quando você inicia uma transmissão ao vivo.

Para obter mais informações, consulte Estados do evento ao vivo e cobrança.

Saídas ao vivo

Depois de configurar um fluxo de um codificador local para um evento ao vivo, você poderá iniciar o evento de streaming criando um Ativo, uma saída ao vivo e um Localizador de Streaming. A saída ao vivo arquivará o fluxo e o disponibilizará aos espectadores por meio do Ponto de extremidade de streaming.

Perguntas sobre a saída de eventos ao vivo

Confira as perguntas sobre evento ao vivo nas Perguntas frequentes. Para obter informações sobre cotas de eventos ao vivo, confira cotas e limites

Mais detalhes sobre como configurar eventos ao vivo

Regras de nomenclatura

  • O nome do evento ao vivo tem, no máximo, 32 caracteres.
  • O nome deve seguir este padrão de regex: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$.

Consulte também Convenções de nomenclatura de pontos de extremidade de streaming.

Dica

Para garantir a exclusividade do nome do evento ao vivo, você pode gerar uma GUID e, em seguida, remover todos os hifens e chaves (se houver). A cadeia de caracteres será exclusiva em todos os eventos ao vivo e seu comprimento será 32.

URLs de ingestão de evento ao vivo

Depois que o evento ao vivo é criado, você pode obter URLs de ingestão que fornecerá ao codificador dinâmico local. O codificador dinâmico usa essas URLs para gerar a entrada de um fluxo ao vivo. Para saber mais, confira Codificadores dinâmicos locais recomendados.

Observação

A partir da versão da API 2020-05-01, as URLs "intuitivas" são conhecidas como nomes do host estáticos (useStaticHostname: verdadeiro)

Observação

Para que uma URL de ingestão seja estática e previsível para uso em uma configuração de codificador de hardware, defina a propriedade useStaticHostname como verdadeira e defina a propriedade accessToken como a mesma GUID em cada criação.

  • Nome do host não estático

    Um nome de host não estático é o modo padrão nos Serviços de Mídia v3 ao criar um LiveEvent. Você pode obter o evento ao vivo alocado um pouco mais rapidamente, mas a URL de ingestão necessária para seu hardware ou software de codificação ativa será aleatória. A URL será alterada se você parar/iniciar o evento ao vivo. Nomes de host não estáticos são úteis apenas em cenários em que um usuário final deseja transmitir usando um aplicativo que precisa obter um evento ao vivo rapidamente e ter uma URL de ingestão dinâmica não é um problema.

    Se um aplicativo de cliente não precisar gerar previamente uma URL de ingestão antes que o evento ao vivo seja criado, permita que os Serviços de Mídia gerem automaticamente o token de acesso para o evento ao vivo.

  • Nomes de host estáticos

    O modo de nome do host estático é o preferido pela maioria dos operadores que desejam pré-configurar seu hardware ou software de codificação ativa com uma URL de ingestão RTMP que nunca muda na criação ou na parada/início de um evento ao vivo específico. Esses operadores desejam uma URL de ingestão RTMP preditiva que não muda com o tempo. Isso também é muito útil quando você precisa inserir uma URL de ingestão RTMP estática nas definições de configuração de um dispositivo de codificação de hardware, como o BlackMagic Atem Mini Pro, ou ferramentas de produção e codificação de hardware semelhantes.

    Observação

    No portal do Azure, a URL do nome do host estático é chamada de "Prefixo do nome do host estático".

    Para especificar esse modo na API, defina useStaticHostName como true no momento da criação (o padrão é false). Quando useStaticHostname é definido como verdadeiro, o hostnamePrefix especifica a primeira parte do nome do host atribuído aos pontos de extremidade de visualização e ingestão de eventos ao vivo. O nome do host final seria uma combinação desse prefixo, o nome da conta do serviço de mídia e um código curto para os data centers dos Serviços de Mídia do Azure.

    Para evitar um token aleatório na URL, você também precisa passar seu próprio token de acesso (LiveEventInput.accessToken) no momento da criação. O token de acesso deve ser uma cadeia de caracteres de GUID válida (com ou sem os hifens). Depois de definido, o modo não poderá ser atualizado.

    O token de acesso deve ser exclusivo para a região do Azure e para a conta dos Serviços de Mídia. Se o aplicativo precisar usar uma URL de ingestão do nome de host estático, é recomendável sempre criar uma instância da GUID para uso com uma combinação específica de região, conta de serviços de mídia e evento ao vivo.

    Use as APIs a seguir para habilitar a URL do nome do host estático e definir o token de acesso para uma GUID válida (por exemplo, "accessToken": "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7").

    Idioma Habilitar URL do nome do host estático Definir token de acesso
    REST properties.useStaticHostname LiveEventInput.useStaticHostname
    CLI --use-static-hostname --access-token
    .NET LiveEvent.useStaticHostname LiveEventInput.AccessToken

Regras de nomenclatura de URL de ingestão dinâmica

  • A cadeia de caracteres aleatória abaixo é um número hexadecimal de 128 bits composto de 32 caracteres de “0” a “9” e “a” a “f”.
  • seu token de acesso: a cadeia de caracteres da GUID válida que você define ao usar a configuração do nome do host estático. Por exemplo, "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7".
  • nome do fluxo: indica o nome do fluxo para uma conexão específica. Em geral, o valor do nome do fluxo é adicionado pelo codificador dinâmico que você usa. Você pode configurar o codificador dinâmico para usar qualquer nome para descrever a conexão, por exemplo: "vídeo1_áudio1", "vídeo2_áudio1", "fluxo".

Aviso

Se você usar caracteres ou espaços especiais no nome do fluxo, a ingestão ao vivo falhará. Confira Convenções de nomenclatura de recursos dos Serviços de Mídia na visão geral dos conceitos do desenvolvedor.

URL de ingestão do nome do host não estático

RTMP

rtmp://<random 128bit hex string>.channel.media.azure.net:1935/live/<auto-generated access token>/<stream name>
rtmp://<random 128bit hex string>.channel.media.azure.net:1936/live/<auto-generated access token>/<stream name>
rtmps://<random 128bit hex string>.channel.media.azure.net:2935/live/<auto-generated access token>/<stream name>
rtmps://<random 128bit hex string>.channel.media.azure.net:2936/live/<auto-generated access token>/<stream name>

Streaming suave

http://<random 128bit hex string>.channel.media.azure.net/<auto-generated access token>/ingest.isml/streams(<stream name>)
https://<random 128bit hex string>.channel.media.azure.net/<auto-generated access token>/ingest.isml/streams(<stream name>)

URL de ingestão do nome do host estático

Nos caminhos a seguir, <live-event-name> significa o nome fornecido ao evento ou o nome personalizado usado na criação do evento ao vivo.

RTMP

rtmp://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:1935/live/<your access token>/<stream name>
rtmp://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:1936/live/<your access token>/<stream name>
rtmps://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:2935/live/<your access token>/<stream name>
rtmps://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:2936/live/<your access token>/<stream name>

Streaming suave

http://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net/<your access token>/ingest.isml/streams(<stream name>)
https://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net/<your access token>/ingest.isml/streams(<stream name>)

URL de visualização do evento ao vivo

Assim que o evento ao vivo começar a receber o feed de contribuição, você pode usar seu ponto de extremidade de visualização para visualizar e validar que está recebendo a transmissão ao vivo antes de publicar. Depois de verificar se o fluxo de visualização é bom, você pode usar o evento ao vivo para disponibilizar a transmissão ao vivo para entrega por meio de um ou mais pontos de extremidade de streaming (pré-criados). Para fazer isso, crie uma nova saída ao vivo no evento ao vivo.

Importante

Certifique-se de que o vídeo está fluindo para a URL de visualização antes de continuar!

Operações de longa duração de eventos ao vivo

Para obter detalhes, consulte Operações de longa duração.

Obter ajuda e suporte

Você pode entrar em contato com os Serviços de Mídia com perguntas ou seguir nossas atualizações por um dos seguintes métodos: