O ApsaraVideo Live permite atualizar continuamente da transmissão padrão para o Real-Time Streaming (RTS). Se você já utiliza a transmissão padrão, ative o RTS para usar ambos os serviços simultaneamente.
Pré-requisitos
Ative o serviço ApsaraVideo Live e conclua as configurações necessárias para a transmissão padrão, conforme descrito em Início rápido do ApsaraVideo Live. Conclua as configurações da transmissão padrão na seguinte ordem:
Etapa 1: Ativar o RTS
Faça login no console do ApsaraVideo Live.
No painel de navegação à esquerda, escolha Live + > RTS.
Selecione o domínio de transmissão onde deseja ativar o RTS.
-
Ative a chave RTS e selecione um modo de latência conforme as necessidades do seu negócio: Sub-second (End-to-End Latency: 400-800 ms) ou Half-second (End-to-End Latency: 200-400 ms).
Analise a compatibilidade e as limitações de cada opção de latência antes de selecionar.
Latência sub-segundo
Recursos: Oferece latência de ponta a ponta de 400 ms a 800 ms com alta compatibilidade. Este modo é ideal para cenários de transmissão ao vivo de baixa latência que exigem compatibilidade com a transmissão padrão e outros protocolos de ingestão ou reprodução.
Suporte a protocolos: Compatível com ARTC (baseado em WebRTC) para ingestão e reprodução de streams. É compatível retroativamente com a transmissão padrão e suporta ingestão RTMP, origin pull e protocolos comuns de reprodução, como RTMP, FLV e HLS.
Ferramentas de ingestão e reprodução: Funciona com ferramentas comuns do setor. Recomendamos o uso do SDK de Ingestão do Alibaba Cloud e do SDK do Player ApsaraVideo.
-
Outras observações: Se o stream de ingestão contiver B-frames ou usar um codec de áudio diferente de Opus, o sistema transcodifica automaticamente o stream para reprodução na web, gerando taxas de transcodificação.
Ao usar o SDK Web do ApsaraVideo para reprodução, o mecanismo WebRTC subjacente não oferece suporte nativo a B-frames e exige o codec de áudio Opus. Para garantir uma experiência de reprodução fluida, o sistema aciona automaticamente a transcodificação com base no conteúdo do stream de ingestão:
Caso o stream de ingestão contenha B-frames e áudio AAC, o sistema transcodifica automaticamente o vídeo para remover os B-frames e converte o áudio de AAC para Opus. Haverá cobrança das taxas padrão de transcodificação de vídeo com base na resolução de origem.
Se o stream de ingestão não contiver B-frames, mas tiver áudio AAC, o sistema realiza apenas a transcodificação de áudio para converter AAC em Opus. A cobrança refere-se apenas à transcodificação de áudio.
Quando um modelo de transcodificação também estiver configurado, o sistema executa a remoção de B-frames e a conversão para Opus além das operações definidas no modelo. Haverá cobrança pelas operações combinadas de transcodificação.
Ao utilizar o SDK Nativo do ApsaraVideo para reprodução, nenhuma transcodificação automática é acionada e não há taxas extras, pois o SDK nativo suporta tanto B-frames quanto AAC.
Latência de meio segundo
Recursos: Atinge latência de ponta a ponta de 200 ms a 400 ms. Indicado para cenários que demandam a menor latência possível.
Suporte a protocolos: Utiliza ARTC (baseado em WebRTC) para ingestão e reprodução de streams. Este modo não é compatível com a transmissão padrão e não suporta ingestão RTMP, origin pull ou reprodução via protocolos comuns como RTMP, FLV e HLS.
Ferramentas de ingestão e reprodução: Para ingestão de streams, utilize o OBS com o protocolo WHIP ou o SDK de Ingestão do Alibaba Cloud. Para reprodução, é obrigatório o uso do SDK do Player ApsaraVideo.
-
Outras observações: Recursos de nuvem como transcodificação e gravação não estão disponíveis para o domínio de transmissão neste modo. No entanto, é possível usar uma configuração de encaminhamento de stream para disponibilizar o stream em outro domínio.
Clique em Configure Stream Relay e selecione um domínio de ingestão associado a um domínio de transmissão que não tenha o modo de latência de meio segundo ou a recuperação de desastres de stream duplo ativados. Esse domínio receberá o stream RTMP encaminhado. Por exemplo, encaminhe o stream para um domínio de ingestão
push.example.com, associado ao domínio de transmissãopull.example.com. Após concluir a configuração, puxe o stream depull.example.comusando protocolos de transmissão padrão e utilize recursos de nuvem como transcodificação e gravação.
A configuração do RTS pode levar alguns minutos para propagar pela rede. Aguarde alguns instantes antes de testar.
Para associar um domínio de ingestão a vários domínios de transmissão, consulte Vincular um subdomínio de transmissão a um domínio de transmissão principal.
O RTS e a transmissão padrão podem compartilhar o mesmo domínio de transmissão. Contudo, como o RTS usa UDP e a transmissão padrão usa TCP, suas tecnologias subjacentes são diferentes. Recomendamos o uso de um domínio de transmissão dedicado para o RTS.
Etapa 2: Gerar URLs de ingestão e transmissão
Método 1: Gerar URLs no console
Após ativar o RTS, utilize a ferramenta de teste de stream no console. Clique em Generate URLs, insira um nome de aplicativo e um nome de stream, e a ferramenta gerará URLs de ingestão e transmissão RTS baseadas em ARTC.
No console, ative primeiro a chave Real-Time Streaming e selecione um modo de latência: latência sub-segundo (latência de ponta a ponta de 400 ms a 800 ms, suporta ingestão RTMP/ARTC e reprodução HLS/FLV/RTMP/ARTC) ou latência de meio segundo (latência de ponta a ponta de 200 ms a 400 ms, suporta apenas ingestão e reprodução ARTC). A lista de URLs geradas inclui múltiplos formatos de protocolo para ingestão e reprodução, como artc://, rtmp:// e http://.
Método 2: Construir URLs manualmente
Antes de construir as URLs de ingestão e transmissão, determine se o stream será transcodificado e se a assinatura de URL está ativada. Em seguida, prepare as informações necessárias: domínio de ingestão, domínio de transmissão, nome do aplicativo, nome do stream, ID do modelo de transcodificação (se aplicável) e token de acesso (se aplicável).
|
Tipo de URL |
Formato |
Regra de construção |
|
URL de ingestão |
Suporta os formatos RTMP, RTS e SRT. Recomendamos o formato RTMP para ingestão de streams. Exemplo: RTMP: Nota
RTS também suporta reprodução de streams por meio de URLs RTS. |
domínio de ingestão + nome do aplicativo + nome do stream + token de acesso |
|
URL de transmissão |
Compatível com os formatos RTMP, FLV, M3U8 e RTS. Recomendamos o formato RTS para reprodução de streams. Exemplo: RTS: |
domínio de transmissão + nome do aplicativo + nome do stream + token de acesso |
|
URL do stream transcodificado Nota
Se você configurar um modelo de transcodificação, deverá usar a URL correspondente do stream transcodificado. |
Aceita os formatos RTMP, FLV, M3U8 e RTS. O formato RTS é o mais indicado para reprodução de streams. Exemplo: RTS: |
domínio de transmissão + nome do aplicativo + nome do stream_ID do modelo de transcodificação + token de acesso |
Para domínios de ingestão e transmissão associados, utilize nomes de aplicativo e de stream idênticos tanto para a ingestão quanto para a reprodução.
Uma URL de stream transcodificado exige um modelo de transcodificação. Encontre o ID do modelo de transcodificação no console. Para mais informações, consulte Transcodificação de transmissão ao vivo.
O token de acesso (auth_key) é uma string criptografada necessária apenas quando a assinatura de URL está ativada. Utilize o algoritmo MD5 para gerar o token de acesso. Para mais detalhes, veja Componentes da URL Assinada.
Ao personalizar a URL, substitua diretamente {ID do Modelo de Transcodificação} ou {Token de Acesso} pelos dados reais. Não inclua os símbolos {} ao redor dos dados reais.
Etapa 3: Iniciar a ingestão e reprodução RTS
Depois de ativar o RTS e gerar as URLs, use a ferramenta Try RTS no console para testar a ingestão e a reprodução RTS. A ferramenta permite transmitir a partir da sua câmera ou compartilhar sua tela.
A ferramenta de teste de stream no console utiliza um domínio de sinalização proxy para testes rápidos. Se você estiver integrando o SDK Web em seu próprio aplicativo, configure um certificado ssl para seus domínios e defina o cabeçalho de resposta Access-Control-Allow-Origin correto.
O ApsaraVideo Live também fornece demos móveis e web para experimentar o RTS.
Também é possível integrar os seguintes SDKs aos seus aplicativos:
|
Tipo de SDK |
Documentação |
|
Móvel |
|
|
Web |
Em caso de problemas de reprodução, utilize primeiro a ferramenta de solução de problemas de autoatendimento. Essa ferramenta diagnostica rapidamente problemas comuns de reprodução e fornece soluções. Para mais informações, consulte Solução de problemas de autoatendimento.
Verificar a latência de ponta a ponta
Adicione uma URL de calibrador de tempo à ingestão do stream para verificar a latência do RTS comparando-a com a hora padrão. O exemplo a seguir utiliza o OBS para ingestão de streams.
Na interface principal do OBS, adicione a URL do calibrador de tempo como uma source de navegador na seção Sources e clique em Start Streaming.