それではさっそく drejkim/edi-camを試してみます。
- はじめに
Edisonにログインします。これはシリアルからでもネットワーク経由からでもかまいません。今回はネットワーク経由でSSHでログインします。- パッケージのインストール
- package managerの設定
/etc/opkt/base-feeds.confに以下を追加します。src/gz all http://repo.opkg.net/edison/repo/all src/gz edison http://repo.opkg.net/edison/repo/edison src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
下記はviエディタで上記3行を追加したものです。
- package managerの設定
opkgを更新します。
opkg update
- gitをインストールします。
opkg install git
- edi-camを取得します。
git clone https://github.com/drejkim/edi-cam
- UVCドライバのインストール
EdisonにUVCドライバがインストールされているかチェックするために、次のコマンドを実行します。find /lib/modules/* -name 'uvc'
もしUVCドライバがインストールされていれば以下のようになります。
インストールされていないときは以下のコマンドでインストールします。
opkg install kernel-module-uvcvideo
- EdisonにWebカメラを接続lし、次のコマンドを実行します。
lsmod | grep uvc
- デバイスファイル/dev/video0が出来ているか確認します。
ls -l /dev/video0
- ffmpegのインストール
edi-camをインストールしたディレクトリにあるbinディレクトリに移動し、./install_ffmpeg.shを実行します。cd edi-cam/bin ./install_ffmpeg.sh
- Node.jsのインストール
edi-camディレクトリにあるweb/serverに移動し、npm installを実行します。cd ../web/server npm install
- パッケージのインストール
- 実行
さあ、ライブストリーミングサーバを動かします。- web/client/index.htmlの編集
下記のmyedisonを自分のホスト名に変更します。// CHANGE THIS TO THE APPROPRIATE WS ADDRESS var wsUrl = 'ws://myedison.local:8084/';
- node.js serverを起動します。
node server.js &
- PCのブラウザから接続します。
Chromeブラウザで以下のURLを指定します。http://edison.local:8080
New WebSocket Connection
- web/client/index.htmlの編集
ちなみに、スマホ(SH-01F)のChrome 41.0.2272.96からアクセスしましたが、動画は表示されませんでした。
多分、スマホブラウザでは表示されない動画フォーマットのためだと思います。
以上!
おまけ
ストリーミングサーバを実行中のCPUの負荷率です。
画像サイズが320×240のせいもありますが、負荷率は意外と小さいです。
次は当初の計画通り、スマホから見れるように頑張ってみます。