heroku + nodejs + SkyWay を使ってWebRTCビデオチャットを動かすメモ
WebRTCを触ってみたいなと思って調べていた際に、 SkyWayが非常に手軽そうだったので、heroku上でサンプルを動かしてみました。
1. macでnodejsを動かす準備
- anyenvを使用しているので、anyanvコマンドでndenvをインストール
anyenv install ndenv
exec $SHELL -l
- nodejsインストール
ndenv install --list
ndenv install v0.10.28
ndenv global v0.10.28
node -v
# v0.10.28
2. herokuアプリ作成
herokudashboardからアプリを作成しておきます
アプリを作成し終わったらリポジトリをローカルにcloneしてきます
3. SkyWay登録
- SkyWay公式サイトからAPIキーを申し込みます
ドメインにはherokuアプリのドメインを追加します
APIキー申請後、しばらくすると登録したメールアドレスにキーが送られてきます
登録完了時にローカル専用のAPIキーが発行されるので、ローカル環境で開発する際や、APIキーが来るまではローカル専用キーを使って開発を進めます
4. nodejsで静的ファイル配信
- 初期設定
npm init
npm install express
- package.json
# package.json
"dependencies": {
"express": "*"
},
"engines": {
"node": "0.10.28",
"npm": "1.4.9"
},
- app.js
# app.js
var express = require('express');
var app = express();
app.use(express.static('public', { hidden: true }));
app.listen(process.env.PORT || 3000);
herokuデプロイ時にheroku側でportが設定されるように process.env.PORT
を指定しておきます
- publicディレクトリ作成
mkdir public
SkyWayに公開されている シンプルなビデオチャットのサンプルコードをお借りしてpublic以下に設置
index.html内のAPIキーを取得したものに置き換えます
new Peer({ key: 'APIキー', debug: 3});
5. herokuにデプロイ
- Procfileの作成
# Procfile
web: node app.js
- git push
pushすると自動でデプロイされます
まとめ
heroku + nodejs + SkyWayを用いることで手軽にWebRTCのビデオチャットサンプルを動かすことができました。
ビデオチャットの場合、カメラやマイクを使用するため、ブラウザからユーザに許可してもらう必要があります。
httpの場合は、毎回許可が求められますが、httpsの場合は一度認証すれば次回以降は省略できます。
herokuのデフォルトURLだとsslも特に設定なく利用できるので便利ですね。
今回はサンプルを動かしただけなので次はWebRTCを使って何か作りたいです。