本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^
先日は、crtmpserver で構築を断念したので、今回はnginxを試してみる
nginx映像配信サーバの構築
nginx自体は、フリーのwebサーバ
https://www.nginx.com/resources/wiki/
apt-get でとれる範囲だとRTMPモジュールが追加されていないのでダメ。apt-get install しちゃいけない。
恐らくソースコンパイルインストールするという事でDebianじゃなくてもちゃんと動くと思う。
1.nginxのソースをダウンロード
ソースはここで最新を探す事
mainlineを選ぶか、stableを選ぶか
mainline版はまぁ説明するまでもないだろうけど、nginxに新しい機能やバグフィックスが一番最初に取り込まれる場所だ。stable版にはバグ修正のみが取り込まれる。また、mainline版にはAPI非互換な変更が入ることがあるが、stable版にはそのような変更は入らない。
wget http://nginx.org/download/nginx-1.8.0.tar.gz
2.RTMPモジュールをダウンロード
git clone https://github.com/arut/nginx-rtmp-module.git
3.解凍
tar xvzf nginx-1.11.7.tar.gz
4.makeするために必要な関連アプリインストール
apt-get install libpcre3-dev zlib1g-dev openssl libssl-dev make gcc
5.configureする
configureする時に、さきほどダウンロード解凍したrtmp-module-masterの場所を明記する。
nginx-1.8.0# ./configure --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --add-module=../nginx-rtmp-module-master --prefix=/usr/local/nginx nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/sbin/nginx" nginx configuration prefix: "/etc/nginx" nginx configuration file: "/etc/nginx/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp"
※セキュアリンクとログ詳細を見たい時は以下のようにconfigureする
sudo ./configure --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --add-module=../nginx-rtmp-module --with-debug --prefix=/usr/local/nginx --with-http_secure_link_module --user=www-data --group=www-data
6.make
nginx-1.8.0#make install make -f objs/Makefile install make[1]: Entering directory '/home/hanako/nginx-1.8.0' test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx' test -d '/usr/sbin' || mkdir -p '/usr/sbin' test ! -f '/usr/sbin/nginx' || mv '/usr/sbin/nginx' '/usr/sbin/nginx.old' cp objs/nginx '/usr/sbin/nginx' test -d '/etc/nginx' || mkdir -p '/etc/nginx' cp conf/koi-win '/etc/nginx' cp conf/koi-utf '/etc/nginx' cp conf/win-utf '/etc/nginx' test -f '/etc/nginx/mime.types' || cp conf/mime.types '/etc/nginx' cp conf/mime.types '/etc/nginx/mime.types.default' test -f '/etc/nginx/fastcgi_params' || cp conf/fastcgi_params '/etc/nginx' cp conf/fastcgi_params '/etc/nginx/fastcgi_params.default' test -f '/etc/nginx/fastcgi.conf' || cp conf/fastcgi.conf '/etc/nginx' cp conf/fastcgi.conf '/etc/nginx/fastcgi.conf.default' test -f '/etc/nginx/uwsgi_params' || cp conf/uwsgi_params '/etc/nginx' cp conf/uwsgi_params '/etc/nginx/uwsgi_params.default' test -f '/etc/nginx/scgi_params' || cp conf/scgi_params '/etc/nginx' cp conf/scgi_params '/etc/nginx/scgi_params.default' test -f '/etc/nginx/nginx.conf' || cp conf/nginx.conf '/etc/nginx/nginx.conf' cp conf/nginx.conf '/etc/nginx/nginx.conf.default' test -d '/usr/local/nginx/logs' || mkdir -p '/usr/local/nginx/logs' test -d '/usr/local/nginx/logs' || mkdir -p '/usr/local/nginx/logs' test -d '/usr/local/nginx/html' || cp -R html '/usr/local/nginx' test -d '/usr/local/nginx/logs' || mkdir -p '/usr/local/nginx/logs' make[1]: Leaving directory '/home/hanako/nginx-1.8.0'
7.ディレクトリの作成
root@debian:/etc/nginx# mkdir /var/www/vhosts/
root@debian:/etc/nginx# mkdir /var/www/vhosts/default/
root@debian:/etc/nginx# mkdir /var/www/vhosts/default/live/
/etc/nginx/nginx.conf #一番最後に以下を追加 rtmp { server { listen 1935; application live { live on; hls on; record off; hls_path /var/www/vhosts/default/live/hls; hls_fragment 1s; hls_type live; } } }
8.nginxの起動
/usr/sbin/nginx
nginxの終了
/usr/sbin/nginx -s stop
9.起動時の確認
80へのLISTENを始めたか
root@debian:/home/hanako# netstat -an |egrep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
1935ポートがListen始めたか
root@debian:/home/hanako# netstat -an |egrep :1935
tcp 0 0 0.0.0.0:1935 0.0.0.0:* LISTEN
10.Open BroadCaster Software起動
エンコードを開始する
エンコーダは別PCを想定
配信
URL rtmp://nginxを設定したサーバのIPアドレス/live
ストリームキー 適当に決める(受信時のURLとして利用する事になる)
11.VLC Playerにて映像受信しうまくいっているか確認
ネットワークストリームを開く
rtmp://nginxを設定したサーバのIPアドレス/live/10.で設定したストリームキー