利用nginx的nginx-rtmp-module搭建流媒體直播伺服器
阿新 • • 發佈:2018-12-25
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