오픈 소스 WebRTC 서버 "PeerServer"설치 절차

4496 단어 OpenSourceWebRTC

소개



오늘 NTT Com이 PeerJS 호환 SkyWay이라는 WebRTC 플랫폼을 발표했습니다. WebRTC는 고조될지도 모른다.

요 전날 쓴 WebRTC 오픈 소스 소프트웨어 요약 - Qiita [키타]에서 PeerJS가 좋지 않아? 라고 쓰면, NTT Com씨도 PeerJS군요!

그래서 오늘은 PeerJS 용 오픈 소스 Signaling 서버 PeerServer 설치 절차를 작성해 보겠습니다.

README대로 하면 들어갑니다만, 조금 추가해, 화상 채팅의 데모를 움직여, 자동 기동 설정하는 곳까지 써 봅니다.

설치 절차



전제



Ubuntu 12.04에서 시도한 단계입니다.

PeerServer



apt의 패키지 목록을 새로 고칩니다.
$ sudo apt-get update

새 node.js를 넣을 리포지토리 추가
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update

git과 nodejs 설치
$ sudo apt-get install git-core
$ sudo apt-get install nodejs

PeerServer 다운로드
$ cd /opt
$ git clone https://github.com/peers/peerjs-server.git

PeerServer 종속 라이브러리 설치
$ cd peerjs-server
$ npm install

nginx



데모를 실행하기위한 nginx 설치
$ sudo apt-get install nginx

PeerJS 데모 설치



PeerJS 다운로드
$ cd /opt
$ git clone https://github.com/peers/peerjs.git

videochat 데모를 nginx 아래에 배치
$ cd /usr/share/nginx/www/
$ mkdir peerjs
$ cp /opt/peerjs/examples/videochat/* peerjs/

peer.js를 nginx 아래에 배치
$ cp /opt/peerjs/dist/peer.js peerjs/

아래 diff처럼 index.html 수정
$ vim peerjs/index.html
# diff index.html /opt/peerjs/examples/videochat/index.html 
6c6
<   <script type="text/javascript" src="peer.js"></script>
---
>   <script type="text/javascript" src="/dist/peer.js"></script>
13c13
<     var peer = new Peer({host:'<IPアドレス>', port:9000, key: 'peerjs', debug: 3});
---
>     var peer = new Peer({ key: 'lwjd5qra8257b9', debug: 3});

PeerServer 시작



PeerServer 자동 시작 설정
$ vim /etc/init/peerjs.conf
description "PeerJS Server"
author "co-meeting Inc."

# Saves log to /var/log/upstart/peerjs.log
console log

# Starts only after drives are mounted.
start on started mountall

stop on shutdown

# Automatically Respawn. But fail permanently if it respawns 10 times in 5 seconds:
respawn
respawn limit 10 5

script
    exec node /opt/peerjs-server/bin/peerjs -p 9000 -k peerjs
end script

부팅 명령 옵션의 -k peerjs는 클라이언트의 new Peer({host:'<IPアドレス>', port:9000, key: 'peerjs', debug: 3}) 키와 일치하면 괜찮습니다.

PeerServer 시작
$ start peerjs

방화벽 설정



80번과 9000번 포트 열기
$ ufw allow 80
$ ufw allow 9000

액세스


http://<IPアドレス>/peerjs/ 방문



화상 채팅 가능!

결론



그래서 PeerServer를 세울 수 있었기 때문에 PeerJS를 사용하여 재미있는 WebRTC 앱을 만들자 ~.
PeerJS는 PeerServer의 클라우드 버전 PeerServer Cloud도 제공하므로 그것을 사용하는 손도 있습니다.

덧붙여서 그룹 영상 채팅이나 만들려고 하면 PeerJS는 번거롭거나 합니다.
EasyRTC 이나 WEBRTC. 이오 는 룸이라고 하는 개념이 있지만 PeerServer에는 없기 때문에 거기는 다른 것으로 관리하지 않으면 안 되기도 합니다.
원한다면 WebRTC 오픈 소스 소프트웨어 요약 - Qiita [키타]도 참조하십시오.

그리고 또 화상 채팅을 쓰고 있습니다만, 역시 엔지니어는 텍스트 커뮤니케이션이군요!
co-meeting의 새로운 슬라이드 자료도 공개했으므로 봐 주세요.
프로젝트를 원활하게 돌리는 "대단한 게시판" - co-meeting

좋은 웹페이지 즐겨찾기