概要
RTMPでストリーミングを試してみます。
環境
- Ubuntu 14.04
- Nginx 1.7.9
RTMP対応のNginxのインストール
まずビルドに必要なパッケージをインストールします。
$ sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev unzip
次にNginxのソースを取得します。
現在の最新は1.7.9
ですが、以下のサイトで一旦チェックしてみてください。
http://nginx.org/en/download.html
中の人が言うには基本的にはmainline
を使うべしとのことです。
バージョンが違っていれば以下のダウンロードURLも修正して進めてください。
ではダウンロードします。
$ wget http://nginx.org/download/nginx-1.7.9.tar.gz
RTMPモジュールをダウンロードします。
$ wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
それぞれ解凍します。
$ tar xvzf nginx-1.7.9.tar.gz $ unzip master.zip
ビルドします。
$ cd nginx-1.7.9/ $ ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master $ make $ sudo make install
Nginxの起動
インストールが完了したら起動できるか確認します。
$ sudo /usr/local/nginx/sbin/nginx
&つけなくてもバックグラウンドになります。
もしくは以下のようにinitスクリプトを使います。
$ sudo wget https://raw.githubusercontent.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx $ sudo chmod +x /etc/init.d/nginx $ sudo update-rc.d nginx defaults
スクリプトを用意すればいつものように起動&停止が可能です。
sudo service nginx start sudo service nginx stop
起動したらNginxの動作を確認してみます。
$ curl localhost "Welcome to nginx!" page.
大丈夫そうですね。
Configの設定
nginx.conf
を編集します。
$ sudo vim /usr/local/nginx/conf/nginx.conf
最後に以下を追加します。
rtmp { server { listen 1935; chunk_size 4096; application live { play /usr/local/nginx/html/video; live on; record off; } } }
今回は
- ResouceURLを
live
- 動画のフォルダを
/usr/local/nginx/html/video
に指定
としています。
再起動します。
$ sudo /usr/local/nginx/sbin/nginx -s stop $ sudo /usr/local/nginx/sbin/nginx
動画ファイルの用意
著作権フリー 動画
とかで検索して用意してください。
用意したら先ほど動画フォルダとして指定した/usr/local/nginx/html/video
にtest.mp4
という名前で置きます。
再生クライアントの用意
VLCプレーヤが手軽に検証として使えます。
ただしRTMPだとシークはできないので注意してください。
動作確認
curlで検証
まずはcurl
で試してみましょう
$ curl -o test.mp4 'rtmp://localhost/live/test.mp4' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 397M 0 397M 0 0 14.5M 0 --:--:-- 0:00:27 --:--:-- 0
問題なければこんな感じになると思います。
クライアントアプリで検証
次にVLCで実際に再生してみます。
ファイル
→ネットワークを開く
を選択します。
以下のようにRTMPサーバのアドレスを入力すると再生できます。
以上です。