Posted at

Vagrant+nginxでストリーミングサーバーを作る方法

More than 3 years have passed since last update.

ほとんど参考資料のままですが、ストリーミングサーバーをVagrantで作ったので共有します!


環境


サーバー構築

ストリーミングを中継するサーバーを構築します。


CentOS7のイメージをダウンロード

vagrant box add centos_7_x64_live_stream https://github.com/holms/vagrant-centos7-box/releases/download/7.1.1503.001/CentOS-7.1.1503-x86_64-netboot.box

mkdir vagrant_centos7_live_stream
cd vagrant_centos7_live_stream
vagrant init centos_7_x64_live_stream


ipアドレスを指定


Vagrantfile

# vi Vagrantfile

...
config.vm.network "private_network", ip: "192.168.33.44"
...


モジュール導入

起動後ログインして、各種設定を行います。

vagrant up

vagrant ssh


nginxをインストール

sudo su

yum update
yum groupinstall "Development Tools"
yum -y install pcre-devel zlib-devel openssl-devel

cd /usr/local/src/
wget http://nginx.org/download/nginx-1.8.0.tar.gz
sudo wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar -zxvf nginx-1.8.0.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
unzip master.zip

# build
cd nginx-1.8.0
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
make
make install


設定ファイルの一番下に以下の設定を追加


/usr/local/nginx/conf/nginx.conf

rtmp {

server {
listen 1935;
chunk_size 4096;

application live {
live on;
record off;
wait_video on;
}
}
}



iptablesをインストール

yum install iptables-services


firewallをオフ

systemctl stop firewalld


iptablesを無効化

systemctl enable iptables

systemctl stop iptables


nginxの起動確認

nginxを起動したら、Macブラウザからhttp://192.168.33.44にアクセスしてnginxが起動していることを確認します。

#起動

sudo /usr/local/nginx/sbin/nginx

#停止
sudo /usr/local/nginx/sbin/nginx -s quit


映像の配信と受信

詳しい手順は参考資料に譲りますが、サーバーの構築が完了したら、

OBSでrtmp://192.168.33.44/liveに動画と音声を配信開始します。(映像キャプチャデバイス+音声)

続いて、VLC media playerからhttp://192.168.33.44/live/testにアクセスすると、映像と音声が受信できるようになりました。


参考資料