nginxのを使用してシンプルなライブシステム

nginxのインストール1.

#compilerセットアップ
 であれば [[$ 1 = ' ' ]]; その後、
コンパイラ = 'CCの=は、ARM-Linuxベースgnueabihf- GCC CXX = ++ -のLinux gnueabihf-Gアーム`
 のelif [[$ 1 = ' himix100 ' ]]。その後、
コンパイラ = 'CCの=は、ARM-himix100-linux- GCC CXX = ++-himix100-Linuxの-Gアーム`
 のelif [[$ 1 = ' himix200 ' ]]。その後、
コンパイラ = 'CC =アームhimix200-linux- GCC CXX =アームhimix200-Linuxの-G ++`
 
Fiの

#Preinstalledディレクトリ
にインストール =は/ usr / local / nginxの

#DELETEがインストールされたディレクトリ
のrm -rf $ { インストール} 

#libraryパス
pkg_config = $ { インストール } / libに/ pkgconfig 
lib_config =` CPPFLAGS = -I $ { インストール } /含まCFLAGS = -I $ { インストール } /含んはLDFLAGS = -L $ { インストール } / lib` 


#DELETEコンパイルディレクトリ
の場合 はfalseその後
のために ` lsが.`
     行う
    場合[I $を-d]。その後、
    RM - 高周波$ I
     Fiが
行わ
Fi回線

は、mkdir $ { インストール}
 のCPのnginx-HTTP-FLV-モジュール- 1.27タール .gzを$ { インストール}
 タールを $ {あるxv インストール } / nginxの-HTTP-FLV-モジュール- 1.27タール .gzが-C $ { インストール}
 タールあるxv nginx- 1.175タール.gzの
CDのnginxの - 1.175 /設定--prefix = $ { インストール } --addモジュール= $ { インストール } / nginxの-HTTP-FLV-モジュール- 1.27 
メイク && 作る インストール
CDを..

 

2.編集nginx.conf

nginxの-HTTP-FLV-モジュール-1.2.7 /テスト/ nginx.conf

1 worker_processes; 

error_logのログ/ error.logにデバッグ。

イベント{ 
    worker_connections 1024。
} 

RTMP { 
    サーバー{ 
        1935聞きます。

        アプリケーションmyapp { 
            上のライブ。

            キーフレームを#record。
            #record_pathを/ tmp; 
            #record_max_size 128K; 
            #record_interval 30代; 
            #record_suffix .this.is.flv; 

            #on_publishにhttp:// localhost:8080 /公開。
            #on_playにhttp:// localhost:8080 /プレイ。
            #on_record_doneにhttp:// localhost:8080 / record_done。
        } 
    } 
} 

HTTP { 
    サーバー{
        8002を聞きます。

        位置/ライブ{ 
            にflv_live。
        } 

        場所/ STAT { 
            すべてrtmp_stat。
            rtmp_stat_stylesheetのstat.xsl。
        } 

        場所/stat.xsl { 
            ルート/usr/local/nginx/nginx-http-flv-module-1.2.7/。
        } 

        場所/コントロール{ 
            すべてrtmp_control。
        } 

        #location / {公開
        #リターン201と、
        #} 

        #location /再生{ 
        #リターン202; 
        #} 

        #location / record_done { 
        #リターン203; 
        #}

        位置/ RTMP、パブリッシャ{ 
            ルート/usr/local/nginx/nginx-http-flv-module-1.2.7/test。
        } 

        場所/ { 
            ルート/usr/local/nginx/nginx-http-flv-module-1.2.7/test/www。
        } 
    } 
}

参考例:

例は、

ブロックがあるのhttpで指定されたディレクティブを聞くことを前提としています

HTTP { 
    ... 
    サーバー{ 
        8080を聞きます。#notのデフォルトポート80 
        ... 

        所在地/ライブ{ 
            上flv_live。
        } 
    } 
} 

そして、RTMPブロックに指定されたディレクティブを聞くには、次のとおりです。

