Согласно инструкции всё устанавливается очень просто, как на Windows, так и на Linux:
1. Скачиваем и устанавливаем Node.js.
2. С Github’а скачиваем easyRTC, заходим в скачанную папку.
3. Набираем в консоли npm install (напомню в директории скачанной папки easyRTC) установятся необходимые пакеты для Node.js
4.Там же в консоли стартуем сервер: node server.js.
Всё!!! Теперь по умолчанию на пору 8080 вашего сервера запущены примеры использования easyRTC.
Для написания собственного чата, необходимо подключить socket.io.js и easyrtc.js на вашей странице, при использовании nginx можно «проксировать» следующим образом:
В фале конфигурации:
upstream backendEasyRTC {
server 127.0.0.1:9080;
}
В секции server:
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 и easyrtc.js ( который находится в папке api) закинуть в статику соответственно.
Далее необходимо настроить easyRTC:
В файле easyrtc.js изменить easyRTC.webSocket на:
easyRTC.webSocket = io.connect('http://Ваш сервер');
и в файле конфигурации config.js (находится там же где и server.js) поменять стандартный порт на ваш, в моем случае 9080:
config.httpPort = 9080;
На своей странице подключите необходимые файлы
<script src="/socket.io/socket.io.js"></script> <script type="text/javascript" src="/static/js/easyrtc.js"></script>
Прописываем теги видео:
Для удаленных пользователей
<video autoplay="autoplay" id="remoteVideo1" ></video> <video autoplay="autoplay" id="remoteVideo2" ></video>
И для отображения себя
<video autoplay="autoplay" id="localVideo" muted="muted" volume="0" ></video>
Запускаем easyRTC при старте страницы:
var maxCALLERS = 3; //Количество человек в комнате
window.onload - function(){
easyRTC.setLoggedInListener(callEverybodyElse); // Срабатывает при появлении нового потока webrtc
easyRTC.initManaged("myroom", "localVideo", ["remoteVideo1", "remoteVideo2], loginSuccess);
// myroom - имя комнаты где будут пользователи
// localVideo - ваше видео
// ["remoteVideo1", "remoteVideo2] - куда выводить потоки удалённых пользователей.
// loginSuccess - в ней можно узнать ваш id потока
}
function loginSuccess(easyRTCId){
console.log('My id '+ easyRTCId); //Пригодится для дальнейшей идентификации пользователя
}
function callEverybodyElse(otherPeople) {
easyRTC.setLoggedInListener(null);
var list = [];
var connectCount = 0;
for(var i in otherPeople ) {
list.push(i);
}
//По умолчанию новый поток является последним в массиве
function establishConnection(position) {
function callSuccess() {
connectCount++;
if( connectCount < maxCALLERS && position > 0) {
establishConnection(position-1);
}
}
function callFailure() {
easyRTC.showError("CALL-REJECTED", "Rejected by other party");
if( connectCount < maxCALLERS && position > 0) {
establishConnection(position-1);
}
}
easyRTC.call(list[position], callSuccess, callFailure);
}
if( list.length > 0) {
establishConnection(list.length-1);
}
}
Дополнительно можно указать порт подключения:
easyRTC.setSocketUrl(":9088");
Битрейт видео:
easyRTC.setVideoBandwidth(40);
Разрешение видео:
easyRTC.setVideoDims(320,180); -- разрешение видео
Это минимальное, что необходимо для многопользовательского чата.
Дополнительно в файлах config.js easyrtc.js, а также на Github и Google Groups.
Спасибо если дочитали до конца.
Сайт: http://www.easyrtc.com/
Github: https://github.com/priologic/easyrtc
Google Groups: https://groups.google.com/d/forum/easyrtc

