ホームページ >バックエンド開発 >PHPチュートリアル >Thinkphp を使用して Web ライブ ブロードキャストを作成する方法

Thinkphp を使用して Web ライブ ブロードキャストを作成する方法

一个新手
一个新手オリジナル
2017-09-14 09:25:088536ブラウズ

このプロジェクトはTP+Redis+Nginx+nginx-rtmp-module+ffmpeg+HLS+Swooleのアーキテクチャソリューションを使用しています

利点の紹介

バックエンドnginx-rtmpのインストール説明

あり現在、商用およびオープンソースの 2 つの主要なさまざまな rtmp サーバーがあります。商用のものは、オープンソースのものよりも多くの機能をサポートしており、ニーズに応じて選択できます。良い!

crtmpserver C++ は、複数の rtmp プロトコル、モバイル デバイス、および IPTV 関連のネットワーク プロトコルをサポートしています http://www.rtmpd.com/ Erlyvideo erlong には、オープン ソース バージョンと商用バージョンがあります https//github.com/erlyvideo/erlyvideo h

  1. aXeVideo haXe 実験的な軽量サーバー http://code.google.com/p/haxevideo/

  2. FluorineFx .Net 定義予定 http://www/fluorinefx.com

  3. nginx-rtmp c nginx モジュールは rtmp と HLS をサポートします https://github.com/arut/nginx-rtmp-module

  4. 次に、5 番目の Nginx-rtmp を使用します。

  5. Nginx-rtmpをインストールします
  6. 1. nginx-rtmp-moduleをダウンロードします: nginx-rtmp-moduleの公式githubアドレス: https://github.com/arut/nginx-rtmp-module

  7. コマンドを使用します:
 git clone https://github.com/arut/nginx-rtmp-module.git

nginx-rtmp-module を Linux にダウンロードします。

2. nginx のインストール: nginx の公式 Web サイトは次のとおりです: http://nginx.org/en/download.html

wget http://nginx.org/download/nginx-1.8.1.tar.gz
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure --prefix=/usr/local/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module
make && make install

今回のデフォルトのインストール ディレクトリは: /root、add-module はダウンロードした nginx-rtmp です。 -モジュールファイルのパス。 インストール中に、openssl がインストールされていないというエラーが報告される場合があります。次のコマンドを実行する必要があります:

yum -y install openssl openssl-devel

3. nginx 構成ファイルを変更します:

vi /usr/local/nginx/conf/nginx.conf

次の内容を追加します:

rtmp {
server {    
    listen 1935;  #监听的端口  
    chunk_size 4000;    
      
       
    application hls {  #rtmp推流请求路径  
        live on;    
        hls on;    
        hls_path /usr/share/nginx/html/hls;    
        hls_fragment 5s;    
    }    
}    
}

hls_path には読み取り可能および書き込み可能なアクセス許可が必要です。 。 http:


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;  
}

でサーバー モジュールを変更します。 もちろん、root は必要に応じて変更できます。 次に、nginx:

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

を開始します。 4. ストリーミングを開始します。 上記の設定が完了したら、obs を使用してストリーミングを開始できます。


「設定」->「ストリーミング」に情報を入力します。URL は rtmp://xxx:1935/hls、xxx はサーバーの IP アドレス、hls はストリーミング メディアの保存に使用されます。 テストの入力など、再生時にどのストリーミング メディアを再生するかを識別するための秘密キーを入力できます。 入力後、クリックしてストリーミングを開始します。これは、ストリーミング メディア サーバーが正常にセットアップされたことを意味します。

5. ライブブロードキャストを視聴する(ストリーミング) ライブブロードキャストを視聴するには、h5 vedio タグを使用するだけです。 http://xxx:81/hls/mystream.m3u8 にアクセスしてライブ ブロードキャストを視聴できます。xxx はサーバーの IP アドレスです。または、

お使いのブラウザは HTML5 ビデオをサポートしていません。

上記と同様、xxx はサーバーのIPアドレス。 次に、携帯電話を使用してこの Web サイトにアクセスし、ライブ放送を視聴します。遅延は20秒程度です。 (iOSのSafariブラウザでは普通に見れます) 最後に書いてます なぜこんなに遅延が大きいのでしょうか?これは、サーバーがビデオ ストリームを .ts で終わる小さなファイルに分割するためです。

そして、私たちがアクセスしているのは.m3u8ファイルです。このファイルの内容はtsファイルを連結して再生効果を実現しているため、大きな遅延が発生するようです

。レイテンシを短縮する方法はなく、スライス生成のサイズとアクセス速度を設定できますが、これによりサーバーへの負荷が大幅に増加します。 もちろん、rtmp ストリーミング ツール (VLC など) を使用してライブ ブロードキャストを視聴することもできます。遅延は約 2 ~ 5 秒で、プル アドレスはプッシュ アドレスと同じです。

バックグラウンドでのワンクリックインストール。初期管理者に直接アクセスするだけです

Bootstrap3 を使用して lyui を正確にカスタマイズするだけでなく、中国人に適したフロントエンドコンポーネントも組み込まれています。 。また、1 つのコード セットが複数の画面サイズに適応します。

以上がThinkphp を使用して Web ライブ ブロードキャストを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。