已經準備好的環境,新建節點的時候必做的幾件事即可
安裝nginx
安裝準備環境
yum -y install openssl openssl-devel
解壓nginx-rtmp-module-1.1.7.tar.gz
tar -zxvf nginx-rtmp-module-1.1.7.tar.gz
在安裝nginx之後添加nginx的module
進入到nginx的解壓目錄執行
cd /root/nginx-1.8.0
./configure --prefix=/usr/nginx-1.8 --add-module=/root/nginx-rtmp-module-1.1.7
make && make install
nginx中配置rtmp
rtmp { #RTMP服務
server {
listen 1935; #//服務端口
chunk_size 4096; #//數據傳輸塊的大小
application video {
play /var/yemu/video; #點播媒體文件存放目錄
}
#增加對HLS支持 #rtmp直播配置
application live {
live on; #開啓實時
hls on; #開啓hls#這個參數把直播服務器改造成實時回放服務器
hls_path /var/yemu/live/hls/; #ts文件存放路徑,切片視頻文件存放位置
hls_fragment 5s; #每個TS文件包含5秒的視頻內容,每個視頻切片的時長
wait_key on; #對視頻切片進行保護,這樣就不會產生馬賽克了。
hls_playlist_length 60s; #總共可以回看的事件,這裏設置的是1分鐘。
hls_continuous on; #連續模式。
hls_cleanup on; #對多餘的切片進行刪除。
hls_nested on; #嵌套模式。
}
}
}
其中 play /yemu/video 指的是配置點播模塊,可以直接播放/yemu/video路徑下的視頻,比如video目錄下有一個test.mp4視頻
那麼可以利用愛奇藝播放器或者其他工具輸入網址:rtmp://45.78.24.199/video/test.mp4
即可訪問這段視頻
hls_path指定hls分塊存放路徑,因爲hls是通過獲取到推送的視頻流信息,分塊存儲在服務器。所以它的延時比rtmp要更高。
所以客戶端要推流的話,直接推送到:rtmp://45.78.24.199/live/ 這個地址即可
nginx中的server配置
server {
listen 80;
server_name localhost;
#charset koi8-r;
index index.jsp index.html;
root /yemu;
#access_log logs/host.access.log main;
location / {
root html;
index index.html;
}
## 下面(~)這一段配置可以不要
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|docx|pdf|doc|ppt|html|properties)$ {
expires 30d;
root /var/yemu/static/;
}
#HLS配置開始,這個配置爲了`客戶端`能夠以http協議獲取HLS的拉流
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
#application/x-mpegURL;
video/mp2t ts;
}
alias /var/yemu/live/hls/;
expires -1;
add_header Cache-Control no-cache;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /root/nginx-rtmp-module-1.1.7/; #源碼根目錄
}
}
location 指向/hls,別名是/var/yemu/live/hls/
前端直接通過域名+/hls/+文件名.m3u8獲取視頻,進行拉流