使用Nginx搭載rtmp直播服務(wù)器的方法
這次我們搭建一個(gè)rtmp直播服務(wù)器,用于電腦或手機(jī)直播推流到服務(wù)器,然后其他終端如電腦或手機(jī)可以觀看直播的視頻畫(huà)面。 我們這里用電腦錄屏軟件將實(shí)時(shí)錄制的電腦屏幕畫(huà)面直播給其它人看??偣残枰?部分,第一,錄屏軟件錄制電腦屏幕,并傳遞畫(huà)面流到服務(wù)器; 第二,服務(wù)器rtmp搭建,應(yīng)能接收來(lái)自錄屏軟件上傳的畫(huà)面;第三,視頻播放器客戶端能連接到rtmp服務(wù)器,接收rtmp服務(wù)器推送的視頻流,從而可實(shí)時(shí)觀看第一部分錄屏軟件的實(shí)時(shí)畫(huà)面。這里最核心的就是第二部分,搭建rtmp服務(wù)器。
1. 下載nginx
nginx是一個(gè)服務(wù)器軟件,類似于tomcat,用于發(fā)布服務(wù)器程序
(1)下載地址:在linux下執(zhí)行 wget http://nginx.org/download/nginx-1.15.3.tar.gz命令,下載壓縮包。
(2)解壓,使用tar命令: tar xvf nginx-1.15.3.tar.gz
2. 下載nginx rtmp模塊
wget https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1 同樣解壓tar xvf v1.2.1
3. 編譯nginx
./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1
4. 修改nginx-rtmp-module中的conf文件
cd nginx-rtmp-module-1.2.1打開(kāi)文件夾,cd test文件夾,修改nginx.conf文件的內(nèi)容為:
worker_processes 1; error_log logs/error.log debug; events { worker_connections 1024; } rtmp { server { listen 1935; application myapp { live on; #record keyframes; #record_path /tmp; #record_max_size 128K; #record_interval 30s; #record_suffix .this.is.flv; #on_publish http://localhost:8080/publish; #on_play http://localhost:8080/play; #on_record_done http://localhost:8080/record_done; } } } http { server { listen 8080; location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /path/to/nginx-rtmp-module/; } location /control { rtmp_control all; } #location /publish { # return 201; #} #location /play { # return 202; #} #location /record_done { # return 203; #} location /rtmp-publisher { root /path/to/nginx-rtmp-module/test; } location / { root /path/to/nginx-rtmp-module/test/www; } } }
到時(shí)候推流地址就是 rtmp://IP:PORT/myapp/{abc},其中{abc}中的abc是可選的,一般是一個(gè)推流密碼,往服務(wù)器推送或接收視頻流時(shí),可填寫(xiě)一個(gè)密碼,如abc。rtmp默認(rèn)服務(wù)器端口是1935,如果這個(gè)端口被占用,可以殺死占用這個(gè)端口的進(jìn)程,使用如下命令:
kill -9 pid (其中pid是進(jìn)程id)。
然后用這個(gè)conf 替換 nginx-1.15.3/bin/conf下的nginx.conf ,
使用mv nginx.conf nginx.conf.bak命令重命名原來(lái)的nginx.conf,可以不用刪除原文件。
5. 啟動(dòng)nginx
cd nginx-1.15.3
打開(kāi)nginx文件夾
/root/nginx-1.15.3/bin/sbin/nginx
啟動(dòng)nginx
6. 驗(yàn)證nginx rtmp流媒體是否部署成功
啟動(dòng)后,從瀏覽器里訪問(wèn)122.112.220.253:8080。
如果打不開(kāi),
1. 在服務(wù)器上建立安全規(guī)則,開(kāi)發(fā)入口規(guī)則,把1935,8080這兩個(gè)端口開(kāi)啟,協(xié)議是TCP.
2. nginx-1.15.3/bin/conf下的nginx.conf里最頂部 修改用戶: user root;
此時(shí),nginx.conf的內(nèi)容如下:
user root; worker_processes 1; error_log logs/error.log debug; events { worker_connections 1024; } rtmp { server { listen 1935; application myapp { live on; drop_idle_publisher 5s; } } } http { server { listen 8082; location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { root /root/nginx-rtmp-module-1.2.1/; } location /control { rtmp_control all; } location /rtmp-publisher { root /root/nginx-rtmp-module-1.2.1/test; } location / { root /root/nginx-rtmp-module-1.2.1/test/www; } } }
3. 重啟nginx,再次訪問(wèn)122.112.220.253:8082,成功。
下次我們就用一個(gè)錄屏軟件錄制電腦屏幕,使用rtmp協(xié)議向服務(wù)器上推送電腦屏幕畫(huà)面,同時(shí)用播放器來(lái)播放服務(wù)器上的rtmp直播流。
到此這篇關(guān)于使用Nginx搭載rtmp直播服務(wù)器的文章就介紹到這了,更多相關(guān)rtmp直播服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx動(dòng)靜分離實(shí)現(xiàn)案例代碼解析
這篇文章主要介紹了Nginx動(dòng)靜分離實(shí)現(xiàn)案例代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08Nginx代理axios請(qǐng)求以及注意事項(xiàng)詳解
這篇文章主要給大家介紹了關(guān)于Nginx代理axios請(qǐng)求以及注意事項(xiàng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Nginx+Tomcat負(fù)載均衡集群安裝配置案例詳解
Nginx是一款非常優(yōu)秀的http服務(wù)器軟件,它能夠支持高達(dá)50000個(gè)并發(fā)連接數(shù)的相應(yīng),Nginx+Tomcat負(fù)載均衡集案列是應(yīng)用于生產(chǎn)環(huán)境的一套可靠的Web站點(diǎn)解決方案,對(duì)Nginx Tomcat負(fù)載均衡集群相關(guān)知識(shí)感興趣的朋友一起看看吧2021-10-10Nginx配置同時(shí)支持http和https的兩種方式
現(xiàn)在的網(wǎng)站支持Https幾乎是標(biāo)配功能,Nginx能很好的支持Https功能,本文主要介紹了Nginx配置同時(shí)支持http和https的兩種方式,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03Nginx實(shí)現(xiàn)異步訪問(wèn)mysql的配置方法
這篇文章主要介紹了Nginx實(shí)現(xiàn)異步訪問(wèn)mysql的配置方法,本文先是講解了安裝配置方法,然后給出了使用方法,需要的朋友可以參考下2015-06-06