Eventos em direto dos Serviços de Multimédia
Aviso
Os Serviços de Multimédia do Azure serão descontinuados a 30 de junho de 2024. Para obter mais informações, veja o Guia de Extinção do AMS.
Os Serviços de Multimédia do Azure permitem-lhe entregar eventos em direto aos seus clientes na cloud do Azure.
Dica
Se estiver a migrar das APIs v2 dos Serviços de Multimédia, a entidade de eventos em direto substitui Channel in v2 e live output substitui o programa.
Live events (Eventos em direto)
Os eventos em direto ingerem e processam feeds de vídeo em direto. Quando cria um evento em direto, é criado um ponto final de ingestão. O ponto final de ingestão consome um sinal dinâmico de um codificador remoto. O codificador remoto em direto envia o feed para o ponto final de entrada através do protocolo de entrada RTMP ou Transmissão em Fluxo Uniforme (mp4 fragmentado). Para o protocolo de ingestão RTMP, o conteúdo pode ser enviado de forma clara (rtmp://
) ou encriptado de forma segura no wire(rtmps://
). Para o protocolo de ingestão de Transmissão em Fluxo Uniforme, os esquemas de URL suportados são http://
ou https://
.
A alocação predefinida é de 5 eventos em direto por conta dos Serviços de Multimédia. Se quiser aumentar este limite, envie um pedido de suporte no portal do Azure.
Tipos de eventos em direto
Um evento em direto pode ser definido como uma codificação em direto ou pass-through básica ou padrão. Os tipos são definidos durante a criação com o tipo de codificação de eventos em direto.
- Pass-through básico: um codificador em direto no local envia uma transmissão em fluxo de velocidade de transmissão múltipla. O pass-through básico está limitado a um pico de entrada de 5 Mbps, janela de DVR de 8 horas e a transcrição em direto não é suportada.
- Padrão pass-through: um codificador em direto no local envia uma transmissão em fluxo de velocidade de transmissão múltipla. O pass-through padrão tem limites de ingestão mais elevados, janela de DVR de 25 horas e suporte para transcrições em direto.
- Padrão: um codificador em direto no local envia uma transmissão em fluxo de velocidade de transmissão única para o evento em direto e os Serviços de Multimédia criam vários fluxos de velocidade de transmissão. Se o feed de contribuição for de resolução de 720p ou superior, a predefinição Default720p codificará um conjunto de seis pares de velocidades de transmissão/resolução.
- Premium 1080p: um codificador em direto no local envia uma transmissão em fluxo de velocidade de transmissão única para o evento em direto e os Serviços de Multimédia criam vários fluxos de velocidade de transmissão. A predefinição Default1080p especifica o conjunto de saída de pares de velocidades de transmissão/resolução.
Nota
A taxa de fotogramas máxima é de 30 fps para codificação Standard e Premium.
Evento em direto pass-through
Ao utilizar o evento em direto pass-through básico ou padrão, utilize o seu codificador em direto no local para gerar uma transmissão de vídeo de velocidade de transmissão múltipla e enviá-lo para o evento em direto (utilizando RTMP ou protocolo MP4 fragmentado). Em seguida, o evento em direto passa pelas transmissões de vídeo recebidas sem qualquer processamento adicional. Um evento em direto pass-through é otimizado para eventos em direto de execução prolongada ou transmissão em fluxo em direto linear 24x365. Ao criar este tipo de evento em direto, especifique pass-through "básico" ou "standard".
Pode enviar o feed em resoluções até 4K e a uma taxa de fotogramas de 60 fotogramas/segundo, com codecs de vídeo H.264/AVC ou H.265/HEVC (apenas ingestão uniforme) e AAC (AAC-LC, HE-AACv1 ou HE-AACv2). Para obter mais informações, veja Live event types comparison (Comparação de tipos de eventos em direto).
Nota
A utilização de um método pass-through é a forma mais económica de fazer a transmissão em fluxo em direto quando está a realizar vários eventos durante um longo período de tempo e já investiu em codificadores no local. Veja Detalhes dos preços .
Evento em direto de codificação em direto
Ao utilizar a codificação em direto, configura o seu codificador em direto no local para enviar um único vídeo de velocidade de transmissão para o evento em direto (utilizando RTMP ou protocolo Fragmented-Mp4). Em seguida, configure um evento em direto para codificar a transmissão em fluxo de velocidade de transmissão única recebida para uma transmissão em fluxo de vídeo de velocidade de transmissão múltipla. Isto disponibiliza a saída para a entrega para reproduzir dispositivos através de protocolos como MPEG-DASH, HLS e Smooth Streaming.
Neste caso, pode enviar o feed de contribuição apenas com resoluções até 1080p de resolução a uma taxa de fotogramas de 30 fotogramas/segundo, com codec de vídeo H.264/AVC e AAC (AAC-LC, HE-AACv1 ou HE-AACv2). Para obter mais informações, veja Live event types comparison (Comparação de tipos de eventos em direto).
Opções de transmissão em fluxo HLS e DASH de Baixa Latência
Para obter detalhes sobre como alcançar baixa latência com a codificação de eventos em direto, veja as opções de transmissão em fluxo HLS (LL-HLS) de Baixa Latência (LL-HLS) e DASH e o Guia de melhores práticas de transmissão em fluxo em direto.
Resolução de saída e velocidades de transmissão da codificação em direto
As resoluções e velocidades de transmissão na saída resultante do codificador dinâmico são determinadas pela predefinição:
- Quando utiliza o codificador em direto Standard , a predefinição Default720p especifica um conjunto de seis pares de velocidade de resolução/bit, passando de 720p a 3,5 Mbps para 192p a 200 kbps.
- Quando utiliza um codificador em direto Premium1080p , a predefinição Default1080p especifica um conjunto de seis pares de velocidade de resolução/bit, passando de 1080p a 3,5 Mbps para 180p a 200 kbps.
Para obter informações, veja System presets (Predefinições do sistema).
Nota
Se precisar de personalizar a predefinição de codificação em direto, abra um pedido de suporte através do Portal do Azure. Deve especificar a tabela pretendida de resolução de vídeo/velocidades de transmissão e velocidades de transmissão de áudio. Para vídeo, verifique se existe apenas uma camada a 720p e, no máximo, 6 camadas para vídeo. Para áudio, pode personalizar com as seguintes velocidades de bits de áudio discretas do AAC (96k, 112k, 128k, 160k, 192k, 224k, 256k, 320k, 384k, 448k, 512k). São permitidas várias faixas de áudio com velocidades de transmissão diferentes e podem ser incluídas na predefinição personalizada. Especifique também que está a pedir uma predefinição personalizada no pedido de suporte.
Veja a API REST para LiveEventEncodingType ou os SDKs .Net, Node.JS ou Python . Além disso, pode experimentar o código de exemplo do Evento em Direto.
Opções de eventos em direto
Ao criar um evento em direto, pode especificar as seguintes opções:
- Nome e descrição.
- Para codificação Standard e Premium, pode escolher o modo disperso do vídeo codificado:
- Nenhuma: respeita estritamente a resolução de saída especificada na predefinição de codificação sem considerar a proporção de píxeis ou apresentar a proporção do vídeo de entrada.
- Dimensionamento Automático: substitui a resolução de saída e altera-a para corresponder à proporção de apresentação da entrada, sem preenchimento. Por exemplo, se a entrada for 1920x1080 e a predefinição de codificação pedir 1280x1280, o valor na predefinição será substituído e o resultado será 1280x720, que mantém a proporção de entrada de 16:9.
- Ajuste Automático: preenche a saída (com caixa de correio ou pilar) para respeitar a resolução de saída, garantindo ao mesmo tempo que a região de vídeo ativa na saída tem a mesma 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á 1280x1280, que contém um retângulo interno de 1280x720 na proporção de 16:9, com regiões de caixa de pilar com 280 píxeis de largura à esquerda e à direita.
- Protocolo de transmissão em fluxo RTMP ou Transmissão em fluxo uniforme. Nota: não pode alterar a opção de protocolo enquanto o evento em direto ou as saídas em direto associadas estiverem em execução. Se precisar de protocolos diferentes, crie um evento em direto separado para cada protocolo de transmissão em fluxo.
- ID de entrada , que é um identificador exclusivo global para a transmissão de entrada de eventos em direto.
- Prefixo de nome de anfitrião estático que não inclui nenhum (caso em que será utilizada uma cadeia hexadecimal aleatória de 128 bits), Utilize o nome do evento em direto ou Utilize o nome personalizado. Quando opta por utilizar um nome de cliente, este valor é o prefixo Nome de anfitrião personalizado.
- Intervalo de frame da chave de entrada, que é a duração (em segundos) de cada segmento de suporte de dados na saída HLS. O valor deve ser um número inteiro diferente de zero no intervalo de 0,5 a 20 segundos. O valor é predefinido para 2 segundos se nenhum dos intervalos da frame da chave de entrada ou saída estiver definido. O intervalo de fotogramas da chave só é permitido em eventos pass-through.
- Início Automático. Quando o início automático estiver definido como verdadeiro, o evento em direto será iniciado após a criação. A faturação começa assim que o evento em direto começa a ser executado. Tem de parar explicitamente o evento em direto para parar a faturação adicional. Em alternativa, pode iniciar o evento quando estiver pronto para iniciar a transmissão em fluxo.
-
Restrições de IP na ingestão e pré-visualização. Pode definir os endereços IP que têm permissão para ingerir um vídeo neste evento em direto. Os endereços IP permitidos podem ser especificados como um endereço IP único (por exemplo "10.0.0.1"), um intervalo de IP com um endereço IP e uma máscara de sub-rede CIDR (por exemplo, ' 10.0.0.1/22') ou um intervalo de IP com um endereço IP e uma máscara de sub-rede de ponto decimal (por exemplo , ' 10.0.0.1(255.255.252.0)').
- Se não forem especificados endereços IP e não existir uma definição de regra, não será permitido nenhum endereço IP. Para permitir um endereço IP, crie uma regra e defina 0.0.0.0/0. Os endereços IP têm de estar num dos seguintes formatos: endereços IpV4 ou IPv6 com quatro números ou intervalo de endereços CIDR. Para obter mais informações sobre a utilização de IPv4 ou IPv6, veja Restringir o acesso à licença DRM e a entrega de chaves AES com listas de permissões de IP.
- Se quiser ativar determinados IPs nas suas próprias firewalls ou quiser restringir as entradas dos seus eventos em direto para endereços IP do Azure, transfira um ficheiro JSON a partir dos intervalos de endereços IP do Azure Datacenter. Para obter detalhes sobre este ficheiro, selecione a secção Detalhes na página.
- Transcrição em direto desativada por predefinição. Para obter mais informações sobre transcrição em direto, leia Transcrição em direto.
Modo De Espera
Quando cria um evento em direto, pode defini-lo como modo StandBy. Enquanto o evento estiver no modo StandBy, pode editar a descrição e o prefixo de nome de anfitrião estático, bem como restringir as definições de acesso de entrada e pré-visualização. O modo StandBy continua a ser um modo faturável, mas tem um preço diferente do que quando inicia uma transmissão em direto.
Para obter mais informações, veja Estados e faturação de eventos em direto.
Saídas em direto
Depois de configurar um fluxo de um codificador no local para um evento em direto, pode iniciar o evento de transmissão em fluxo ao criar um Recurso, uma saída em direto e um Localizador de Transmissão em Fluxo. A saída em direto irá arquivar o fluxo e disponibilizá-lo aos visualizadores através do Ponto Final de Transmissão em Fluxo.
Perguntas sobre a saída de eventos em direto
Veja as perguntas do evento em direto nas FAQ. Para obter informações sobre quotas de eventos em direto, veja quotas e limites
Mais detalhes sobre como configurar eventos em direto
Regras de nomenclatura
- O nome máximo do evento em direto é de 32 carateres.
- O nome deve seguir este padrão regex :
^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$
.
Veja também Convenções de nomenclatura de Pontos Finais de Transmissão em Fluxo.
Dica
Para garantir a exclusividade do nome do evento em direto, pode gerar um GUID e, em seguida, remover todos os hífenes e parênteses encaracolados (se existirem). A cadeia será exclusiva em todos os eventos em direto e é garantido que o seu comprimento é de 32.
URLs de ingestão de eventos em direto
Após a criação do evento em direto, poderá obter os URLs de ingestão que passará ao codificador em direto no local. O codificador em direto utiliza esses URLs para introduzir uma transmissão um fluxo direto. Para obter mais informações, veja Codificadores dinâmicos recomendados no local.
Nota
A partir do lançamento da API 2020-05-01, os URLs "vanity" são conhecidos como Nomes de Anfitrião Estáticos (useStaticHostname: true)
Nota
Para que um URL de ingestão seja estático e previsível para utilização numa configuração do codificador de hardware, defina a propriedade useStaticHostname como true e defina a propriedade accessToken para o mesmo GUID em cada criação.
Nome de anfitrião não estático
Um nome de anfitrião não estático é o modo predefinido nos Serviços de Multimédia v3 ao criar um LiveEvent. Pode atribuir o evento em direto um pouco mais rapidamente, mas o URL de ingestão de que precisaria para o hardware ou software de codificação em direto será aleatório. O URL será alterado se parar/iniciar o evento em direto. Os nomes de anfitrião não estáticos só são úteis em cenários em que um utilizador final quer transmitir em fluxo com uma aplicação que precisa de obter um evento em direto muito rapidamente e ter um URL de ingestão dinâmica não é um problema.
Se uma aplicação cliente não precisar de pré-gerar um URL de ingestão antes de o evento em direto ser criado, permita que os Serviços de Multimédia gerem automaticamente o Token de Acesso para o evento em direto.
Nomes de Anfitrião Estáticos
O modo de nome de anfitrião estático é preferido pela maioria dos operadores que pretendem pré-configurar o hardware ou software de codificação em direto com um URL de ingestão RTMP que nunca é alterado na criação ou paragem/início de um evento em direto específico. Estes operadores querem um URL de ingestão de RTMP preditivo que não seja alterado ao longo do tempo. Isto também é muito útil quando precisa de emitir um URL de ingestão de RTMP estático para as 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.
Nota
Na portal do Azure, o URL do nome do anfitrião estático chama-se "Prefixo de nome de anfitrião estático".
Para especificar este modo na API, defina
useStaticHostName
comotrue
no momento da criação (a predefinição éfalse
). QuandouseStaticHostname
está definido como verdadeiro, ohostnamePrefix
especifica a primeira parte do nome do anfitrião atribuído à pré-visualização de eventos em direto e ingerir pontos finais. O nome de anfitrião final seria uma combinação deste prefixo, o nome da conta do serviço de multimédia e um código abreviado para o datacenter dos Serviços de Multimédia do Azure.Para evitar um token aleatório no URL, também tem de transmitir o seu próprio token de acesso (
LiveEventInput.accessToken
) no momento da criação. O token de acesso tem de ser uma cadeia GUID válida (com ou sem os hífenes). Assim que o modo estiver definido, não poderá ser atualizado.O token de acesso tem de ser exclusivo para a região do Azure e para a conta dos Serviços de Multimédia. Se a sua aplicação precisar de utilizar um URL de ingestão de nome de anfitrião estático, recomendamos que crie sempre uma instância GUID nova para utilização com uma combinação específica de região, conta de serviços de multimédia e evento em direto.
Utilize as seguintes APIs para ativar o URL do nome do anfitrião estático e definir o token de acesso para um GUID válido (por exemplo,
"accessToken": "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7"
).Linguagem Ativar o URL do nome do anfitrião estático Definir o 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 em direto
- A cadeia aleatória abaixo é um número hexadecimal de 128 bits (que é composto por 32 carateres de 0-9 e a-f).
-
token de acesso: a cadeia GUID válida que definiu ao utilizar a definição de nome de anfitrião estático. Por exemplo,
"1fce2e4b-fb15-4718-8adc-68c6eb4c26a7"
. - nome do fluxo: indica o nome do fluxo para uma ligação específica. Normalmente, o valor do nome do fluxo é adicionado pelo codificador dinâmico que utiliza. Pode configurar o codificador em direto para utilizar qualquer nome para descrever a ligação, por exemplo: "video1_audio1", "video2_audio1", "stream".
Aviso
Se utilizar carateres ou espaços especiais em nome da sua transmissão em fluxo, a ingestão em direto falhará. Veja Convenções de nomenclatura de recursos dos Serviços de Multimédia na descrição geral dos conceitos dos programadores.
URL de ingestão de nome de anfitrião 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>
Transmissão em fluxo 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 de nome de anfitrião estático
Nos seguintes caminhos, <live-event-name>
significa o nome dado ao evento ou o nome personalizado utilizado na criação do evento em direto.
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>
Transmissão em fluxo 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 pré-visualização de eventos em direto
Assim que o evento em direto começar a receber o feed de contribuição, pode utilizar o respetivo ponto final de pré-visualização para pré-visualizar e validar que está a receber a transmissão em direto antes de publicar. Depois de verificar se o fluxo de pré-visualização é bom, pode utilizar o evento em direto para disponibilizar o live stream para entrega através de um ou mais Pontos Finais de Transmissão em Fluxo (pré-criados). Para tal, crie uma nova saída em direto no evento em direto.
Importante
Certifique-se de que o vídeo está a fluir para o URL de pré-visualização antes de continuar!
Operações de execução prolongada de eventos em direto
Para obter detalhes, veja Operações de execução prolongada.
Obter ajuda e suporte
Pode contactar os Serviços de Multimédia com perguntas ou seguir as nossas atualizações através de um dos seguintes métodos:
- Q & A
-
Stack Overflow. Perguntas sobre etiquetas com
azure-media-services
. - @MSFTAzureMedia ou utilize @AzureSupport para pedir suporte.
- Abra um pedido de suporte através do portal do Azure.