web-dev-qa-db-fra.com

Node.js client WebRTC

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?

40
jantimon

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.

9
Raoul
3
Vlad Ankudinov

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.

2
Aki

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

1
boggy b

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.

0
M.Hefny

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.

0
Adynathos

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. 

Exemple de code du projet - côté client

<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>

Du côté serveur

var webRTC = require('webrtc.io').listen(8001);
0
sandover

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.

0
Omkar Dusane