Ubuntu 14.04でNginx-RTMPをセットアップする

RTMPはライブコンテンツの配信に最適です。RTMPをFFmpegとペアにすると、ストリームをさまざまな品質に変換できます。Vultrは高速で専用のCPUパフォーマンスを提供するため、これらのアプリケーションに最適です。Vultrのグローバルネットワークは、高品質のライブコンテンツを最小限の遅延で配信できることも保証します。始めましょう!

NginxおよびNginx-RTMPのインストール

ソースからNginxおよびNginx-RTMPをコンパイルするために必要なツールをインストールします。

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

作業ディレクトリを作成し、それに切り替えます。

mkdir ~/working
cd ~/working

NginxおよびNginx-RTMPソースをダウンロードします。

wget http://nginx.org/download/nginx-1.7.5.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

Unzipパッケージをインストールします。

sudo apt-get install unzip

NginxおよびNginx-RTMPソースを抽出します。

tar -zxvf nginx-1.7.5.tar.gz
unzip master.zip

Nginxディレクトリに切り替えます。

cd nginx-1.7.5

Nginxがコンパイルされるモジュールを追加します。Nginx-RTMPが含まれています。

./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master

Nginx-RTMPを使用してNginxをコンパイルおよびインストールします。

make
sudo make install

Nginx initスクリプトをインストールします。

sudo wget https://raw.github.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

Nginxを起動および停止して、構成ファイルを生成します。

sudo service nginx start
sudo service nginx stop

FFmpegのインストール

FFmpeg PPAを追加します。

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next

パッケージリストを更新します。

sudo apt-get update

FFmpegをインストールします。

sudo apt-get install ffmpeg

注:apt-add-repositoryコマンドがインストールされていない場合があります。インストールするには、を実行しsudo apt-get install software-properties-commonます。

Nginx-RTMPおよびFFmpegの構成

Nginx構成ファイルを開きます。

sudo nano /usr/local/nginx/conf/nginx.conf

以下を追加します。

rtmp {
    server {
            listen 1935;
            chunk_size 4096;

            application live {
                    live on;
                    record off;
                    exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
            }
            application live360p {
                    live on;
                    record off;
        }
    }
}

上記を追加した後、ビデオのビットレート、オーディオのビットレート、解像度などの設定をカスタマイズできます。これらの変更は、低品質のストリームにのみ適用されます。さらに品質を追加するには、exec ffmpeg行をコピーして貼り付け、設定を変更します。また、新しいアプリケーションを作成する必要があります。これを行うには、含まれているlive360サンプルをコピーして貼り付けます。新しいアプリケーションのアドレスでexec ffmpeg行を更新することを忘れないでください。これを行うには、exec ffmpeg行の最終的なRTMPアドレスを変更します。

注:後-b:vに値を変更すると、ビデオのビットレートが変更されます。これはキロビット/秒で測定されます。後に値-b:aを変更すると、オーディオのビットレートが変更されます。これはキロビット/秒で測定されます。後に値-sを変更すると、解像度が変更されます。

ControlキーとXキーを同時に押してファイルを保存します。Nginxを再起動します。

sudo service nginx restart

注:最高のパフォーマンスを得るには、変換される各ストリームに独自のCPUコアが必要です。たとえば、720Pストリームから360Pと480Pの2つの品質が作成されています。2つ以上のCPUコアを持つVultrインスタンスを使用する必要があります。

セキュリティノート

ファイアウォールを使用している場合は、TCP 1935が許可されていることを確認する必要があります。

現在の構成では、誰でもサーバーにストリーミングできます。これを修正するには、特定のIPアドレスに公開権限のみを許可します。Nginx構成を開きます。

sudo nano /usr/local/nginx/conf/nginx.conf

次の行を探します。

                live on;
                record off;

上記の行の各セットに以下を追加します。0.0.0.0をIPアドレスに変更します。

                allow publish 127.0.0.1;
                allow publish 0.0.0.0;
                deny publish all;

構成は次のようになります。

rtmp {
    server {
            listen 1935;
            chunk_size 4096;

            application live {
                    live on;
                    record off;
                    allow publish 127.0.0.1;
                    allow publish 0.0.0.0;
                    deny publish all;
                    exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;
            }
            application live360p {
                    live on;
                    record off;
                    allow publish 127.0.0.1;
                    allow publish 0.0.0.0;
                    deny publish all;
        }
    }
}

ControlキーとXキーを同時に押してファイルを保存します。Nginxを再起動します。

sudo service nginx restart

Nginx-RTMPで動作するようにソフトウェアを構成する

ストリーミングアプリケーションには通常、接続情報用の2つのフィールドがあります。通常、最初のフィールドはサーバー情報用で、2番目のフィールドはストリーム名またはキー用です。各フィールドに入力する必要のある情報がリストされています。ストリーム名またはキーは任意に設定できます。

Field 1: rtmp://your.vultr.ip/live/
Field 2: stream-key-you-set

ストリームを表示するには、RTMPをサポートするプレーヤーで次のリンクを開きます。

rtmp://your.vultr.ip/live/stream-key-you-set
rtmp://your.vultr.ip/live360p/stream-key-you-set

Webサイトにライブビデオを表示するようにプレーヤーを設定することは、このガイドの範囲を超えています。「RTMP Webプレーヤー」という用語を検索すると役立つ場合があります。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。