Je cherche un webrtc implementation pour node.js
pour transmettre des données d’un client nodeJS à un autre homologue webRTC.
Donc, dans mon cas, l'application nodejs est non le serveur mais un client.
Un tel module de noeud existe-t-il?
Je suis venu le même problème et suis tombé sur ces deux joyaux:
https://github.com/helloIAmPau/node-rtc Malheureusement, il manque toute documentation.
Cependant https://github.com/js-platform/node-webrtc Me semble plus fiable.
Que diriez-vous de simple-peer
et rtc-everywhere
?
Vous devriez vérifier licode . Leur pont de téléconférence vidéo multipoint webrtc open source s’exécute au-dessus de node.js. Leur serveur agit en tant que client webrtc, qui relie ensuite l’audio/vidéo à d’autres clients webrtc. Vous pourrez peut-être réutiliser une partie de leur code c ++ qui utilise libnice (pour le protocole ICE) et libsrtp (pour la pile SRTP), puis l'envelopper dans votre propre module node.js pour créer un client webrtc réussi.
Évidemment, la plupart de leur code n’est pas nécessaire, mais je pense que leur serveur donne un bon exemple de SDP opérationnel que vous devez renvoyer au navigateur afin d’établir une connexion webrtc réussie.
Il existe encore un wrapper WebRTC pour node https://github.com/vmolsa/webrtc-native .
Prend en charge le canal de données ainsi que les flux multimédias.
Supporte Linux, Mac et Windows.
WebRTC codebase est fréquemment synchronisé.
Mise à jour: Il existe une implémentation légère de type canal de données prenant en charge linux/mac/windows http://www.meshcommander.com/webrtc
Cette solution fournit le streaming vidéo de natif au Web. c’est-à-dire qu’il n’est pas nécessaire que le navigateur capture la vidéo et il diffuse la vidéo au navigateur du client. Il y a un exemple de websocket qui fonctionne très bien.
Votre défi consiste en fait à construire et à relier webrtc.node, et tout cela est expliqué dans le lien ci-dessus.
Il est possible d’établir une connexion de données WebRTC de node.js au navigateur avec le package serverless-webrtc qui utilise le package wrtc comme implémentation WebRTC.
Malheureusement, lorsque j'essaie d'utiliser le module wrtc avec des bibliothèques de signalisation telles que PeerJS ou EasyRTC, la connexion n'est pas établie (le message d'erreur est "ICE failed"). Si quelqu'un réussissait à utiliser des bibliothèques de haut niveau en plus de wrtc, je lui en serais reconnaissant.
Update: la solution ci-dessous ne fournit pas de vidéo au serveur. Je ne sais pas quelle est la meilleure solution (nœud) pour cela. En C++, essayez libJingle.
Il semble que webrtc.io vous permette de créer une application de nœud qui soit un pair. Voir le projet github ici: https://github.com/webRTC/webRTC.io .
Il ne semble pas y avoir de développement super actif sur le projet pour le moment, mais il y en a 100 forks, et le module de nœud est téléchargé 500 fois par mois, ce qui semble donner l’intérêt des gens.
<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>
var webRTC = require('webrtc.io').listen(8001);
Vous voudrez peut-être utiliser cette implémentation: https://github.com/andyet/SimpleWebRTC
Je l'ai utilisé pour mes projets et c'était très facile à intégrer.