RTMP { 
    ... 
    サーバー{ 
        1985を聞きます。#notのデフォルトポート1935 
        ... 

        アプリケーションmyapp { 
            上のライブ。
        } 
    } 
}

 

3.スタートアップnginxの

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

grepのnginxの| #psは-ef
#kill -TERM 2132または殺す-INT 2132
#pkill -9 nginxの
。#/ nginxの-t
。#/ nginxの-sリロード

 

4.プッシュRTMPストリーム

ffmpegの-re -i source.200kbps.768x320.flv -cコピー-f FLV RTMP://127.0.0.1:1935 / myappに/ mystream

 

5.プレーヤーの
RTMP:// localhostを:1935 / myappに/ mystream

http:// localhostを:?8002 /ライブポート= 1935&アプリ= myappの&ストリーム= mystream

 

6.その他の最適化された構成

10 worker_processes; 
イベント{ 
    worker_connections 10240。
} 
でrtmp_auto_push。
rtmp_auto_push_reconnect 1S; 
rtmp_socket_dirを/ tmp; 
RTMP { 
    4096 out_queue。
    out_cork 8; 
    MAX_STREAMS 128; 
    タイムアウト15秒; 
    drop_idle_publisher 15S; 
    log_interval 5S; 
    1メートルLOG_SIZE; 
    サーバー{ 
     9000を聞きます。
     SERVER_NAME 127.0.0.1; 
     アプリケーションmyapp { 
         上のライブ。
         上gop_cache; 
      } 
     アプリケーションHLS { 
      にライブ。
      HLS上; 
      hls_pathは/ usr / local / nginxの/ HTML / HLS;
    } 
     アプリケーションダッシュ{
       生き続ける; 
       ;上のダッシュ 
       dash_pathは/ usr / local / nginxの/ HTML /ダッシュ。
     } 
    
    } 
} 
HTTP { 
    のmime.typesを含みます。
    default_type application / octet-streamと; 
    sendfile; 
    keepalive_timeout 65; 
    サーバー{ 
        8002を聞きます。
    サーバー名はlocalhost。
        位置/ { 
            ルートHTML。
            index.htmをindex.htmlをインデックス。
        } 
    場所/ライブ{ 
        にflv_live。
        上chunked_transfer_encoding; 
        add_header「アクセス制御-許可-起源」「*」;
        add_header 'とAccess-Control-Allow-Credentials' ''はtrue。
    }
    位置/ HLS { 
        タイプ{ 
        アプリケーション/ vnd.apple.mpegurl M3U8。
        ビデオ/ MP2TのTS; 
         } 
         ルートは/ usr / local / nginxの/ HTML / HLS。
         add_header 'のCache-Control' 'キャッシュなし'; 
    } 
     場所/ダッシュ{ 
            ルートは/ usr / local / nginxの/ HTML /ダッシュ。
            add_header 'のCache-Control' 'キャッシュなし'; 
        } 
    
     場所/ STAT { 
            プッシュ・プル状態の#configuration 
              全てrtmp_stat。
              rtmp_stat_stylesheetのstat.xsl。
         } 
     場所/制御{ 
    場所/stat.xsl {
      ルート/usr/local/nginx/nginx-http-flv-module-1.2.7; 
    } 

            すべてrtmp_control。RTMPの制御モジュールの#configuration 
        }     
        
        error_page 500 502 503 504 /50x.html。
        位置= /50x.html { 
            ルートHTML。
        } 
    } 

}

RTMP

RTMP://example.com [:ポート] / myappに/ mystream

HLS
http://example.com [:ポート] /dir/streamname.m3u8

ダッシュ
http://example.com [:ポート] /dir/streamname.mpd

 

7.リファレンスデザイン:

https://github.com/winshining/nginx-http-flv-module

https://blog.csdn.net/caowenjing123/article/details/94623466

おすすめ

転載: www.cnblogs.com/dong1/p/11897350.html