WebRTC y HLS para ver una cámara IP

En qué se diferencian los métodos de entrega de vídeo al navegador y por qué no hay que elegir manualmente

WebRTC y HLS resuelven la misma tarea — mostrar el flujo de vídeo al espectador —, pero organizan la entrega de forma distinta. WebRTC está orientado a una latencia baja, mientras que el HLS convencional se basa en la descarga de segmentos y un búfer de reproducción.

RTSP.ME admite ambos métodos y selecciona automáticamente el método de reproducción. El usuario no necesita elegir manualmente entre WebRTC y HLS.

Veamos cómo influye cada método en la latencia, la estabilidad de la reproducción y la compatibilidad con los dispositivos de los espectadores.

Conectar una cámara IP

El RTSP de la cámara y la reproducción en el navegador no son lo mismo

Una cámara IP puede enviar su flujo al servicio por RTSP. La entrega del vídeo desde el servicio hasta el navegador es un tramo aparte, en el que se utiliza WebRTC o HLS.

Cámara IP → flujo RTSP → RTSP.ME → WebRTC o HLS → reproductor en el navegador

La cámara no necesita soporte propio de WebRTC. Lo importante es que su flujo cumpla los requisitos de conexión del servicio. La elección del método de entrega al navegador no convierte, por sí sola, cualquier códec de la cámara en compatible con cualquier dispositivo del espectador.

WebRTC y HLS: comparación

La tabla describe las propiedades generales de las tecnologías, no los parámetros garantizados de una transmisión concreta. Por HLS se entiende aquí la entrega segmentada convencional, salvo que se indique lo contrario.

ParámetroWebRTCHLS
EntregaTransmisión de datos multimedia para reproducción en tiempo realDescarga de una lista de reproducción y segmentos de vídeo por HTTP(S)
LatenciaNormalmente menor que en el HLS convencional; depende de toda la cadenaNormalmente mayor por la formación de segmentos y la acumulación del búfer
Tareas típicasVigilancia con reacción rápida y escenarios interactivosVisualización de transmisiones donde se admite un retraso respecto al evento
BúferUn búfer pequeño reduce la latencia, pero deja menos margen ante fluctuaciones de la redEl búfer puede suavizar fluctuaciones breves de velocidad a costa de la latencia
RedNAT, cortafuegos y restricciones de UDP pueden dificultar la conexiónLa entrega por HTTP(S) encaja bien con la infraestructura web, pero también depende de las restricciones y la calidad de la red
Gran audienciaRequiere infraestructura para atender las conexiones y distribuir la cargaLos segmentos son compatibles con la caché HTTP y las CDN cuando están configuradas
Navegadores y códecsSe necesita compatibilidad del navegador, el dispositivo y los códecs de vídeo y audio transmitidosDepende de los códecs y del reproductor; no todos los navegadores reproducen M3U8 de forma nativa
Protección del transporteEl transporte multimedia está cifradoLa transmisión está protegida si la lista y los segmentos se sirven por HTTPS

WebRTC: ventajas y limitaciones

Cuando importa una latencia baja

WebRTC está orientado a la transmisión de datos multimedia en tiempo real. Es útil cuando hace falta ver antes un cambio en la imagen o comentar lo que ocurre con los espectadores en un chat: un menor retraso del vídeo ayuda a relacionar los mensajes con los eventos en pantalla.

Qué puede dificultar la visualización

El establecimiento de la conexión puede complicarse por NAT, cortafuegos y bloqueo de UDP. El funcionamiento en esas redes depende de la configuración del servidor multimedia y de los métodos de conexión disponibles. Si la reproducción no arranca en una red corporativa, conviene revisar sus restricciones con el administrador.

La pérdida de paquetes, un canal inestable o la sobrecarga del servidor o del dispositivo del espectador pueden degradar la calidad y provocar interrupciones. Una latencia baja no es una latencia nula: la captura, la codificación, la transmisión, el procesamiento y la visualización del fotograma requieren tiempo.

HLS: ventajas y limitaciones

Entrega a través de la infraestructura web habitual

HLS utiliza una lista de reproducción, normalmente con la extensión M3U8, y una secuencia de segmentos multimedia. El reproductor los descarga por HTTP o HTTPS y forma una reserva de datos para la reproducción.

El escalado real depende de los recursos del servidor, el ancho de banda y la configuración de la entrega: elegir HLS por sí solo no basta para atender a una gran audiencia.

Latencia y compatibilidad

La formación de segmentos y su acumulación en el búfer suelen aumentar la latencia en comparación con WebRTC. Si la velocidad de descarga se mantiene por debajo de la tasa de bits del flujo durante mucho tiempo, el búfer se agota y la reproducción puede detenerse. HLS no convierte una red débil en una red fiable.

No todos los navegadores pueden abrir M3U8 directamente: puede hacer falta un reproductor JavaScript que aproveche las capacidades del navegador. El soporte de HLS por sí solo no garantiza la reproducción de cualquier códec de vídeo o audio.

No confunda el HLS convencional con Low-Latency HLS (LL-HLS), una variante para reducir la latencia que requiere soporte tanto del servidor como del reproductor. La presencia de HLS no implica por sí misma el soporte de LL-HLS.

Cómo se realiza la selección en RTSP.ME

