es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo utilizar WebRTC sin conexión a internet?

Estoy desarrollando una aplicación Vuejs que, entre otras cosas, muestra varias transmisiones RTSP en el navegador.
Para convertir las transmisiones y mostrarlas, estoy utilizando RTSPtoWebRTC con WebRtcPlayer.
Decidí utilizar WebRTC debido a la baja latencia (este es un proyecto de robótica).
Este método funciona bien y puedo ver todas las transmisiones con una latencia máxima de 50 ms.
Pero tan pronto como me desconecto de internet, obtengo un error:
Uncaught DOMException: No se pueden crear conexiones RTCPeer cuando la red está caída.

No puedo contar con que este robot tenga una conexión a internet todo el tiempo, ese no es el propósito.

He probado varias soluciones como eliminar cualquier mención de iceServers externos del reproductor y el servidor.
iceServers: [{
urls: “stun:stun.l.google.com:19302”
}]
Intenté ejecutar mi propio servidor STUN/TURN con coturn y proporcionar la dirección IP como servidor ICE, pero sin éxito – todavía obtengo el mismo error de falta de internet.

Estoy ejecutando la aplicación en Firefox si esto es relevante y encontré este mensaje de un tiempo atrás: reporte de error de Firefox sobre este problema.

Intenté la sugerencia de establecer media.peerconnection.ice.loopback en about:config en true pero aún no funciona.

¡Cualquier ayuda es muy apreciada!

Edit:

Así que, después de pasar demasiadas horas intentando resolver esto, descubrí que en Chrome esto funciona bien sin conexión. Así que solo me quedaré con eso.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error “Uncaught DOMException: No se pueden crear conexiones RTCPeer cuando la red está caída” indica que la aplicación requiere una conexión a Internet activa para establecer una conexión de igual a igual, la cual es necesaria para transmitir RTSP utilizando WebRTC. Dado que este es un proyecto de robótica que puede que no siempre tenga acceso a Internet, se necesita una solución para este problema.

    Una posible solución a este problema es configurar un servidor STUN/TURN local con coturn y utilizarlo como servidor ICE. Esto significa que la aplicación establecerá una conexión de igual a igual de forma local, sin la necesidad de una conexión a Internet. Es importante tener en cuenta que en este caso se debe utilizar la dirección IP del servidor STUN/TURN local como el servidor ICE.

    Otra solución a este problema es utilizar un navegador que no requiera una conexión a Internet activa para establecer una conexión de igual a igual utilizando WebRTC. Según la información proporcionada en la pregunta, parece que el problema ocurre solo en Firefox, como se confirma en un informe de error en el sistema de seguimiento de errores de Mozilla. Utilizar otro navegador, como Chrome, que no tenga este problema puede ser una solución viable.

    En conclusión, existen dos posibles soluciones al problema de no poder transmitir RTSP utilizando WebRTC sin una conexión a Internet activa: configurar un servidor STUN/TURN local y utilizarlo como servidor ICE, o utilizar un navegador que no requiera una conexión a Internet activa para establecer una conexión de igual a igual utilizando WebRTC.

Comments are closed.