Reprodução WebRTC por WHEP¶
WHEP entrega um stream do Agora a um reprodutor WebRTC com latência mínima. Este guia usa studio, já recebendo sinal, por exemplo de um emissor WHIP.
Prepare o stream¶
Verifique se o stream está ativo e tem vídeo H.264 ou AV1. O áudio exige Opus; se a origem envia AAC ou outro codec, configure antes a conversão para Opus. WebRTC não converte codecs. Verifique também o suporte de vídeo no reprodutor.
Permita a reprodução¶
Em Auth & DRM, configure o acesso à reprodução. Para um stream privado, obtenha um token ou autorização de reprodução permitido. O token de publicação do codificador não substitui essa permissão.
Monte a URL WHEP¶
Em Layout da ficha do stream, encontre o streamer que o entrega. Use seu endereço HTTP(S) e o nome do stream:
https://streamer.example.com/streaming/whep/studio?token=PLAY_TOKEN
Esta URL WHEP aponta diretamente para o streamer, e não para a console central. Substitua o domínio e o token. Em vez do parâmetro token, o reprodutor pode enviar Authorization: Bearer PLAY_TOKEN.
Conecte o reprodutor¶
- Abra um reprodutor compatível com WHEP e informe a URL. Ele deve suportar SDP inicial completo com candidatos ICE sem exigir Trickle ICE.
- Inicie a reprodução. O reprodutor envia uma oferta SDP por POST e recebe
201 Created, a resposta SDP e a URL da sessão emLocation. - Verifique imagem e som. Em Sessões, aparecerá uma sessão WHEP com contabilização de bytes.
Colar a URL na barra do navegador não inicia vídeo: GET retorna 204 No Content. A integração no navegador exige um reprodutor WebRTC; <video src="…"> sozinho não negocia WHEP. Use HTTPS e permita UDP na porta de mídia do streamer.
Se a página do navegador e o endpoint WHIP/WHEP usam origens diferentes, adicione no proxy HTTPS o cabeçalho de resposta Access-Control-Expose-Headers: Location para o cliente ler a URL da sessão. Isso não é necessário quando a página e a API compartilham a origem.
Encerre a reprodução¶
Pare a reprodução no reprodutor. Em um cliente próprio, guarde Location da resposta POST e envie DELETE para essa URL; o sucesso retorna 204 No Content. O servidor também remove sessões após o tempo limite de desconexão ICE.
Alterar as portas WebRTC exige reconectar o reprodutor. Salvar as mesmas opções mantém a porta. Para assistir ao arquivo, use um protocolo de entrega do arquivo em vez desta URL WHEP.
Se a conexão falhar¶
| Sintoma | Verificação |
|---|---|
403 |
Permissão de reprodução; WHEP não entrega conteúdo criptografado com DRM. |
404 |
Nome do stream, streamer selecionado e faixas disponíveis. |
415 |
Vídeo H.264/AV1 e Content-Type correto. |
503 |
Disponibilidade da porta UDP; reconecte após resolver a causa. |
| Existe sessão, mas não há imagem | Endereço ICE e porta UDP acessíveis, e codec compatível com o reprodutor. |