首頁  >  文章  >  後端開發  >  NGINX配置rtmp伺服器實現rtmp以及hls直播

NGINX配置rtmp伺服器實現rtmp以及hls直播

WBOY
WBOY原創
2016-08-08 09:29:441949瀏覽

我的NGINX使用簡介

先上設定:

<code><span>work_processes</span><span>4</span>;
events{
    <span>work_connections</span><span>1024</span>;
}

http{
    <span>include</span> mime.types;
    <span>default_type</span> application/octet-stream;
    <span>sendfile</span><span>on</span>;
    <span>keepalive_timeout</span><span>65</span>;
    server{
        <span>listen</span><span>80</span>;
        <span>server_name</span> localhost;
        <span>location</span> /{
            <span>root</span> html;
            <span>insex</span> index.html index.htm;
            }
        <span>location</span> /hls{
            <span>alias</span> /tmp/app;
            }
        <span>error_page</span><span>500</span><span>502</span><span>503</span><span>504</span> /50x.html;
        <span>location</span> = /50x.html{
            <span>root</span> html;
            }
        }
    }

rtmp{
    server{
        <span>listen</span><span>1935</span>;
        <span>chunk_size</span><span>4000</span>;
        <span>application</span> liaortmp{
            <span>live</span><span>on</span>;
            }
        <span>application</span> hls{
            <span>live</span><span>on</span>;
            <span>hls</span><span>on</span>;
            <span>hls_path</span> /tmp/app;
            <span>hls_frament</span><span>15s</span>;
            }
        }
    }
</code>

配置的解讀


  • workprocesses和work_connections

    啟動程序
work_connections: 單一後台worker process進程的最大並發連結數


http server的設定
  • sendfile: 指定nginx 是否呼叫sendfile 函數(zero copy 方式)來輸出檔案,對於普通方式若用來進行下載等應用磁碟IO重負載應用,可設定為off,以平衡磁碟與網路I/O處理速度,降低系統的 uptime.
    • keepalive_timeout : 連線逾時時間
    • server

    • listen: 配置監聽哪個連接埠
      • server_name:定義使用xxx訪問,即IP對應的網域名稱
      • loaction /: 預設請求
      • error_page以及緊接著的location : 定義錯誤提示頁面
      • location /hls :定義請求hls,我在此處的聲明為,如果請求hls流要在播放位址後面加上m3u8,hls的切片從/tmp/
      • app
      • 得來,app為自己定義的
    rtmp推流的配置

    • rtmp推流的配置


    • rtmp推流的配置
    • listen : 監聽埠
      • application liaortmp : 此處配置rtmp普通推流請求
      • application liaohls : 此處配置rtmp推流請求,透過透過
      • application liaohls : 此處配置rtmp推流請求,透過透過方式播放,切片放在/app這裡剛好與上面http配置的地方對應,app在這裡寫什麼,在http處也寫什麼

      • live on :切換直播模式,即一對多廣播
      hls on : 在application 切換HLS
    hls_path : 切片存放位址
  • hls_fragment : 切片大小,設定HLS 分段長度,預設為5 秒鐘



    • .conf裡面儲存的就是上面的配置。
      舉個列子(關於
    • app


      • rtmp推流和rtmp播放
      • lia
      推流位址: mp ://x.x.x.x:1935/liaortmp/liao

      • rtmp推流和hls直播
      • 推流地址: rtmp://x.x.x.x:1935/liagox/liao 位址: rtmp://x.x.x.x:1935/liaohx/liao 地址:80/hls/liao

      liao是可以替換的任意的。

    參考
    1. Nginx設定檔詳細說明
    2. Nginx RTMP 模組 nginx-rtmp-module 指令詳解

    以上就介紹了NGINX配置rtmp伺服器實現rtmp以及hls直播,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

    陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn