Nœud.client de JS WebRTC

je cherche un implementation for

pour transmettre des données d'un client nodeJS à un autre Pair webRTC.

donc dans mon cas l'application nodejs est pas le serveur mais un client.

Un nœud module existe pas?

39
demandé sur jantimon 2013-09-18 16:48:56

8 réponses

je suis venu avec le même problème et suis tombé sur ces deux gemmes:

https://github.com/helloIAmPau/node-rtc Malheureusement, il manque de documentation.

cependant https://github.com/js-platform/node-webrtc semble plus fiable pour moi.

9
répondu Raoul 2014-02-27 21:18:29
3
répondu Vlad Ankudinov 2016-03-11 10:58:39

vous devez cocher licode . Leur passerelle de vidéoconférence multi-points open source webrtc qui fonctionne sur le sommet du noeud.js. Leur serveur agit comme un client webrtc, ce qui permet ensuite de passer de l'audio/vidéo à d'autres clients webrtc. Vous pourriez être en mesure de 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 noeud.module js pour créer un client webrtc réussi.

évidemment la plupart de leur code dont vous n'avez pas besoin, mais je pense que leur serveur donne un bon exemple d'un SDP fonctionnel que vous devez renvoyer au navigateur pour établir une connexion webrtc réussie.

2
répondu Aki 2013-09-27 14:28:53

il y a un autre wrapper WebRTC pour noeud https://github.com/vmolsa/webrtc-native .

prend en charge le canal de données ainsi que les flux de médias.

supporte linux, mac et windows.

WebRTC codebase est synchronisé fréquemment.

mise à jour: Il n'y a qu'une implémentation légère de datachannel, compatible linux / mac / windows http://www.meshcommander.com/webrtc

1
répondu boggy b 2018-04-16 11:49:18

Update : la solution ci-dessous ne fournit pas réellement de vidéo au serveur. Je ne suis pas sûr de ce que la meilleure solution (noeud) pour cela est. En C++, essayez libJingle.

on dirait webrtc.io vous permettra de créer une application de noeud qui est 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 à la moment, mais il y a 100 fourchettes de celui-ci, et le module de noeud est téléchargé 500 fois par mois en ce moment, donc il semble que les gens se soucient.

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>

Côté Serveur

var webRTC = require('webrtc.io').listen(8001);
0
répondu sandover 2013-12-12 19:23:02

il est possible d'établir une connexion de données WebRTC à partir d'un noeud.js de navigateur avec le sans serveur-webrtc package qui utilise le wrtc package comme WebRTC mise en œuvre.

malheureusement, lorsque j'essaie d'utiliser le module wrtc avec des bibliothèques de signalisation comme PeerJS ou EasyRTC, la connexion n'est pas établie (le message d'erreur est "ICE failed"). Si quelqu'un a eu du succès avec l'utilisation de bibliothèques de haut niveau en plus de wrtc, je vous serais reconnaissant de l'information.

0
répondu Adynathos 2014-12-23 21:35:44

Ce solution fournit de la vidéo en streaming de natif web. c'est-à-dire qu'il n'est pas nécessaire que le navigateur capture la vidéo, et qu'il diffuse la vidéo au navigateur du client. Il y a un exemple de websocket qui fonctionne très bien.

votre défi est en fait de construire et de relier webrtc.nœud, et il est expliqué dans le lien ci-dessus.

0
répondu M.Hefny 2017-08-17 08:51:47

vous pourriez vouloir utiliser cette implémentation: https://github.com/andyet/SimpleWebRTC

Je l'ai utilisé pour mes projets et il était très facile à intégrer.

0
répondu Omkar Dusane 2017-12-12 07:02:37