node.js - starting - webrtc demo
Cliente WebRTC de Node.js (8)
Estoy buscando una implementación node.js para node.js
para transmitir datos de un cliente nodeJS a otro peer webRTC.
Entonces, en mi caso, la aplicación nodejs no es el servidor sino un cliente.
¿Existe tal módulo de nodo?
Deberías licode un vistazo a licode . Su puente de videoconferencia multipunto de web de código abierto que se ejecuta en la parte superior de node.js. Su servidor actúa como un cliente webrtc, que luego conecta audio / video a otros clientes webrtc. Es posible que pueda reutilizar parte de su código c ++ que usa libnice (para el protocolo ICE) y libsrtp (para la pila SRTP), y luego envolverlo dentro de su propio módulo node.js para crear un cliente webrtc exitoso.
Obviamente, la mayor parte de su código no es necesario, pero creo que su servidor da un buen ejemplo de un SDP en funcionamiento que necesita enviar de vuelta al navegador para establecer una conexión webrtc exitosa.
Es posible establecer una conexión de datos WebRTC desde node.js al navegador con el paquete serverless-webrtc que usa el paquete wrtc como implementación de WebRTC.
Desafortunadamente, cuando intento usar el módulo wrtc con bibliotecas de señalización como PeerJS o EasyRTC, la conexión no se establece (el mensaje de error es "ICE failed"). Si alguien ha tenido éxito con el uso de cualquier biblioteca de alto nivel además de wrtc, le agradecería la información.
Es posible que desee utilizar esta implementación: https://github.com/andyet/SimpleWebRTC
Lo he usado para mis proyectos y fue muy fácil de integrar.
Esta solution proporciona transmisión de video de nativo a web. es decir, no es necesario que el navegador capture video y transmite video al navegador del cliente. Hay un ejemplo de websocket que funciona bien.
Su desafío en realidad es construir y vincular webrtc.node, y todo se explica en el enlace de arriba.
Existe un contenedor WebRTC más para el nodo https://github.com/vmolsa/webrtc-native .
Admite canales de datos y flujos de medios.
Tiene soporte para linux, mac y windows.
La base de código de WebRTC se sincroniza con frecuencia.
Actualización: hay una implementación ligera solo de canal de datos, admite linux / mac / windows http://www.meshcommander.com/webrtc
Llegué con el mismo problema y tropecé con estas dos gemas:
https://github.com/helloIAmPau/node-rtc Lamentablemente falta cualquier documentación.
Sin embargo, https://github.com/js-platform/node-webrtc parece más confiable.
¿Qué tal simple-peer
y rtc-everywhere
?
Actualización : la solución a continuación no proporciona video al servidor. No estoy seguro de cuál es la mejor solución (Nodo) para eso. En C ++, prueba libJingle.
Parece que webrtc.io te permitirá crear una aplicación de nodo que sea un igual. Vea el proyecto github aquí: https://github.com/webRTC/webRTC.io .
No parece haber un desarrollo súper activo en el proyecto en este momento, pero hay 100 ideas, y el módulo de nodo se está descargando 500 veces al mes en este momento, por lo que parece que a las personas les importa.
Código de ejemplo del proyecto - lado del cliente
<video id="local" autoplay="autoplay"></video>
<video id="remote" autoplay="autoplay"></video>
<script src="/webrtc.io.js"></script>
<script>
// note: make sure hostname available to all connecting clients
// (ie. probably not `localhost`)
rtc.connect(''ws://yourserveraddress:8001'');
rtc.createStream({"video": true, "audio":false}, function(stream){
// get local stream for manipulation
rtc.attachStream(stream, ''local'');
});
rtc.on(''add remote stream'', function(stream){
// show the remote video
rtc.attachStream(stream, ''remote'');
});
// more rtc callbacks are available
</script>
Lado del servidor
var webRTC = require(''webrtc.io'').listen(8001);