92
98

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

オープンソースのWebRTCサーバー「PeerServer」インストール手順

Posted at

はじめに

ちょうど今日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})のkeyと一致していればなんでもいいです。

PeerServer起動

$ start peerjs

ファイアウォールの設定

80番と9000番ポートを開ける

$ ufw allow 80
$ ufw allow 9000

アクセス

http://<IPアドレス>/peerjs/にアクセス

peerjs_video_chat.png

ビデオチャットできた!

おわりに

というわけでPeerServerを立てられたので、PeerJSを使って楽しいWebRTCアプリを作りましょう〜。
PeerJSではPeerServerのクラウド版PeerServer Cloudも提供しているので、それを使うという手もあります。

ちなみにグループビデオチャットとか作ろうとするとPeerJSは面倒だったりします。
EasyRTCwebRTC.ioはルームという概念があるけど、PeerServerにはないのでそこは他で管理しないといけなかったりします。
よかったらWebRTCのオープンソースソフトウェアまとめ - Qiita [キータ]もご覧ください。

とまたビデオチャットのこと書いてますが、やっぱり エンジニアはテキストコミュニケーションですよね!
co-meetingの新しいスライド資料も公開したので見てみてください。
プロジェクトを円滑に回す 「すごい掲示板」 - co-meeting

92
98
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
92
98

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?