Intel Edisonを動かす(14) ffmpegによるライブストリーミング編 その2

edison_001_R

それではさっそく drejkim/edi-camを試してみます。

  1. はじめに
    Edisonにログインします。これはシリアルからでもネットワーク経由からでもかまいません。今回はネットワーク経由でSSHでログインします。

    1. パッケージのインストール
      1. 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行を追加したものです。

    2. 2015-4-4_9-15-11_19216831222 - Tera Term VTopkgを更新します。
      opkg update

      2015-4-4_9-15-56_19216831222 - Tera Term VT

    3. gitをインストールします。
      opkg install git

      2015-4-4_9-17-32_19216831222 - Tera Term VT

    4. edi-camを取得します。
      git clone https://github.com/drejkim/edi-cam

      2015-4-4_15-22-12_19216831222 - Tera Term VT

    5. UVCドライバのインストール
      EdisonにUVCドライバがインストールされているかチェックするために、次のコマンドを実行します。

      find /lib/modules/* -name 'uvc'

      もしUVCドライバがインストールされていれば以下のようになります。
      2015-4-4_9-18-8_19216831222 - Tera Term VTインストールされていないときは以下のコマンドでインストールします。

      opkg install kernel-module-uvcvideo
    6.  EdisonにWebカメラを接続lし、次のコマンドを実行します。
      lsmod | grep uvc

      2015-4-4_9-19-14_19216831222 - Tera Term VT

    7. デバイスファイル/dev/video0が出来ているか確認します。
      ls -l /dev/video0

      2015-4-4_9-19-32_19216831222 - Tera Term VT

    8. ffmpegのインストール
      edi-camをインストールしたディレクトリにあるbinディレクトリに移動し、./install_ffmpeg.shを実行します。

      cd edi-cam/bin
      ./install_ffmpeg.sh

      2015-4-4_15-23-15_19216831222 - Tera Term VT

    9. Node.jsのインストール
      edi-camディレクトリにあるweb/serverに移動し、npm installを実行します。

      cd ../web/server
      npm install

      2015-4-4_15-27-31_19216831222 - Tera Term VT2015-4-4_15-27-52_19216831222 - Tera Term VT

  2. 実行
    さあ、ライブストリーミングサーバを動かします。

    1. web/client/index.htmlの編集
      下記のmyedisonを自分のホスト名に変更します。

      // CHANGE THIS TO THE APPROPRIATE WS ADDRESS
      var wsUrl = 'ws://myedison.local:8084/';
    2. node.js serverを起動します。
      node server.js &

      2015-4-4_16-32-59_19216831222 - Tera Term VT

    3. PCのブラウザから接続します。
      Chromeブラウザで以下のURLを指定します。

      http://edison.local:8080

      そうするとコンソールには以下が出力されます。
      2015-4-4_16-33-41_19216831222 - Tera Term VT

      New WebSocket Connection

      ブラウザとのコネクションが確立したようです。そのとき、ブラウザ側は2015-4-4_16-31-38_edi-cam - Google Chromeと表示されました。

ちなみに、スマホ(SH-01F)のChrome 41.0.2272.96からアクセスしましたが、動画は表示されませんでした。
多分、スマホブラウザでは表示されない動画フォーマットのためだと思います。

以上!

おまけ
ストリーミングサーバを実行中のCPUの負荷率です。
2015-4-4_16-32-16_19216831222 - Tera Term VT画像サイズが320×240のせいもありますが、負荷率は意外と小さいです。
次は当初の計画通り、スマホから見れるように頑張ってみます。

 

⇐ffmpegによるライブストリーミング編 その1へ戻る

ffmpegによるライブストリーミング編 その3へ⇒

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です