windows下使用Nginx搭建Rtmp流媒體服務器,實現視頻直播功能

一、環境介紹

操作系統:win10 64位系統

Linux下搭建Nginx搭建Rtmp流媒體服務器方法請看這裏https://blog.csdn.net/xiaolong1126626497/article/details/105378894

二、流媒體服務器介紹

流媒體服務器的主要功能是以流式協議(RTP/RTSP、MMS、RTMP等)將視頻文件傳輸到客戶端,供用戶在線觀看;也可從視頻採集、壓縮軟件接收實時視頻流,再以流式協議直播給客戶端。

nginx服務器是開源的高性能的http服務器,反向代理服務器,在國內許多公司應用比較多。

rtmp是實時消息傳輸協議(real time messaging protocol),主要應用在流媒體傳輸,實時音視頻通信的協議。

三、搭建流媒體服務器

3.1 下載Nginx

Nginx (engine x) 是一個高性能的HTTP和反向代理web服務器,同時也提供了IMAP/POP3/SMTP服務。

Nginx 下載地址:http://nginx-win.ecsds.eu/download/

我這裏在電腦D盤建立了一個Nginx文件夾,然後將下載的nginx 1.7.11.3 Gryphon.zip文件解壓在Nginx文件夾下(我這裏解壓,選擇的是解壓到當前目錄)。

3.2 配置nginx.conf文件

接下來在D:\Nginx\conf 目錄下新建一個nginx.conf文件。

寫入以下代碼:

 worker_processes  1;   #Nginx進程數,建議設置爲等於CPU總核數
 
events {
    worker_connections  1024;  #工作模式與連接數上限
}
 
rtmp_auto_push on;

#RTMP服務
rtmp {  
    server {  
        listen 8888;   
        application live {  
            live on;  
        	}
         }  
}

#HTTP服務
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
 
    server {
        listen       8099;
        server_name  localhost;
 
        location / {
            root   html;
            index  index.html index.htm;
        }
 
        location /live_hls{
		    types{
			    #m3u8 type設置
				application/vnd.apple.mpegurl m3u8;
				#ts分片文件設置
				video/mp2t ts;
			}
			#指向訪問m3u8文件目錄
			alias ./m3u8File;
			    add_header Cache-Control no-cache; #禁止緩存
		}
 
        location /control{
		    rtmp_control all;
		}
		
		location /stat{
		    rtmp_stat all;
			rtmp_stat_stylesheet stat.xsl;
		}
		location /stat.xsl{
		    root ./nginx-rtmp-module-master;
		}
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

需要注意的地方:上面配置文件裏,有兩個地方設置了端口號,一個是HTTP(8099),一個是RTMP(8888),這兩個端口號必須是系統當前沒有使用的,如果被佔用,下面3.4的步驟就會報錯。

 

3.3 建立工作目錄

在D:\Nginx 目錄下新建三個目錄:m3u8File、rec、vod  。

3.4 檢查配置是否正確

打開windows命令行終端,進入到D:\Nginx 目錄下,運行nginx.exe -t  。 出現以下結果,就表示成功。

Microsoft Windows [版本 10.0.18363.778]
(c) 2019 Microsoft Corporation。保留所有權利。

D:\Nginx>nginx.exe -t
nginx: the configuration file D:\Nginx/conf/nginx.conf syntax is ok
nginx: configuration file D:\Nginx/conf/nginx.conf test is successful

D:\Nginx>

3.5 啓動Nginx服務器

在命令行,繼續運行啓動命令。

start nginx

啓動之後,用戶可以通過命令nginx.exe -s stop或者nginx.exe -s quit停止nginx。

接下來,打開瀏覽器,輸入地址:http://127.0.0.1:8099/  ,查看nginx啓動狀態,看到下面頁面就表示啓動成功了,。

四、推流、拉流測試

在Nginx的配置文件裏,設置RTMP服務器的端口號是8888,下面使用編寫的推流軟件進行測試。

因爲是在本地測試,我這裏就使用本地IP地址:127.0.0.1

根據上面的配置說明,那麼本機Nginx服務器的推流和拉流的地址就是:rtmp://127.0.0.1:8888/live/video01

上面地址裏“live”是在配置文件裏設置的,“video01”是隨意寫,是服務器創建的臨時目錄。

接下來打開Vlc軟件,測試下拉流效果。 拉流地址和推流地址是一樣的:rtmp://127.0.0.1:8888/live/video01

至此:推流服務器搭建完畢。

 

下面公衆號有全套的QT、C、C++、單片機的基礎學習資料,歡迎大家關注。

 

 

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