CentOS7架設(shè)視頻流媒體服務(wù)器完整指南
環(huán)境準備與系統(tǒng)配置
安裝CentOS7基礎(chǔ)系統(tǒng)后,執(zhí)行系統(tǒng)更新命令:
yum update -y && reboot
開放防火墻1935(RTMP)/80(HTTP)端口:
firewall-cmd --permanent --add-port=1935/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
Nginx-RTMP模塊部署
源碼編譯安裝
yum install -y gcc pcre-devel openssl-devel
wget https://nginx.org/download/nginx-1.20.1.tar.gz
git clone https://github.com/arut/nginx-rtmp-module.git
tar zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
./configure --add-module=../nginx-rtmp-module --with-http_ssl_module
make && make install
配置RTMP服務(wù)
編輯/usr/local/nginx/conf/nginx.conf:
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
allow publish 127.0.0.1;
deny publish all;
}
}
}
FFmpeg轉(zhuǎn)碼工具安裝
yum install -y epel-release
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum install -y ffmpeg
推流與播放測試
OBS推流設(shè)置
服務(wù)器地址:rtmp://[IP地址]/live
串流密鑰:自定義唯一標識符
HLS播放配置
application hls {
live on;
hls on;
hls_path /tmp/hls;
hls_fragment 3s;
hls_playlist_length 60s;
}
通過VLC播放器訪問:http://[IP地址]/hls/[stream].m3u8
安全強化措施
- 配置Nginx訪問白名單
- 啟用SSL加密傳輸
- 設(shè)置推流鑒權(quán)令牌
- 定期清理臨時視頻片段
性能優(yōu)化建議
參數(shù) | 推薦值 | 說明 |
---|---|---|
worker_processes | CPU核心數(shù) | 充分利用多核性能 |
worker_connections | 10240 | 提高并發(fā)處理能力 |
keepalive_timeout | 30 | 平衡資源占用與連接效率 |
常見問題排查
- 推流連接失敗
- 檢查防火墻設(shè)置與SELinux狀態(tài)
- 視頻播放卡頓
- 優(yōu)化FFmpeg轉(zhuǎn)碼參數(shù):-preset veryfast -tune zerolatency
- 內(nèi)存占用過高
- 限制HLS分片存儲時長,增加緩存清理機制