搭建:直播軟件環境搭建(FFmpeg+nginx+rtmp+vlc)

一、目的:通過搭建直播軟件環境來了解直播軟件的原理

二、環境:

1、Win10

2、nginx - (rtmp服務器)

3、OBS Studio或FFmpeg.exe - (用於推流)

4、VLC media player或PotPlayer - (用於播放直播)

本示例以最簡單的方式進行嘗試:FFmpeg.exe(推流)+VLC(播放)

三、步驟:

a、下載並配置nginx+rtmp服務器 ,修改配置文件(..\nginx\conf\nginx.conf)如下

worker_processes  1;

error_log  logs/error.log debug;

events {
    worker_connections  1024;
}

rtmp {
    server {
        listen 1935;
        timeout 20s;		
		application hls {
			live on;
			hls on;
			hls_path temp/hls; 
			hls_playlist_length 5s;			
			hls_fragment 1s;			
		}
    }
}

http {
    server {
        listen      8089;
		
        location / {
            root www;
        }
		
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
            root www;
        }
		
		location /hls {  
           #server hls fragments  
			types{  
				application/vnd.apple.mpegurl m3u8;  
				video/mp2t ts;  
			}  
			alias temp/hls;  
			expires -1;  
        }

        location /daniu9966cotlive<GODWisH> {
			rtmp_control all;
		}		

    }
}

b、雙擊啓動運行nginx

c、瀏覽器輸入地址:http://127.0.0.1:8089/stat 顯示信息如下

d、應用FFmpeg.exe推流(可以推送桌面、可以推送視頻文件、也可以推送攝像頭,本示例以最簡單的推送桌面爲示例,其他方式類同)

只需運行如下命令:ffmpeg -f gdigrab -i desktop -f flv rtmp://127.0.0.1:1935/hls/12345 即可將屏幕信息推送到rtmp服務器上,當執行後統計信息頁面變成如下:

其中12345 是自定義的串流密鑰,根據此密鑰進行抓流

e、通過VLC Player抓流:

打開VLC Player 點擊菜單:媒體-打開網絡串流-輸入串流地址:rtmp://127.0.0.1:1935/hls/12345-點擊播放

如下圖可以看到,VLC播放當前桌面信息

四、總結:

通過簡單的示例可以瞭解到,部署直播環境主要有三個方面:

1、推流

2、服務器

3、播放

後面有時間將會嘗試通過 WPF+FFmpeg API +SDL2實現一個簡單的直播桌面程序

五、下載地址:

 

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