WebRTC - encore plus facile (EasyRTC)

Je n'ai pas encore réussi à surmonter le serveur de signaux lors de l'écriture d'un chat multi-utilisateurs, j'ai donc commencé à chercher des frameworks prêts à l'emploi. Le plus simple de tous me semblait EasyRTC.

Selon les instructions, tout est installé très simplement, à la fois sur Windows et sur Linux:
1. Téléchargez et installez Node.js.
2. Depuis Github, nous téléchargeons easyRTC, allez dans le dossier téléchargé.
3. On tape dans la console npm install (je rappelle dans le répertoire du dossier easyRTC téléchargé) les packages nécessaires pour Node.js seront installés
4. Là, nous démarrons également le serveur dans la console: node server.js.
Tout !!! Désormais, par défaut, au moment 8080 de votre serveur, des exemples d'utilisation d'easyRTC sont lancés.
Pour écrire votre propre discussion, vous devez connecter socket.io.js et easyrtc.js sur votre page, lorsque vous utilisez nginx, vous pouvez "proxy" comme suit:
Dans le fichier de configuration:
 backend en amontEasyRTC {
		 serveur 127.0.0.1:9080;
     }
 Dans la section serveur:
 location /socket.io {
                        #proxy_pass http: // 127.0.0.1:9080;
			 proxy_pass http: // backendEasyRTC;
			 proxy_http_version 1.1;
			 proxy_set_header Upgrade $ http_upgrade;
			 proxy_set_header Connection "upgrade";
			 proxy_set_header Host $ host;
         }

Socket.io.js et easyrtc.js (qui se trouve dans le dossier api) tombent respectivement dans la statique.

Ensuite, vous devez configurer easyRTC:

Dans le fichier easyrtc.js, remplacez easyRTC.webSocket par:
 easyRTC.webSocket = io.connect ('http: // votre serveur');

et dans le fichier de configuration config.js (situé au même endroit que server.js), changez le port standard pour le vôtre, dans mon cas 9080:
 config.httpPort = 9080;


Sur votre page, connectez les fichiers nécessaires
 <script src = "/ socket.io/socket.io.js"> </script>
 <script type = "text / javascript" src = "/ static / js / easyrtc.js"> </script>


Prescrire des balises vidéo:
Pour les utilisateurs distants
 <video autoplay = "autoplay" id = "remoteVideo1"> </video>
 <video autoplay = "autoplay" id = "remoteVideo2"> </video>

Et pour vous montrer
 <video autoplay = "autoplay" id = "localVideo" muted = "muted" volume = "0"> </video>


Nous démarrons easyRTC au début de la page:
 var maxCALLERS = 3;  // Nombre de personnes dans la salle
 window.onload - fonction () {
   easyRTC.setLoggedInListener (callEverybodyElse);  // Se déclenche lorsqu'un nouveau flux webrtc
   easyRTC.initManaged ("myroom", "localVideo", ["remoteVideo1", "remoteVideo2], loginSuccess);
 // myroom - le nom de la pièce où les utilisateurs seront
 // localVideo - votre vidéo
  // ["remoteVideo1", "remoteVideo2] - où sortir les flux d'utilisateurs distants. 
 // loginSuccess - vous y trouverez votre identifiant de flux
 }

 fonction loginSuccess (easyRTCId) {
     console.log ('Mon identifiant' + easyRTCId);  // Utile pour une identification plus approfondie des utilisateurs
 }

 function callEverybodyElse (otherPeople) {
             easyRTC.setLoggedInListener (null); 
             var list = []; 
             var connectCount = 0;
    
             pour (var i dans otherPeople) { 
                 list.push (i);
             }
     // Par défaut, le nouveau flux est le dernier du tableau
             function EstablConnection (position) {
                 fonction callSuccess () {
                     connectCount ++;
                     if (connectCount <maxCALLERS && position> 0) {
                         établirConnexion (position-1);
                     }
                 }
                 fonction callFailure () {
                     easyRTC.showError ("CALL-REJECTED", "Rejected by other party");
                     if (connectCount <maxCALLERS && position> 0) {
                         établirConnexion (position-1);
                     }            
                 }
                 easyRTC.call (liste [position], callSuccess, callFailure);    
             }
             if (list.length> 0) { 
                 EstablConnection (list.length-1); 
             }
         }


De plus, vous pouvez spécifier le port de connexion:
 easyRTC.setSocketUrl (": 9088");

Vidéo bitrate:
 easyRTC.setVideoBandwidth (40);

Résolution vidéo:
 easyRTC.setVideoDims (320 180);  - résolution vidéo

Il s'agit du minimum requis pour le chat multi-utilisateurs.
De plus, dans les fichiers config.js easyrtc.js, ainsi que sur Github et Google Groups.
Merci si vous lisez jusqu'au bout.

Site Web: http://www.easyrtc.com/
Github: https://github.com/priologic/easyrtc
Groupes Google: https://groups.google.com/d/forum/easyrtc

Source: https://habr.com/ru/post/fr436928/


All Articles