worker_processes 1; #Nginx進程數,建議設置爲等於CPU總核數 events { worker_connections 1024; #工作模式與連接數上限 } rtmp_auto_push on; #RTMP服務 rtmp{ server{ listen 1935; #服務端口 chunk_size 4096; #數據傳輸塊的大小 application vod{ play ./vod; #視頻文件存放位置 } application live{ live on; #開啓直播 hls on; #開啓hls直播。這個參數把直播服務器改造成實時回放服務器 #wait_key on; #對視頻切片進行保護,這樣就不會產生馬賽克了 hls_path ./m3u8File; #切片視頻文件存放位置(HLS,m3u8文件存放位置) hls_fragment 2s; #每個視頻切片的時長 hls_playlist_length 16s; recorder myRecord { record_path /rec; record all manual; #record_suffix _.flv; record_suffix -%Y-%m-%d-%H_%M_%S.flv; #record_path ./rec; #指定錄製的flv文件存放目錄 } hls_continuous on; #連續模式 hls_cleanup on; #對多餘的切片進行刪除 hls_nested on; #嵌套模式 } } } #HTTP服務 http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } location /live{ types{ #m3u8 type設置 application/vnd.apple.mpegurl m3u8; #ts分片文件設置 video/mp2t ts; } #訪問權限開啓,否則訪問這個地址會報403 autoindex on; #指向訪問m3u8文件目錄 alias ./m3u8File; expires -1; add_header Cache-Control no-cache; #防止跨域問題 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; } location /control{ rtmp_control all; } location /stat{ rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl{ root ./nginx-rtmp-module; } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
1. 下載支持流媒體服務器的Nginx版本:nginx 1.7.11.3 Gryphon
2. 更改Nginx配置,參考頂部
3. OBS直播推流設置,推流地址設置爲 :
服務器rtmp:127.0.0.1:1935/live,這裏的服務器端口對應到nginx裏面rtmp節點下的server節點下的listen 1935; ,live是application live{的這個live
串流密鑰是test,隨便寫什麼都可以,英文數字即可
4. 付一個Nginx的截圖
這個m3u8File是我手動創建的文件夾,裏面保存的是m3u8格式+*.ts的文件,nginx-rtmp-module文件夾是從git上面下載的,直接下載整個git地址的項目拷貝過來即可,用於查看直播狀態等信息瀏覽器輸入127.0.0.1/stat即可查看,這裏的/stat對應到nginx配置http節點下的server節點下的 location /stat{以及 location /stat.xsl{倆段配置
5. web端拉流地址配置爲:http://127.0.0.1/live/test/index.m3u8即可
6. 如果是vcl,使用rtmp拉流可以使用:rtmp://127.0.0.1:1935/live/test即可