O Real-Time Streaming (RTS) reduz a latência de ponta a ponta de 3 a 6 segundos para o nível de milissegundos e oferece maior resistência à perda de pacotes. O RTS é ideal para transmissões ao vivo de e-commerce, educação online, esportes e entretenimento. Este tópico apresenta o guia completo de configuração do RTS.
Pré-requisitos
-
Um domínio de ingestão, um domínio de streaming e um registro ICP válido. .
NotaSe o seu centro de transmissão ao vivo estiver localizado em uma região fora da China continental e sua região de aceleração estiver definida como Outside Chinese Mainland, seus domínios não exigem registro ICP.
Caso os domínios de ingestão e de streaming sejam dois subdomínios sob o mesmo domínio raiz, basta obter um registro ICP para o domínio raiz.
Fluxo de trabalho básico do RTS
Etapa 1: Ative o ApsaraVideo Live
Tutorial em vídeo: Ative o service de live streaming.
Faça login no console do ApsaraVideo Live.
Clique em Enable Now. Na página de ativação, selecione um método de faturamento (pay-by-traffic ) e marque a caixa de seleção ApsaraVideo Live Service Agreement.
Clique em Enable Now.
Etapa 2: Adicionar domínios de ingestão e de streaming
Antes de usar o service RTS, adicione um domínio de ingestão e um domínio de streaming.
Tutorial em vídeo: Add a domain name.
-
Prepare seus nomes de domínio.
Caso não possua um nome de domínio, registre um na plataforma Alibaba Cloud Domains. Para mais informações, consulte Register a domain name on Alibaba Cloud.
-
Após registrar um nome de domínio, talvez seja necessário solicitar um registro ICP, dependendo do uso. Para mais informações, consulte ICP filing procedure.
NotaPara testar rapidamente os recursos básicos do ApsaraVideo Live, escolha uma região do centro de transmissão ao vivo fora da China continental e defina a região de aceleração como Outside Chinese Mainland. Nesse cenário, o registro ICP não é obrigatório para o seu nome de domínio.
Se o domínio de ingestão e o domínio de streaming forem dois subdomínios do mesmo domínio raiz, obtenha o registro ICP apenas para o domínio raiz.
Faça login no console do ApsaraVideo Live.
No painel de navegação à esquerda, clique em Domain Names. A página Domain Management será exibida.
-
Clique em Add Domain.
NotaPara adicionar um subdomínio, inclua um prefixo ao seu nome de domínio registrado. Não é necessário registrar o subdomínio separadamente. Certifique-se de distinguir entre o domínio de ingestão e o domínio de streaming.
-
Configure os parâmetros necessários do nome de domínio.
ImportanteAo adicionar um nome de domínio ao ApsaraVideo Live pela primeira vez, verifique sua propriedade. Para mais informações, consulte Verifique domain ownership.
-
Anote o valor do registro CNAME gerado para a próxima etapa.
Após adicionar o domínio, uma tabela de configuração será exibida. Essa tabela inclui o domínio de streaming, tipo de registro (CNAME), nome do host e valor do registro CNAME. Adicione esse valor de registro CNAME no seu provedor de DNS para ativar a aceleração CDN. Também é possível clicar em CNAME Configuration Guide para concluir a configuração.
Etapa 3: Configure um registro CNAME
Aponte seu domínio para o endereço CNAME atribuído pela Alibaba Cloud. As etapas a seguir utilizam o Alibaba Cloud DNS.
Os servidores de verificação do Alibaba Cloud CDN estão implantados na China continental. Se configurar a resolução de DNS baseada em geolocalização com um registro CNAME apenas para regiões fora da China continental, os servidores de verificação não conseguirão resolver o endereço CNAME. O status do CNAME aparecerá como Pending Configuration. Isso não afeta o service de aceleração CDN.
Os domínios CNAME para Alibaba Cloud CDN, Dynamic Route for CDN (DCDN), ApsaraVideo Live e ApsaraVideo VOD só podem ser usados para agendamento e resolução pelo Alibaba Cloud CDN. A Alibaba Cloud reserva-se o direito de suspender quaisquer domínios e contas que façam uso indevido de domínios CNAME.
Faça login no console do Alibaba Cloud DNS-Authoritative Domains.
No painel de navegação à esquerda, escolha Authoritative DNS Resolution.
Localize o domínio que deseja configurar e clique em Settings na coluna Actions.
-
Clique em Add Record e configure as seguintes definições:
Parâmetro
Descrição
Record type
Selecione CNAME Record para apontar um nome de domínio para outro.
Host
Insira o prefixo do nome de domínio. A tabela abaixo lista prefixos comuns e exemplos de domínios.
Resolution line
Selecione o valor padrão.
Record value
Insira o valor CNAME do registro.
TTL
Selecione o valor padrão.
Prefixo
Exemplo de domínio
Descrição
demo
demo.aliyundoc.com
Resolve um subdomínio.
@
aliyundoc.com
Resolve o domínio raiz.
*
*.aliyundoc.com
Resolução curinga.
Clique em OK para concluir a configuração do CNAME.
Verifique a propagação do CNAME
Método 1: Na página Add CNAME Record, clique em CNAME Configuration Guide. Na seção CNAME validation, clique em Verify para verificar se a configuração do CNAME entrou em vigor.
-
Método 2: Execute o comando nslookup -type=cname yourdomain.com. Se o resultado da resolução retornada corresponder ao valor CNAME do domínio no console do ApsaraVideo Live, o registro CNAME estará ativo.
C:\Users\xxx>nslookup -type=cname xxx Server: xxx Address: xxx Non-authoritative answer: xxx canonical name = cxxx.cdngslb.com C:\Users\xxx>
Configure um certificado SSL (opcional)
Para reproduzir transmissões ao vivo em um navegador, configure um certificado SSL para seus domínios de ingestão e de streaming. Ative secure streaming over HTTPS.
Etapa 4: Associar domínios de ingestão e de streaming
Associe um domínio de ingestão a um domínio de streaming para utilizar o RTS.
Tutorial em vídeo: Associate an ingest domain with a streaming domain.
No painel de navegação à esquerda, clique em Domain Names. Localize seu domínio de streaming e clique em Domain Settings na coluna Actions para acessar a página .
Clique na aba Stream Ingest Information.
Clique em Add Stream Ingest Information ou no ícone de edição ao lado de Ingest Domain para selecionar o domínio de ingestão que deseja associar. Na caixa de diálogo Ingest Domain exibida, selecione um domínio de ingestão existente na lista suspensa Ingest Domain e clique em OK. Caso precise adicionar um novo domínio de ingestão, adicione-o primeiro na página Domain Management.
Etapa 5: Ative o Real-Time Streaming (RTS)
Faça login no console do ApsaraVideo Live.
No painel de navegação à esquerda, escolha Live + > RTS.
Selecione o domínio de streaming para o qual deseja ativar o RTS.
-
Ative a chave RTS e selecione Sub-second (End-to-End Latency: 400-800 ms) ou Half-second (End-to-End Latency: 200-400 ms).
Clique em Quickly Generate Live Streaming URLs para gerar URLs de ingestão e reprodução do protocolo ARTC. Certifique-se de ter configurado um certificado SSL e definido corretamente o cabeçalho de resposta
Access-Control-Allow-Origin.
Latência sub-segundo (RTS1.0)
Recursos: Latência de ponta a ponta de 400 a 800 ms. Este modo corresponde ao RTS1.0 e oferece compatibilidade com streaming ao vivo padrão e outros protocolos de ingestão e reprodução.
Protocolos suportados: ARTC (baseado em WebRTC) para ingestão e reprodução. Compatível retroativamente com streaming ao vivo padrão: suporta ingestão RTMP, pull de source e reprodução RTMP/FLV/HLS.
Ferramentas de ingestão e reprodução: Compatível com a maioria das ferramentas comuns. Recomendado: Alibaba Cloud Live Ingest SDK e Alibaba Cloud Live Player SDK.
-
Outras observações: Se o fluxo contiver B-frames ou áudio não Opus, o sistema remove automaticamente os B-frames e transcodifica o áudio para Opus para reprodução H5, incorrendo em live transcoding fees.
Reprodução com Alibaba Cloud Web sdk: O WebRTC nativo não suporta B-frames e utiliza áudio Opus. O sistema aciona automaticamente a transcodificação com base no conteúdo ingerido:
Se o fluxo contiver B-frames e áudio codificado em AAC, a transcodificação de vídeo remove os B-frames e a transcodificação de áudio converte AAC para Opus. Você será cobrado pelas taxas padrão de transcodificação de vídeo com base na resolução de source.
Caso o fluxo não contenha B-frames, mas utilize áudio AAC, a transcodificação de áudio converte AAC para Opus. A cobrança refere-se à transcodificação apenas de áudio.
Se também configurar um modelo de transcodificação ao vivo, a remoção de B-frames e a transcodificação Opus serão aplicadas adicionalmente ao modelo. A cobrança incidirá sobre as operações combinadas de transcodificação.
Reprodução com Alibaba Cloud Native sdk: O sdk suporta nativamente B-frames e AAC, portanto nenhuma transcodificação automática é acionada e não há taxas adicionais.
Latência de meio segundo (RTS2.0)
Recursos: Latência de ponta a ponta de 200 a 400 ms. Este modo corresponde ao RTS2.0 e é ideal para cenários que exigem a menor latência possível. Para usar o RTS2.0, ative-o tanto no domínio de ingestão quanto no domínio de streaming; ele suporta apenas o protocolo ARTC para ingestão e pull de fluxo.
Protocolos suportados: Apenas ARTC (baseado em WebRTC). Não compatível com streaming ao vivo padrão: não suporta ingestão RTMP, pull de source ou reprodução RTMP/FLV/HLS.
Ferramentas de ingestão e reprodução: Para ingestão, use o OBS com o WHIP protocol ou o Alibaba Cloud Live Ingest SDK. Para reprodução, utilize o Alibaba Cloud Player SDK.
-
Outras observações: O domínio de streaming não pode usar recursos de cloud como transcodificação ou gravação. Utilize uma configuração de retransmissão para enviar o fluxo para outro domínio de streaming e acessar esses recursos.
Clique em Configure Stream Relay e selecione um domínio de ingestão para receber o fluxo RTMP retransmitido. O domínio deve estar associado a um domínio de streaming e ter os recursos de modo de latência ultrabaixa de meio segundo e recuperação de desastres de fluxo duplo desativados. Por exemplo, se
push.example.comestiver associado apull.example.com, faça o pull do fluxo depull.example.comusando protocolos padrão e utilize transcodificação e gravação.
A configuração do RTS pode levar vários minutos para se propagar pela rede. Aguarde antes de iniciar os testes.
Para associar um domínio de ingestão a vários domínios de streaming, consulte Associate primary and sub-streaming domains.
O RTS e o streaming ao vivo padrão podem compartilhar um domínio de streaming, mas o RTS usa udp enquanto o streaming padrão usa TCP. Recomenda-se um domínio de streaming separado para o RTS.
Etapa 6: Gerar URLs de ingestão e de streaming
Método 1: Gerar URLs no console
Após ativar o RTS, clique em Generate URLs na ferramenta de experiência de ingestão e reprodução. Insira um AppName e StreamName para gerar URLs de ingestão e streaming RTS via protocolo ARTC.
Selecione um domínio de streaming, confirme o domínio de ingestão associado, ative o Real-Time Streaming (RTS) e escolha um modo de latência: latência sub-segundo (400–800 ms, suporta ingestão RTMP/ARTC e reprodução HLS/FLV/RTMP/ARTC) ou latência de meio segundo (200–400 ms, apenas ARTC). Configure um certificado SSL e o cabeçalho de resposta Access-Control-Allow-Origin antes de usar.
Método 2: Montar URLs manualmente
Para montar URLs manualmente, reúna as seguintes informações: domínio de ingestão, domínio de streaming, AppName, StreamName, ID do modelo de transcodificação (se aplicável) e string de autenticação (se aplicável).
|
Tipo de URL |
Formato da URL |
Regra de montagem |
|
URL de ingestão |
Suporta RTMP, RTS e SRT. Recomendamos o uso de RTMP para ingestão. Exemplo: RTMP: Nota
RTS suporta pull de fluxos usando URLs no formato RTS. |
Domínio de ingestão + AppName + StreamName + String de autenticação |
|
URL de streaming |
Suporta RTMP, FLV, M3U8 e RTS. Recomendamos o uso de RTS para reprodução. Exemplo: RTS: |
Domínio de streaming + AppName + StreamName + String de autenticação |
|
URL de fluxo transcodificado Nota
Ao utilizar um modelo de transcodificação, monte a URL de streaming usando este formato. |
Suporta RTMP, FLV, M3U8 e RTS. Recomendamos o uso de RTS para reprodução. Exemplo: RTS: |
Domínio de streaming + AppName + StreamName_ID do modelo de transcodificação + String de autenticação |
Para domínios de ingestão e streaming associados, ingira e reproduza fluxos desde que o AppName e o StreamName sejam iguais para ambos.
Uma URL de fluxo transcodificado requer um modelo de transcodificação. Encontre o ID do modelo no console. Live stream transcoding.
A string de autenticação (auth_key) é gerada por um algoritmo de autenticação MD5. A autenticação de URL deve estar ativada. Components of an authenticated URL.
Substitua {transcoding_template_ID} ou {authentication_string} pelos dados reais e omita as chaves {} da URL final.
Etapa 7: Ingerir e reproduzir fluxos RTS
Utilize a ferramenta Try RTS no console para testar a ingestão e a reprodução. Escolha ingerir da sua câmera ou compartilhar sua tela e clique no botão correspondente para iniciar.
A ferramenta de experiência do console utiliza um domínio de sinalização proxy. Se integrar o Web sdk diretamente, configure um certificado SSL e o cabeçalho de resposta Access-Control-Allow-Origin para seus domínios.
O Alibaba Cloud RTS também fornece demos móveis e web.
Também é possível integrar os seguintes sdks:
|
Tipo de sdk |
Referências |
|
Móvel |
|
|
Web |
Em caso de erros de reprodução, execute diagnósticos com a ferramenta Self-service troubleshooting.
Configure um certificado SSL (opcional)
Configure um certificado SSL para seus domínios de ingestão e de streaming para permitir a reprodução RTS em navegadores. Ative secure streaming over HTTPS.
O certificado SSL é opcional ao usar os sdks ou demos do RTS.
Configure autenticação de URL personalizada (opcional)
A autenticação de URL protege seu conteúdo contra acesso não autorizado e vem ativada por padrão para novos domínios.
A configuração padrão não exige ajustes adicionais. Para personalizar, configure a Primary Key, a Secondary Key e o Validity Period.
Tutorial em vídeo: Configure URL authentication.
No painel de navegação à esquerda, escolha Domain Names. Selecione o domínio de streaming para o qual você ativou o RTS e clique em Domain Settings na coluna Actions.
Escolha para acessar a página Access Control.
-
Clique na aba URL Signing e depois clique em Modify.
NotaSe a autenticação de URL já estiver ativada, clique em Modify para configurar as definições de autenticação. Caso tenha sido desativada anteriormente, ative a chave URL Signing para configurar as definições.
-
Configure as informações de autenticação de URL. A tabela a seguir descreve os parâmetros.
Parâmetro
Descrição
Authentication Type
Os domínios de streaming do ApsaraVideo Live suportam apenas autenticação Tipo A para proteger eficazmente os recursos de source.
Nota
Uma falha na autenticação de URL retorna um erro 403. Se isso ocorrer, recalcule a URL.
-
Erro de cálculo MD5
Por exemplo:
X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760be -
Erro de timestamp
Por exemplo:
X-Tengine-Error:denied by req auth: expired timestamp=1439469547
Primary Key
O console gera uma chave primária ao adicionar um domínio. Visualize-a em Domains, selecionando seu domínio, clicando em Domain Settings e escolhendo . Também é possível definir uma chave primária personalizada.
Secondary Key
Insira uma chave secundária personalizada para seu método de autenticação.
Validity Period
O período de validade controla por quanto tempo uma URL autenticada pode iniciar sessões. Sessões ativas continuam após a expiração, mas novas requisições com uma URL expirada falharão.
Padrão: 1.440 minutos (1 dia). Mínimo: 1 minuto.
-
Outras operações: Verifique a latência do RTS
Adicione uma URL de sincronizador de tempo ao seu fluxo para comparar o tempo do fluxo com uma fonte de tempo padrão e verificar o RTS. O exemplo a seguir utiliza a ferramenta de streaming OBS.
No OBS, adicione a URL do sincronizador de tempo como uma fonte de navegador em Sources e clique em Start Streaming.