サーバーとプラグフローをストリーミングHLSのnginxの+ nginxの-RTMPモジュールをビルドしますOBS

最近のライブプロジェクト、サービスして、成功したビルドに関する関連情報へのアクセスをやって、実装とピットは、ここで整理次のレコードを踏ん。
I.はじめに放送契約:

あなたが理解するためにサービスを設定する前に、まず、現在の主流は、複数のプロトコルをブロードキャスト:

1、RTMP:

     リアルタイムメッセージングプロトコル、リアルタイムメッセージングプロトコルは、アドビシステムズのオーディオ、ビデオ、およびFlash Playerとオープンサーバプロトコルの開発との間のデータ転送です。プロトコルとRTMP、実質的にRTMPT / RTMPS / RTMPE他の変異体を含むTCPプロトコル、プロトコル・スイートに基づいて。RTMPは、リアルタイムのデータ通信用に設計されたネットワークプロトコルで、主にオーディオ、ビデオ、およびデータ通信用のFlash / AIRプラットフォームとサポートRTMPプロトコル/サーバの対話をストリーミングの間で使用されます。しかし、このプロトコルの使用は、あなたがフラッシュをインストールする必要があり、およびH5、IOS、Androidのネイティブではない。このリアルタイムアプローチは、基本的には国が今生き主に使用方法の一つである、1-2S後半に比較的強いことが保証されますフラッシュのサポート、この契約は、すべての後に、現在の主流の携帯端末でどのくらい、知っていない、ポップアップ表示されますので。

2、HLS:

     HLSは、Appleがライブプロトコルが生きるために、ビデオストリームファイルフラグメントを通じてスライスにある立ち上げています。クライアントは、第一流の異なるレートを持つことになります、または直接ファイルリストのTSに、順番に指定されたアドレスにファイルを使用してTSを再生するためにどの、M3U8ファイルを要求します。放送時間では、クライアントは、要求M3U8ファイルに引き続き、新たなTS TSスライスのリストをチェックします。このように実際の貧しいが、利点はH5、IOS、Androidのネイティブサポートを持っています。

3、HTTP-FLV:

      HTTP-FLVがRTMPに比べて、カプセル化されたRTMPプロトコルにあり、それはオープンプロトコルです。彼は、とflv.jsの表示されます(感謝のB駅)ではありませんリアルタイムおよびRTMP RTMPの開発を持っているので、それにより携帯端末と互換性のあるフラッシュ、FLVビデオプレーヤー、に依存せず、ブラウザ、今、多くの放送プラットフォーム、特に携帯電話の放送プラットフォームは、それが選択する
 
2を、ライブの構成をHLS

nginxのサーバー構成:

新しいディレクトリ:保存するためのnginxとnginxの-RTMP-moudleモジュール

MKDIRは/ usr / local / nginxの

ダウンロードアーカイブ:それをダウンロードすることはできませんバックHTTPSサーバのクラウドた後、ダウンロード可能になって前に行くnginxの下に作成ダウンロードディレクトリに、ここ​​で失敗したが知っているシールドされていないしていない、HTTPSではなくHTTPをダウンロードすることができた場合httpの後に交換の理由は、解決します

    CDは/ usr / local / nginxの
    wgetのhttp://nginx.org/download/nginx-1.12.2.tar.gz
    wgetのhttps://codeload.github.com/arut/nginx-rtmp-module/zip/master

あなたがいないのwgetコマンドを実行する場合は、インストールするには、次のコマンドを実行

yumをwgetのインストール-y

解凍:

    タール-zxvf nginxの-1.12.2.tar.gz
    解凍nginx-rtmp-module-master.zip

同様に、インストールするには、次のコマンドを実行しないのunzipコマンドを実行します

yumを解凍インストール-y

あなたはnginxのnginxのインストールとモジュールをインストールする前に、最初のいくつかの依存ライブラリをインストールします。

    yumを-yインストールのgcc-C ++
    はyum -yインストールPCRE PCRE-develの  
    はyum -yインストールしたzlibはzlib-develの
    はyum -yのopensslのopenssl-develのインストール

その後のnginx-RTMPモジュールモジュールをインストールします。

    CD /usr/local/nginx/nginx-1.12.2
    #RTMP完全なモジュールがインストールされている、入力背中=モジュールパッケージの絶対パス
    に./configureが--add-モジュール=は/ usr /ローカル/ nginxの/ nginxの-RTMPモジュール-master
    メイク&メイクインストール

nginxのが正常に起動するかどうかを確認するために、次のコマンドを使用します。

    CDは/ usr / local / nginxの/ sbinに
    ./nginx -t

