WebRTC: aún más fácil (EasyRTC)

Todavía no he logrado superar el servidor de señal al escribir un chat multiusuario, por lo que comencé a buscar marcos listos para usar. El más fácil de todos me pareció EasyRTC.

De acuerdo con las instrucciones, todo se instala de manera muy simple, tanto en Windows como en Linux:
1. Descargue e instale Node.js.
2. Desde Github, descargamos easyRTC, vaya a la carpeta descargada.
3. Escribimos en la consola npm install (recuerdo en el directorio de la carpeta easyRTC descargada) los paquetes necesarios para Node.js se instalarán
4. Allí también iniciamos el servidor en la consola: nodo server.js.
Todos !!! Ahora, por defecto, en el momento 8080 de su servidor, se lanzan ejemplos de uso de easyRTC.
Para escribir su propio chat, necesita conectar socket.io.js y easyrtc.js en su página, cuando use nginx puede "proxy" de la siguiente manera:
En el archivo de configuración:
 upendEasyRTC {
		 servidor 127.0.0.1:9080;
     }
 En la sección del servidor:
 ubicación /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 Conexión "actualizar";
			 proxy_set_header Host $ host;
         }

Socket.io.js y easyrtc.js (que se encuentra en la carpeta api) se colocan en estadísticas, respectivamente.

A continuación, debe configurar easyRTC:

En el archivo easyrtc.js, cambie easyRTC.webSocket a:
 easyRTC.webSocket = io.connect ('http: // su servidor');

y en el archivo de configuración config.js (ubicado en el mismo lugar que server.js) cambie el puerto estándar al suyo, en mi caso 9080:
 config.httpPort = 9080;


En su página, conecte los archivos necesarios
 <script src = "/ socket.io/socket.io.js"> </script>
 <script type = "text / javascript" src = "/ static / js / easyrtc.js"> </script>


Prescribir etiquetas de video:
Para usuarios remotos
 <video autoplay = "autoplay" id = "remoteVideo1"> </video>
 <video autoplay = "autoplay" id = "remoteVideo2"> </video>

Y para exhibirte
 <video autoplay = "autoplay" id = "localVideo" muted = "muted" volume = "0"> </video>


Comenzamos easyRTC al comienzo de la página:
 var maxCALLERS = 3;  // Número de personas en la sala
 window.onload - function () {
   easyRTC.setLoggedInListener (callEverybodyElse);  // Se dispara cuando una nueva transmisión webrtc
   easyRTC.initManaged ("myroom", "localVideo", ["remoteVideo1", "remoteVideo2], loginSuccess);
 // myroom: el nombre de la sala donde estarán los usuarios
 // localVideo - tu video
  // ["remoteVideo1", "remoteVideo2]: dónde generar flujos de usuarios remotos. 
 // loginSuccess - en él puedes encontrar tu id de transmisión
 }

 función loginSuccess (easyRTCId) {
     console.log ('Mi id' + easyRTCId);  // Útil para una mayor identificación del usuario
 }

 función callEverybodyElse (otherPeople) {
             easyRTC.setLoggedInListener (nulo); 
             lista var = []; 
             var connectCount = 0;
    
             para (var i en otras personas) { 
                 list.push (i);
             }
     // Por defecto, la nueva secuencia es la última en la matriz
             función establecer conexión (posición) {
                 función callSuccess () {
                     connectCount ++;
                     if (connectCount <maxCALLERS && position> 0) {
                         establecer conexión (posición-1);
                     }
                 }
                 función callFailure () {
                     easyRTC.showError ("LLAMADA RECHAZADA", "Rechazada por otra parte");
                     if (connectCount <maxCALLERS && position> 0) {
                         establecer conexión (posición-1);
                     }            
                 }
                 easyRTC.call (lista [posición], callSuccess, callFailure);    
             }
             if (list.length> 0) { 
                 establecer conexión (list.length-1); 
             }
         }


Además, puede especificar el puerto de conexión:
 easyRTC.setSocketUrl (": 9088");

Video de tasa de bits:
 easyRTC.setVideoBandwidth (40);

Resolución de video:
 easyRTC.setVideoDims (320,180);  - resolución de video

Este es el mínimo requerido para el chat multiusuario.
Además, en los archivos config.js easyrtc.js, así como en Github y Google Groups.
Gracias si lees hasta el final.

Sitio web: http://www.easyrtc.com/
Github: https://github.com/priologic/easyrtc
Grupos de Google: https://groups.google.com/d/forum/easyrtc

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


All Articles