Nginxを使用してストリーミングメディアサーバーを構築し、ライブブロードキャスト機能を実現する

Nginxを使用してストリーミングメディアサーバーを構築し、ライブブロードキャスト機能を実現する

前面に書かれた

近年、ライブストリーミング業界は非常に人気が高まっています。伝統的な業界でのライブストリーミングでも、ショッピング、ゲーム、教育でも、ライブストリーミングが関わっています。長年インターネット業界で働いてきた友人として、Nginx を使ってライブ配信環境を構築する方法について考えたことはありますか?心配しないでください。次に、Nginx を使用してライブ ブロードキャスト環境を構築します。

Nginxをインストールする

注: ここでは、CentOS 6.8 サーバーを例に、Nginx を root ユーザーとしてインストールします。

1. 依存環境をインストールする

yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* 
libpng* フリータイプ* 
autoconf automake zlib* 
修正* libxml* 
libmcrypt* 
libtool-ltdl-devel* 
libaio libaio-devel 
bzr libtool

2. opensslをインストールする

https://www.openssl.org/source/openssl-1.0.2s.tar.gz をダウンロードしてください
tar -zxvf openssl-1.0.2s.tar.gz
/usr/local/src/openssl-1.0.2s をコピーします
./config --prefix=/usr/local/openssl-1.0.2s
作る
インストールする

3. PCREをインストールする

https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz をダウンロードしてください
tar -zxvf pcre-8.43.tar.gz
/usr/local/src/pcre-8.43 をコピーします
./configure --prefix=/usr/local/pcre-8.43
作る
インストールする

4. zlibをインストールする

https://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz をダウンロードしてください
tar -zxvf zlib-1.2.11.tar.gz
/usr/local/src/zlib-1.2.11 をコピーします
./configure --prefix=/usr/local/zlib-1.2.11
作る
作る

5. nginx-rtmp-moduleをダウンロードする

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

コマンドを使用します:

git クローン https://github.com/arut/nginx-rtmp-module.git

6. Nginxをインストールする

http://nginx.org/download/nginx-1.19.1.tar.gz をダウンロードしてください
tar -zxvf nginx-1.19.1.tar.gz
/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
作る
インストールする

ここで注意すべき点は、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 {
 サーバー{
  listen 1935; #リスニングポート chunk_size 4096; 
  アプリケーション hls { #rtmp ストリーミング要求パス live on; 
   hlsオン; 
   hls_path /usr/share/nginx/html/hls; 
   hls_fragment 5秒; 
  } 
 } 
}

hls_path には読み取りおよび書き込み権限が必要です。次に、/usr/share/nginx/html/hls ディレクトリを作成します。

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

次に、http のサーバー モジュールを変更します。

サーバー{ 
 聞く 81; 
 server_name ローカルホスト; 
 
 #文字セット koi8-r; 
 
 #access_log ログ/host.access.log メイン; 
 
 位置 / { 
  ルート /usr/share/nginx/html; 
  インデックス index.html index.htm; 
 } 
 
 #エラーページ 404 /404.html; 
 
 # サーバーのエラーページを静的ページ /50x.html にリダイレクトします 
 # 
 エラーページ 500 502 503 504 /50x.html; 
 場所 = /50x.html { 
  ルートhtml; 
 }
}

次に、Nginx を起動します。

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

OBSを有効にしてストリーミングする

OBS (Open Broadcaster Software) は、インターネット経由でライブ コンテンツをストリーミングするための無料のオープン ソース ソフトウェアです。このソフトウェアをダウンロードして、ストリームをプッシュするために使用する必要があります (カメラのないコンピューターにはインストールできないようです...)

OBS のダウンロード リンクは https://obsproject.com/zh-cn/download です。

インストール後、デスクトップに下図のようなグラフが表示されます。

開いたら、シーンが必要です。このシーンにはストリームのソース(ウィンドウにすることもできます。ビデオを選択すると、カメラが自動的に識別されます)があり、次のステップはそれを設定することです。

設定で最も注意すべき点はストリーム設定です。自作のストリーミングメディアサーバーなので以下のように設定します。

rtmp://your server ip:port(1935)/live #URL ストリームアドレスを入力してください

設定が完了したら、ストリーミングを開始できます。

