CentOS7下搭建基於Nginx的HLS,RTMP流媒體直播伺服器
阿新 • • 發佈:2019-01-10
CentOS7下搭建基於Nginx的HLS,RTMP流媒體直播伺服器
- 安裝wget
- 更改yum源
- 安裝依賴庫
- 複製nginx-1.6.2.tar.gz、nginx-rtmp-module
- 安裝、編譯Nginx
- 編輯修改nginx.conf
- 建立快取資料夾
- 啟動Nginx
- 開始推拉視訊流
安裝wget
如果你已安裝wget,本步驟可以跳過
yum -y install wget
更改yum源
更改源為國內源的目的是更快地下載依賴庫,如果您沒有這方面的煩惱可以跳過
這裡更改源地址為網易源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
cd
安裝依賴庫
yum -y install gcc gcc-c++ autoconf automake make yum -y install pcre-devel yum -y install zlib-devel yum -y install openssl openssl-devel #yum -y install gcc gcc-c++ autoconf automake make pcre-devel zlib-devel openssl openssl-devel
複製nginx-1.6.2.tar.gz、nginx-rtmp-module
這裡可以選擇wget方式下載nginx-1.6.2.tar.gz和nginx-rtmp-module。也可以通過百度雲直接下載兩個檔案,並通過XFTP等工具上傳到/root資料夾下。
nginx-1.6.2.tar.gz 百度雲
nginx-rtmp-module.zip 百度雲
nginx-1.6.2.tar.gz下載後,原封不動上傳到/root目錄下
nginx-rtmp-module.zip下載後先本地解壓,然後將包含根目錄的資料夾上傳。
這裡僅給出兩個檔案上傳/下載完成後的操作。
cd tar -zxvf nginx-1.6.2.tar.gz
安裝、編譯Nginx
cd nginx-1.6.2
./configure --add-module=../nginx-rtmp-module --with-http_ssl_module
make & make install
編輯修改nginx.conf
需要將第13行的 server_name改為你的IP地址
application live_rtmp,application live_hls 等可以根據自己的需求修改
worker_processes 1;
events{
worker_connections 1024;
}
http{
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server{
listen 80;
server_name 192.168.90.88;
location /{
root html;
index index.html index.htm;
}
location /hls{
alias /tmp/app;
add_header Access-Control-Allow-Origin *;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html{
root html;
}
}
}
rtmp{
server{
listen 1935;
chunk_size 4000;
application live_rtmp{
live on;
}
application live_hls{
live on;
hls on;
hls_path /tmp/app;
hls_fragment 15s;
}
}
}
建立快取資料夾
cd /tmp
mkdir app
啟動Nginx
cd /usr/local/nginx/sbin/
./nginx
開始推拉視訊流
如果無法推拉視訊流,可以嘗試關閉防火牆
systemctl stop firewalld
HLS推流:
rtmp://server_name/live_hls/+ 流名稱
例如:rtmp://192.168.90.88/live_hls/test
可以使用OBS Studio之類的直播工具,示例如下:
rtmp推流及rtmp播放
推流地址: rtmp://server_name/live_rtmp/+ 流名稱
播放地址: rtmp://server_name/live_rtmp/+ 流名稱
rtmp推流,hls播放
rtmp://server_name/live_hls/+ 流名稱
播放地址 : rtmp://server_name/hls/+ 流名稱.m3u8
或:http://server_name/hls/ + 流名稱.m3u8
如果向HLS推流,則.m3u8格式視訊流可以在移動平臺上播放。這可以進行移動直播和多平臺播放。