Reproducción WebRTC por WHEP¶
WHEP entrega un stream de Agora a un reproductor WebRTC con latencia mínima. Se utiliza studio, que ya recibe señal, por ejemplo de un emisor WHIP.
Prepare el stream¶
Compruebe que el stream esté activo y tenga vídeo H.264 o AV1. El audio requiere Opus; si el origen envía AAC u otro códec, configure previamente la conversión a Opus. WebRTC no convierte códecs. Compruebe también la compatibilidad de vídeo del reproductor.
Permita la reproducción¶
En Auth & DRM, configure el acceso de reproducción. Para un stream privado, obtenga un token o permiso de reproducción válido. El token de publicación del codificador no sustituye este permiso.
Construya la URL WHEP¶
En Layout de la ficha del stream, localice el streamer que lo entrega. Use su dirección HTTP(S) y el nombre del stream:
https://streamer.example.com/streaming/whep/studio?token=PLAY_TOKEN
Esta URL WHEP apunta directamente al streamer, no a la consola central. Sustituya el dominio y el token. En lugar del parámetro token, el reproductor puede enviar Authorization: Bearer PLAY_TOKEN.
Conecte el reproductor¶
- Abra un reproductor compatible con WHEP e introduzca la URL. Debe admitir SDP inicial completo con candidatos ICE sin exigir Trickle ICE.
- Inicie la reproducción. El reproductor envía una oferta SDP por POST y recibe
201 Created, la respuesta SDP y la URL de sesión enLocation. - Compruebe imagen y sonido. En Sesiones aparecerá una sesión WHEP con contabilización de bytes.
Pegar la URL en la barra del navegador no inicia vídeo: GET devuelve 204 No Content. La integración en el navegador requiere un reproductor WebRTC; <video src="…"> por sí solo no negocia WHEP. Utilice HTTPS y permita UDP al puerto multimedia del streamer.
Si la página del navegador y el endpoint WHIP/WHEP usan distintos orígenes, añada en el proxy HTTPS la cabecera de respuesta Access-Control-Expose-Headers: Location para que el cliente pueda leer la URL de sesión. No es necesario si la página y la API comparten origen.
Finalice la reproducción¶
Detenga la reproducción en el reproductor. Para un cliente propio, guarde Location de la respuesta POST y envíe DELETE a esa URL; el éxito devuelve 204 No Content. El servidor también elimina sesiones tras el tiempo de espera de desconexión ICE.
Cambiar los puertos WebRTC requiere reconectar el reproductor. Guardar los mismos ajustes conserva el puerto. Para ver el archivo, utilice un protocolo de entrega del archivo en lugar de esta URL WHEP.
Si falla la conexión¶
| Síntoma | Comprobación |
|---|---|
403 |
Permiso de reproducción; WHEP no entrega contenido cifrado con DRM. |
404 |
Nombre del stream, streamer elegido y pistas disponibles. |
415 |
Vídeo H.264/AV1 y Content-Type correcto. |
503 |
Disponibilidad del puerto UDP; reconecte tras resolver la causa. |
| Hay sesión, pero no imagen | Dirección ICE y puerto UDP accesibles, y códec compatible con el reproductor. |