プルフローテストアドレス

さまざまなプロトコルのストリーミングをテストできる、推奨されるストリーミング テスト アドレスがここにあります。画像内のいくつかの場所に注目してください。RTMP プロトコルを使用するため、この列を選択し、ストリーミング アドレスと上記の OBS 設定で構成されたストリームの名前を入力して開始すれば完了です。 ! !

Nginx を使用してストリーミング メディア サーバーを構築し、ライブ ブロードキャスト機能を実現する方法については、これで終わりです。nginx を使用してストリーミング メディア サーバーを構築し、ライブ ブロードキャスト コンテンツを実現する方法については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Ubuntu 18.04 で Nginx+RTMP+HLS+HTTPFLV サーバーを構成してオンデマンド/ライブ ブロードキャスト/録画機能を実現する方法の詳細説明
  • Ubuntu 14 に Nginx-RTMP ストリーミング サーバーをインストールするチュートリアル
  • Nginx-rtmp はライブメディアのリアルタイムストリーミング効果を実現します
  • Nginxはnginx-rtmp-moduleモジュールを使用してライブブロードキャストルーム機能を実現します。
  • Mac で nginx+rtmp ライブ サーバーを構築するための詳細な手順
  • nginxでイメージサーバーを構築する手順の詳しい説明(ルートとエイリアスの違い)
  • Nginx サーバーで URL リンクを設定する方法
  • Linux サーバー上のローカル静的リソースにアクセスするために nginx を使用する方法
  • Nginx は rtmp ライブ サーバーの実装コードを構築します

<<:  Navicat がデータベース データ構造をインポートする際に発生するエラー datetime(0) の SQL レポートの問題を解決します。

>>:  Vuexはセッションストレージデータを結合して、ページを更新するときにデータが失われる問題を解決します

推薦する

Reactは適応性の高い仮想リストを実装する

目次変換前:変換後: 0x0の基本0x1 「固定高さ」の仮想リストを実装する原理:最適化: 0x2 ...

MySQL 内部結合の使用例 (必読)

文法規則 列名を選択 テーブル名1から INNER JOIN テーブル名2 ON テーブル名1.列名...

HTML の META タグの使用に関するヒントの例

HTML メタタグHTML メタタグは、Web ページのコンテンツに関する情報をブラウザや検索エンジ...

MYSQLストアドプロシージャコメントの詳細な説明

目次1. 使用方法2. 準備3. 文法3.1 変数と代入3.2 入力および出力パラメータ3.3 プロ...

Redmine の Docker インストール手順

イメージをダウンロードします(オプションの手順です。省略した場合は、手順 3 と 4 で自動的にイン...

...

MySQL データ アーカイブ ツール mysql_archiver の詳細な説明

目次I. 概要2. pt-archiverの主なパラメータ3. mysql_archiverのインス...

vue+px2rem(rem適応)を使用してPCで大画面適応を実装するためのサンプルコード

構成の序文プロジェクト構築: vue-cli3 をベースに構築、rem 適応には postcss-p...

MySQL ストレージ エンジンの基礎

前回の記事では、MySQL トランザクションについて説明しました。これで、MySQL トランザクショ...

Mysqlはブール型の演算を設定します

Mysqlはブール型を設定します1. Tinyintタイプテストテーブルを作成し、blフィールドをブ...

Vue はネストされたルーティングメソッドの例を実装します

1. ネストされたルーティングはサブルーティングとも呼ばれます。実際のアプリケーションでは、通常、ネ...

WindowsにOpenSSLをインストールし、OpenSSLを使用して公開鍵と秘密鍵を生成します。

1. OpenSSL公式サイト公式ダウンロードアドレス: https://www.openssl....

WindowsでのMySQLインストールチュートリアルの詳細な紹介

目次1. ダウンロードする前に理解しておくべき概念2. 必要なバージョンを選択する3. MySQLサ...

CSS3はブラウザのスクロールバーのスタイルを変更します

注意: この方法は、Webkit ベースのブラウザにのみ適用されます。ブラウザのスクロールバーが広す...

Linux インストール MongoDB の起動と一般的な問題の解決

MongoDB のインストール プロセスと問題記録1. MongoDBのインストールMongoDBを...