Este tópico descreve como ingerir uma transmissão ao vivo usando o Open Broadcaster Software (OBS) e o Push SDK.
Pré-requisito
Gere uma URL de ingestão. Para mais informações, consulte Generate live stream URLs.
Observações de uso
O ApsaraVideo Live aceita apenas um stream por URL de ingestão por vez e rejeita quaisquer streams subsequentes enviados para essa URL.
Se ocorrer uma exceção durante a ingestão da transmissão ao vivo, use a ferramenta de solução de problemas para diagnosticar falhas comuns e obter soluções. Para mais informações, consulte Troubleshooting.
Para evitar que raras falhas de ingestão causadas por problemas no sistema afetem seu service de transmissão ao vivo, recomendamos implementar políticas de alta disponibilidade, como novas tentativas de ingestão e alertas de erro, ao usar ferramentas de terceiros. Configure também callbacks de ingestão para monitorar o status do stream. Distribua a URL de reprodução somente após confirmar o sucesso da ingestão. Para mais informações, consulte Event Callback.
Um domínio de ingestão não limita a taxa de bits do stream recebido. No entanto, recomenda-se manter a taxa de bits de um único stream abaixo de 4 Mbps.
Ingestão via OBS
O OBS está disponível para Windows, macOS e Linux. Este tópico usa o OBS Studio V27.2.3 para Windows como exemplo. Os passos são semelhantes para outras versões e sistemas operacionais.
Baixe o OBS Studio no Site oficial e instale-o.
Inicie o OBS Studio.
Na barra de menus, escolha File > Settings.
-
Na página Settings, clique em Stream e configure os seguintes parâmetros:
Parâmetro
Descrição
Service
Selecione Custom.
Server
Insira a URL de ingestão autenticada gerada. Exemplo:
rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************.Stream Key
Deixe o campo Stream Key vazio.
Na janela principal do OBS Studio, adicione uma source na seção Sources e clique em Start Streaming.
Acesse a página Stream Management. Na aba Active Streams, visualize e gerencie seus streams ativos.
Ingestão via demo do Push SDK
-
Escaneie o código QR com seu dispositivo móvel para instalar a demo do Push SDK.
NotaNo iOS, se a mensagem "Untrusted Enterprise Developer" aparecer, acesse Settings > General > Device Management, localize e confie no perfil da Taobao.
Inicie a demo do Push SDK.
-
Selecione Camera Pushing ou Screen Sharing.
NotaPara ingestão de vídeo local, a demo suporta apenas o formato YUV original.
Insira sua URL de ingestão autenticada (por exemplo,
rtmp://demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************) e configure outros parâmetros conforme necessário.Clique em Start Pushing para iniciar a ingestão do stream a partir do seu dispositivo móvel.
Acesse a página Stream Management. Na aba Active Streams, visualize e gerencie seus streams ativos.
Ingestão via Push SDK
Push SDK for iOS
Integre o Push SDK for iOS. Para mais informações, consulte SDK integration.
-
Configure os parâmetros de ingestão e inicie o stream. Para mais informações, consulte Feature usage.
Para detalhes sobre como lidar com exceções durante a configuração e a ingestão, consulte Handle errors, exceptions, and special cases.
Push SDK for Android
Integre o Push SDK for Android. Para mais informações, consulte SDK integration.
-
Configure os parâmetros de ingestão e inicie o stream. Para mais informações, consulte Feature usage.
Para detalhes sobre como lidar com exceções durante a configuração e a ingestão, consulte Handle errors, exceptions, and special cases.
Push SDK for Flutter
Integre o Push SDK for Flutter. Para mais informações, consulte SDK integration.
Configure os parâmetros de ingestão e inicie o stream. Para mais informações, consulte Feature usage.
Push SDK for Web
Integre o Push SDK for Web. Para mais informações, consulte Quick start for Push SDK for Web.
FAQ
O que fazer se a ingestão via OBS estiver configurada corretamente, mas a reprodução não exibir vídeo?
Verifique se o nome do domínio de ingestão, o nome do aplicativo (
appName) e o nome do stream (streamName) estão configurados corretamente no OBS.Acesse a página Stream management no console para verificar se o stream está disponível na aba Active Stream.
Se o stream não estiver disponível, solucione problemas relacionados ao status de ingestão local do OBS e à conectividade de rede. Certifique-se de que a ingestão foi bem-sucedida antes de testar a reprodução.
A transmissão ao vivo apresenta vídeo travando, mas áudio normal em dispositivos iOS. Como resolver?
Esse problema geralmente ocorre devido a uma incompatibilidade entre os parâmetros de codificação de vídeo e as capacidades de decodificação dos dispositivos iOS. Ajuste a configuração de ingestão do stream, incluindo codec de vídeo, taxa de bits e GOP, para garantir compatibilidade com o iOS.
É possível transmitir diretamente do Douyin para o ApsaraVideo Live?
O Douyin não oferece suporte à ingestão direta de streams para o ApsaraVideo Live. Para enviar conteúdo de transmissão ao vivo ao ApsaraVideo Live, use um cliente de ingestão independente, como o OBS ou uma ferramenta personalizada. Envie a transmissão ao vivo para a URL de ingestão gerada pelo ApsaraVideo Live usando um protocolo suportado, como RTMP, ARTC ou SRT.
Como transmitir de uma câmera RTSP para o ApsaraVideo Live?
Câmeras RTSP normalmente geram streams nesse protocolo. O ApsaraVideo Live suporta apenas os protocolos de ingestão RTMP, ARTC e SRT, e não aceita streams RTSP diretamente. Para ingerir o stream de uma câmera RTSP no ApsaraVideo Live, use um dos métodos abaixo:
Entre em contato com o fabricante do dispositivo para verificar se o software de gerenciamento ou o gateway suporta a conversão de streams RTSP para os protocolos RTMP ou SRT.
Use uma ferramenta de ingestão de terceiros que ofereça suporte à conversão de protocolos para retransmitir o stream RTSP ao ApsaraVideo Live via RTMP ou SRT.
Quando as alterações nas configurações de codificação feitas no cliente de ingestão entram em vigor? Como ajustar a qualidade do stream?
Após alterar configurações de codificação, como o GOP, no cliente de ingestão, pare a ingestão atual e reinicie-a. As novas configurações só entram em vigor após o reinício da ingestão; portanto, mudanças feitas durante uma transmissão ao vivo não são aplicadas imediatamente.
Ajuste a qualidade do stream de acordo com o método de ingestão utilizado:
Ao usar a demo do Push SDK ou um aplicativo empacotado, ajuste a resolução diretamente na interface de ingestão.
Se integrar o Push SDK ao seu próprio aplicativo, defina
setQualityModecomoresolution_firstno código para priorizar alta resolução, aumente a resolução e a taxa de bits alvo e ative a taxa de bits adaptativa.
Ao fechar o navegador, o canal ao vivo permanece online quando uso Web Real-Time Communication (WebRTC) ou ingestão baseada em navegador? Qual a diferença entre ingestão via navegador e via OBS?
A Web Real-Time Communication (WebRTC) e a ingestão baseada em navegador dependem de uma conexão em tempo real entre o navegador e o service de transmissão ao vivo. Ao fechar o navegador, a ingestão do stream para imediatamente e o canal ao vivo no ApsaraVideo Live não permanece online. Para manter o canal ativo, use uma ferramenta de ingestão independente, como o OBS.
Em comparação com a ingestão via navegador, a ingestão via OBS oferece as seguintes vantagens:
Suporta codificação por hardware, como NVENC, QSV e VideoToolbox, melhorando a eficiência da codificação.
Oferece controle refinado sobre keyframes e taxas de bits, reduzindo a latência e mantendo a ingestão do stream mais estável.
Suporta o protocolo SRT, que resiste à perda de pacotes e permite políticas personalizadas de reconexão.
Gerencia recursos de forma mais eficiente, evitando travamentos causados pela coleta de lixo do navegador.
Próximos passos
Após iniciar a ingestão da transmissão ao vivo, comece a reprodução do stream. Para mais informações, consulte Live stream playback.
Para gerenciar seus streams ingeridos, consulte Manage streams.