次の図は、設定が正常に行われた促さ

そして、相関モジュールは、nginxのインストール

 

設定およびサービスサポートHLSを開始

HLS契約のためのnginx-RTMP・モジュールをサポートするので、私たちはnginx.confに直接設定することができます。

我々は/usr/local/nginx/conf/nginx.conf

RTMPは、以下のモジュールを追加:(RTMP {}コンテンツとHTTP {}は、同じレベルであり、間違った場所に入れません)

    RTMP {  
      
        サーバー{  
      
            1935聞く;#リスニングポート
      
            CHUNK_SIZE 4000;  
            
            ファイルのアプリケーションHLS {
                ライブON;
                HLS ON;
                hls_pathは/ usr / local / HTML / HLS;#ビデオストリーム格納アドレス
                hls_fragment 5S;
                hls_playlist_length 15sと、
                hls_continuous ON;#連続モード。
                上hls_cleanup;余分なセクションの#を削除しました。
                #ネストされたモード;にhls_nested。
            }
        }  
    }

図に示すように。

ライブストリームコンテナにHTTPアドレスを追加します。

    位置/ HLSビデオストリームを格納する{#アドインアドレス。
            {タイプ
                アプリケーション/ vnd.apple.mpegurl M3U8、
                ビデオ/ MP2T TS;
            }
            #オープンアクセス、またはこのアドレスへのアクセスは、403に報告される
            オンのautoindexと、
            エイリアスは/ usr / local / HTML / HLS;#ビデオストリーム格納されたアドレス上記このルートエイリアスとの差に相当するhls_path自己Baiduのも
            有効期限-1;
            はadd_headerキャッシュのCache-Control-NO;
            は、クロスドメインの問題に防ぐこと
            はadd_headerを「アクセス制御-許可-起源」「*」;
            はadd_header「アクセス制御資格情報- 「trueに」「認め;
            はadd_header」アクセス制御-許可-メソッド『GET、POST、OPTIONS』;
            add_header変更される場合は、-ので、 'アクセス制御-許可-ヘッダ' 'DNT、X-CustomHeader、キープアライブを、ユーザーエージェント、X-要求-では、、のCache-Control、Content-Typeの';  
        }

図:

保存したファイルを設定した後、サーバーを再起動します。

    CDは/ usr / local / nginxの/ sbinに
    ./nginx -sリロード

ライブプラグフロー構成

プラグフローは、セットポジションをプッシュサーバーにライブビデオストリームの終わりを指します。私は、OBSはストリームをプッシュされ、ここで使用しています:

設定- >ストリーム内の情報で塗りつぶし:URLは、RTMPです:// XXX:1935 / HLS 、xxxはサーバーのIPアドレスがあり、HLSは、アプリケーションに設定されているconfファイルに対応する」、ストリーミングメディアを格納するために使用されます名、ストリーム名サーバー生成M3U8、このファイルの名前は、カスタマイズすることができます。セットアップが完了した後、「プラグフローを開始」をクリックし、プラグフロー側が完了している設定。
第三に、プルフローの設定

ウォッチは、あなたは単にあなたがvedioのを見ることができるH5タグを使用することができ、比較的簡単に住んでいます。

HTTPを訪問することができます:// XXX:xxxはサーバーのIPアドレスです80 / HLS / abcd.m3u8は、ライブ見て、後者は、使用時にキーをabcdの栓流であることはカスタマイズ可能です。または使用

    <映像>  
        <ソースSRC = "のhttp:// XXX:80 / HLS / abcd.m3u8" />  
        。<Pクラス= "警告">お使いのブラウザはHTML5ビデオをサポートしていません。</ P>  
    </ビデオ>

ここでピットが発生した、ときに私が実際に使用内側に、コンテナストリームファイル、アクセスのオンライン情報は、書き込みに私のアドレスに基づいていると述べたが、サーバーをプッシュするために使用されるキーは自動的にストリームディレクトリを生成しました直接図以下、abcd.m3u8発生しません。

私はアクセスアドレスを使用するように、することはあります。http:// XXX:80 / HLS / ABCD / index.m3u8、 その後、ライブストリームの成功を引っ張りました。
----------------
免責事項:この記事は元の記事CSDNブロガー「Ricartu」で、CC 4.0 BY-SAの著作権契約書に従って、元のソースのリンクと、この文を添付してください、再現。 。
オリジナルリンクします。https://blog.csdn.net/Ricardo18/article/details/89359623

公開された117元の記事 ウォンの賞賛4 ビュー80000 +

おすすめ

転載: blog.csdn.net/qq_36266449/article/details/104363764