概要
nginx-rtmp-moduleを使って、ニコニコ生放送のようなライブストリーミングを可能にするストリーミングサーバを立てる方法です。
事前に準備するもの
- FreeBSD 10.0 RELEASEがインストールされたサーバ
- sudo
- wget
- pcre
- git
- vim
ここではコマンドシェルはtcshを使います。
構築方法
構築する前に
nginxのインストールはこちらのコメントの方法を使ったほうが楽にインストールができます。
コメントをしていただいた@owataさんありがとうございました。
1. nginxをダウンロードする
現在ログインしているユーザのホームディレクトリに移動します。
cd ~
現時点での最新版であるnginx-1.7.3をダウンロードします。
wget http://nginx.org/download/nginx-1.7.3.tar.gz
2. nginx-rtmp-moduleをダウンロードする
sudo git clone https://github.com/arut/nginx-rtmp-module.git
3. ダウンロードしたnginxを解凍する
tar zxvf nginx-1.7.3.tar.gz
4. 解凍したnginxのディレクトリに移動する
cd nginx-1.7.3
5. nginxをビルド、インストールする
./configure --add-module=/home/ユーザ名/nginx-rtmp-module
make
sudo make install
6. nginx.confを編集する
sudo vim /usr/local/nginx/conf/nginx.conf
既に入っている文字列を全て削除したあと、以下の文字列を入力する。
worker_processes 1;
error_log logs/error.log crit;
events {
worker_connections 10;
}
rtmp {
server {
listen 1935;
access_log logs/rtmp_access.log;
ping 10s;
ping_timeout 10s;
chunk_size 8192;
drop_idle_publisher 8s;
application src {
live on;
wait_video on;
}
}
}
worker_connectionsとchunk_sizeはお好みで。
7. nginxを起動する
Nginx をソースからインストール|FreeBSD|@OMAKASE
上記のサイトを参考にして、nginxのスタートアップスクリプトを作成します。
上記のサイトではスタートアップスクリプトの作成先は/usr/local/rc.d/nginxになっていますが、今回は/etc/rc.d/nginxに作成をしてください。
作成後、/etc/rc.d/nginxのパーミッションを555に変更します。
sudo chmod 555 /etc/rc.d/nginx
変更が終わったら、nginxが自動起動するように/etc/rc.confに以下の設定を追加します。
nginx_enable="YES"
追加が終わったら、以下のコマンドでnginxを起動してみましょう。
sudo /etc/rc.d/nginx start
8. テスト配信を行う
Open Broadcaster Softwareなどの配信用のソフトウェアを使用し、テスト配信を行ってください。
ストリーミングサーバのURLは
rtmp://[IPアドレス]/src
上記のようになっています。
最後に
会員登録をしている人のみが視聴できる、特定の人のみが配信をすることができる、等の設定は、nginx.confの設定とPHPを組み合わせることにより実現できます。
詳しいことは需要があればまた書こうと思います。