Skip to content

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

  1. Abra um reprodutor compatível com WHEP e informe a URL. Ele deve suportar SDP inicial completo com candidatos ICE sem exigir Trickle ICE.
  2. 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 em Location.
  3. 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.

Referência

Contrato WHEP e limitações.