1. 程式人生 > >利用nginx的nginx-rtmp-module搭建流媒體直播伺服器

利用nginx的nginx-rtmp-module搭建流媒體直播伺服器

Nginx除了做web伺服器之外在流媒體方面的支援也是有對應的模組,nginx-rtmp-module就是nginx的一個擴充套件模組,支援rtmp視訊推流,同時利用nginx作為web伺服器的有時可以很方便的實現直播拉流,專案官方地址是https://github.com/arut/nginx-rtmp-module。下面簡述一下安裝過程。首先需要下載或者克隆程式碼

#下載
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
#或者克隆
git clone https://github.com/arut/nginx-rtmp-module.git

然後安裝,如果以前沒安裝過nginx那就比較簡答了,直接解壓(克隆的不需要解壓)然後配置的時候加上--add-module=/解壓後模組路徑/nginx-rtmp-module,假設下載壓縮包到/root目錄做下,然後順序執行如下指令即可,如果以前已經安裝了nginx請參照如何在已經安裝好的Nginx上增加新模組

unzip master.zip
#最精簡的config引數
./configure --add-module=/root/nginx-rtmp-module
make
make install

安裝完成將如下配置拷貝到nginx配置檔案http配置項的外面 下面配置指定/home/wwwroot/video/hls目錄為推流目錄,該目錄一定要有可寫許可權

rtmp {

    server {

        listen 1935;  #監聽的埠

        chunk_size 4000;
        application hls {  #rtmp推流請求路徑
            live on;
            hls on;
            hls_path /home/wwwroot/video/hls;
            hls_fragment 5s;
        }
    }
}

 然後配置一個虛擬主機,假設root目錄為/home/wwwroot/video/

server {
    listen       80;    #拉流請求的埠號
    server_name  你的伺服器域名或者ip;

    location / {
        root   /home/wwwroot/video/;   #跟目錄資料夾
        index  index.html index.htm;
    }
}

配置完後重新載入nginx配置/nginx安裝目錄/sbin/nginx -s reload

接下來就是推流和拉流操作,推流地址為rtmp://伺服器域名:1935/hls,假設流名稱填寫為edu,則拉流地址為http://伺服器域名/hls/edu.m3u8或者使用rtmp協議拉流rtmp://你的域名/hls/edu