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

推薦する

MacBook 向け Python 3.7 インストール チュートリアル

MacBookにpython3.7.0をインストールする詳細な手順は、参考までに記録されています。具...

ニューススタイルのウェブサイトデザイン例25選

bmi ボイジャーピッチフォークアルスター食料品店チャウ真/斜めポスタこれは偽のDIYですクリエイテ...

Dockerはdockerfileを使用してnode.jsアプリケーションを起動します

Dockerfileの作成expressによって自動的に作成されたディレクトリを例にとると、ディレク...

フロントエンドページのスライド検証を実装するための JavaScript + HTML

この記事では、フロントエンドページのスライド検証を実装するためのJavaScript + HTMLの...

IE をフリーズさせる HTML コード

任意のテキスト エディターを開き、次のコードをコピーして、たとえば SomeFilename.htm...

Flexレイアウトとスケーリング計算についての簡単な説明

1. Flexレイアウトの紹介Flex は Flexible Box の略で、「柔軟なレイアウト」を...

ノードイベントループにおけるイベント実行の順序

目次イベントループブラウザ環境イベントループノード環境イベントループ6つのステージ(1)setTim...

Ubuntuにmysql5.7.10を手動でインストールする

このチュートリアルでは、UbuntuにMySQL 5.7.10を手動でインストールする手順を参考まで...

aタグに下線を付け、クリック前後で色を変える方法

コードをコピーコードは次のとおりです。リンクフォントサイズ: 12px;色: #000000;テキス...

太陽系の惑星のアニメーション効果を実現するHTML+CSS3コード

太陽系の 8 つの惑星(衛星を除く)のアニメーションを作成します。すべての惑星は太陽の周りを回ってい...

HTML tbody の使用

構造化テーブル (IExplore のみ) 1) 行ごとにグループ化<thead> .....

MySQLデータベースバックアップのさまざまな実装方法の概要

この記事では、MySQL データベースのバックアップを実装するさまざまな方法について説明します。ご参...

ウェブページの読み込み速度を上げる6つのヒント

第二に、キーワードのランキングは、Webページの表示速度にも関係しています(参照:キーワードランキン...

MySQL に配列を保存するサンプルコードと方法

多くの場合、ストアド プロシージャを作成するときに配列がよく使用されますが、MySQL ではストアド...

見落としがちなVue.jsのAPIを詳しく解説

目次次のチェックv-model 構文シュガー.sync 修飾子$セット計算プロパティセット要約する次...