LoginSignup
11
11

More than 5 years have passed since last update.

FreeBSDでnginx-rtmp-moduleを使ってストリーミングサーバを構築する

Last updated at Posted at 2014-07-30

概要

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を組み合わせることにより実現できます。
詳しいことは需要があればまた書こうと思います。

11
11
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11