El servicio admite WebRTC y HLS y selecciona automáticamente el método de reproducción. El usuario conecta la cámara y abre la transmisión en el reproductor; no es necesario elegir manualmente el protocolo de visualización.

La selección automática evita tener que comparar los protocolos antes de cada visualización. Sin embargo, no elimina los requisitos del flujo de origen, el navegador y la red.

Incluso con la selección automática, una conexión inestable, las restricciones de la red o códecs incompatibles pueden dificultar la visualización. Cambiar el método de entrega no corrige los problemas del flujo de origen de la cámara.

Códecs, audio y seguridad

Compruebe el vídeo y el audio por separado

La reproducción depende del navegador, el sistema operativo, el dispositivo, el códec de vídeo de la cámara y su perfil, así como de la capacidad de procesar el flujo en el servidor y en el reproductor. El nombre del protocolo no garantiza la compatibilidad.

Para el audio es importante el códec de audio. La imagen puede mostrarse incluso con un audio incompatible. Además, los navegadores pueden bloquear la reproducción automática con sonido hasta que el usuario actúe: la ausencia de sonido no siempre significa que la cámara falle.

El cifrado no sustituye al control de acceso

WebRTC utiliza un transporte multimedia cifrado. HLS protege los datos en tránsito si la lista de reproducción y los segmentos se entregan por HTTPS; HLS en sí no implica HTTPS obligatorio.

La protección del tramo entre el servicio y el navegador no determina la seguridad de la conexión de la cámara al servicio. El cifrado del transporte tampoco sustituye la comprobación de los derechos del espectador, las restricciones de acceso ni la protección de las credenciales de la cámara. Antes de publicar, asegúrese de que la transmisión solo esté disponible para la audiencia deseada.

Recomendaciones prácticas

  1. Defina la finalidad de la visualización. Para una reacción rápida importa la latencia real; para una transmisión panorámica, también la estabilidad prolongada. En RTSP.ME no hay que traducir estos requisitos en una elección manual del protocolo.
  2. Compruebe el flujo de origen. Asegúrese de que la cámara transmite vídeo de forma estable y de que los parámetros de vídeo y audio cumplen los requisitos del servicio. Una tasa de bits demasiado alta puede saturar el canal desde la cámara.
  3. Compruebe los dispositivos de los espectadores. Abra la transmisión en los navegadores necesarios en ordenador y teléfono. Compruebe por separado el inicio, el sonido y la visualización prolongada.
  4. Compare las redes permitidas. Si la visualización no funciona en una red corporativa, compare el resultado con otra red disponible y consulte las restricciones con el administrador. No desactive la protección de la red por una transmisión.
  5. Evalúe toda la cadena. La latencia y las paradas dependen de la cámara, el enlace hasta el servicio, el servidor, la red del espectador y el reproductor. Ni WebRTC ni HLS corregirán un flujo de origen inexistente.
  6. Al contactar con soporte, describa las condiciones. Indique el navegador, el dispositivo, la hora del problema y los síntomas. No comparta públicamente enlaces RTSP con contraseñas ni otros secretos.

No conviene dividir WebRTC y HLS en un protocolo «bueno» y otro «malo». Tienen compromisos distintos entre latencia, búfer y organización de la entrega, y el resultado final debe comprobarse en una transmisión concreta.

Vea su cámara IP a través de RTSP.ME

Conecte la cámara al servicio. WebRTC o HLS se selecciona automáticamente para la reproducción — no se necesita ninguna configuración manual del protocolo.

Conectar la cámara

Preguntas frecuentes

¿Hay que elegir entre WebRTC y HLS en RTSP.ME?
No. RTSP.ME admite WebRTC y HLS y selecciona automáticamente el método de reproducción. El usuario no necesita elegir el protocolo manualmente. Esto no garantiza la conexión en cualquier red ni un cambio imperceptible en caso de fallo.
¿WebRTC siempre tiene menos latencia que HLS?
WebRTC está diseñado para una latencia baja y normalmente muestra los eventos más cerca del tiempo real que el HLS convencional, que acumula segmentos en un búfer. Sin embargo, la latencia final depende de la cámara, la red, el servidor y el reproductor: no se garantiza una latencia nula ni fija.
¿La cámara IP debe admitir WebRTC?
No. El RTSP en la entrada del servicio y WebRTC o HLS para la reproducción en el navegador son tramos distintos de la entrega de vídeo. La cámara no necesita soporte propio de WebRTC, pero su flujo y sus códecs deben cumplir los requisitos del servicio.
¿Funcionarán el vídeo y el audio en cualquier navegador?
No existe una garantía universal. La compatibilidad depende del navegador, el dispositivo, el códec de vídeo y su perfil, el códec de audio y las capacidades del reproductor. Para HLS puede hacer falta un reproductor JavaScript: no todos los navegadores reproducen M3U8 directamente. Tener imagen no garantiza que el audio sea compatible.
¿Por qué puede interrumpirse la transmisión con cualquier método de reproducción?
La causa puede estar en la cámara, el enlace hasta el servicio, el servidor, la red del espectador o el reproductor. WebRTC puede tener dificultades por NAT, cortafuegos y restricciones de UDP. El búfer de HLS ayuda a superar fluctuaciones breves de velocidad, pero no resuelve una falta prolongada de ancho de banda.