blog

Nginx Nginxを使ってライブストリーミング用のストリーミングサーバーを構築するには?これを読んだらやってみよう!

注意: CentOS 6.8サーバにroot権限でNginxをインストールする例です。 Nginxのインストール時にopenssl、pcre、zlibのソースコードを展開したディレクトリを指定し、イン...

Jun 1, 2020 · 4 min. read
シェア

前に書く

近年、ライブ放送業界は比較的ホットであり、ライブ放送の伝統的な業界であるかどうか、またはショッピング、ゲーム、教育、ライブ放送に関与しています。インターネット業界のパートナーとして、長年苦労してきましたが、あなたは今までNginxを使用してライブ放送環境のセットを構築する場合、どのようにそれを構築することを考えていますか?心配しないで、次は、一緒にNginxを使用して、ライブ放送環境のセットを構築します。

Nginxのインストール

注:CentOS 6.8サーバーにrootとしてNginxをインストールする例です。

依存環境の設置

yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype* autoconf automake zlib* fiex* libxml* libmcrypt* libtool-ltdl-devel* libaio libaio-devel bzr libtool

opensslのインストール

wget https://..org/source/openssl-....gz
tar -zxvf openssl-1.0.2s.tar.gz
cd /usr/local/src/openssl-1.0.2s
./config --prefix=/usr/local/openssl-1.0.2s
make
make install

pcreのインストール

wget https://..org/pub/pcre/pcre-...gz
tar -zxvf pcre-8.43.tar.gz
cd /usr/local/src/pcre-8.43
./configure --prefix=/usr/local/pcre-8.43
make
make install

zlibのインストール

wget https://.net/projects/libpng/files/zlib/..11/zlib-....gz
tar -zxvf zlib-1.2.11.tar.gz
cd /usr/local/src/zlib-1.2.11
./configure --prefix=/usr/local/zlib-1.2.11
make
make

nginx-rtmp-module のダウンロード

nginx-rtmp-moduleの公式githubアドレス:github.com/nginx-...

コマンドを使ってください:

git clone https://.com/arut/nginx-rtmp-.git 

Nginxのインストール

wget http://.org/download/nginx-....gz
tar -zxvf nginx-1.19.1.tar.gz
cd /usr/local/src/nginx-1.19.1
./configure --prefix=/usr/local/nginx-1.19.1 --with-openssl=/usr/local/src/openssl-1.0.2s --with-pcre=/usr/local/src/pcre-8.43 --with-zlib=/usr/local/src/zlib-1.2.11 --add-module=/usr/local/src/nginx-rtmp-module --with-http_ssl_module
make
make install

Nginxのインストール時にopenssl、pcre、zlibの解凍元ディレクトリを指定しますが、インストール完了後のNginx設定ファイルのフルパスは/usr/local/nginx-1.19.1/conf/nginx.confです。

Nginxの設定

Nginxの設定とは、主にNginxのnginx.confファイルを設定することで、コマンドラインで以下のコマンドを入力することでnginx.confファイルを編集することができます。

vim /usr/local/nginx-1.19.1/conf/nginx.conf

ファイルに以下を追加してください。

rtmp {
 server {
 listen 1935; #リスニング・ポート
 chunk_size 4096; 
 application hls { #rtmpプッシュストリーム・リクエスト・パス 
 live on; 
 hls on; 
 hls_path /usr/share/nginx/html/hls; 
 hls_fragment 5s; 
 } 
 } 
} 

hls_path には読み込みと書き込みのパーミッションが必要です。次に、/usr/share/nginx/html/hls ディレクトリを作成します。

mkdir -p /usr/share/nginx/html/hls
chmod -R 777 /usr/share/nginx/html/hls

次に、httpのserverモジュールを変更します:

server { 
 listen 81; 
 server_name localhost; 
 
 #charset koi8-r; 
 
 #access_log logs/host.access.log main; 
 
 location / { 
 root /usr/share/nginx/html; 
 index index.html index.htm; 
 } 
 
 #error_page 404 /404.html; 
 
 # redirect server error pages to the static page /50x.html 
 # 
 error_page 500 502 503 504 /50x.html; 
 location = /50x.html { 
 root html; 
 }
}

次にNginxを起動します:

/usr/local/nginx-1.19.1/sbin/nginx -c /usr/local/nginx-1.19.1/conf/nginx.conf 

OBSのプッシュストリーム化

OBSは、インターネット上でライブコンテンツをストリーミングするためのフリーでオープンソースのソフトウェアです。このソフトウェアをダウンロードし、このソフトウェアの助けを借りてストリームをプッシュする必要があります。

インストール後、デスクトップ上に以下のようなチャートが表示されます。

シーンを開き、そのシーンにストリームのソースを用意する必要があります。

設定で最も注意しなければならないのは、ストリームの設定です。これは自作のストリーミング・メディア・サーバーなので、以下のように設定します。

rtmp://サーバーIP:港/ライブ #URLストリームのアドレスを記入する

設定が完了したら、ストリームのプッシュを開始できます。

プル・ストリーミング・テスト・アドレス

福祉

Read next

layuiマルチファイルアップロード、データから送信する

// ファイルオブジェクトの保存\n var = [];\n // 添付ファイルのアップロード\n var = ({\n elem: '#'

May 31, 2020 · 2 min read