ホームページ >バックエンド開発 >PHPチュートリアル >Thinkphp を使用して Web ライブ ブロードキャストを作成する方法
このプロジェクトはTP+Redis+Nginx+nginx-rtmp-module+ffmpeg+HLS+Swooleのアーキテクチャソリューションを使用しています
あり現在、商用およびオープンソースの 2 つの主要なさまざまな rtmp サーバーがあります。商用のものは、オープンソースのものよりも多くの機能をサポートしており、ニーズに応じて選択できます。良い!
crtmpserver C++ は、複数の rtmp プロトコル、モバイル デバイス、および IPTV 関連のネットワーク プロトコルをサポートしています http://www.rtmpd.com/ Erlyvideo erlong には、オープン ソース バージョンと商用バージョンがあります https//github.com/erlyvideo/erlyvideo h
aXeVideo haXe 実験的な軽量サーバー http://code.google.com/p/haxevideo/
FluorineFx .Net 定義予定 http://www/fluorinefx.com
nginx-rtmp c nginx モジュールは rtmp と HLS をサポートします https://github.com/arut/nginx-rtmp-module
次に、5 番目の Nginx-rtmp を使用します。
1. nginx-rtmp-moduleをダウンロードします: nginx-rtmp-moduleの公式githubアドレス: https://github.com/arut/nginx-rtmp-module
git clone https://github.com/arut/nginx-rtmp-module.git
nginx-rtmp-module を Linux にダウンロードします。
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-devel3. 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 を使用してストリーミングを開始できます。
上記と同様、xxx はサーバーのIPアドレス。 次に、携帯電話を使用してこの Web サイトにアクセスし、ライブ放送を視聴します。遅延は20秒程度です。 (iOSのSafariブラウザでは普通に見れます) 最後に書いてます なぜこんなに遅延が大きいのでしょうか?これは、サーバーがビデオ ストリームを .ts で終わる小さなファイルに分割するためです。
そして、私たちがアクセスしているのは.m3u8ファイルです。このファイルの内容はtsファイルを連結して再生効果を実現しているため、大きな遅延が発生するようです。レイテンシを短縮する方法はなく、スライス生成のサイズとアクセス速度を設定できますが、これによりサーバーへの負荷が大幅に増加します。 もちろん、rtmp ストリーミング ツール (VLC など) を使用してライブ ブロードキャストを視聴することもできます。遅延は約 2 ~ 5 秒で、プル アドレスはプッシュ アドレスと同じです。
バックグラウンドでのワンクリックインストール。初期管理者に直接アクセスするだけですBootstrap3 を使用して lyui を正確にカスタマイズするだけでなく、中国人に適したフロントエンドコンポーネントも組み込まれています。 。また、1 つのコード セットが複数の画面サイズに適応します。以上がThinkphp を使用して Web ライブ ブロードキャストを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。