windows obs直播RTMP協議推流到Nginx流媒體服務器到VUE使用HLS直播

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;
        }
    }
}
Nginx配置

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即可

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章