nginx臨時(shí)搭建rtmp服務(wù)器的方法實(shí)現(xiàn)
由于需要研究rtmp協(xié)議交互方式及報(bào)數(shù)據(jù)格式,使用nginx臨時(shí)搭建一個(gè)rtmp服務(wù)器,主要通過(guò)nginx的rtmp擴(kuò)展模塊實(shí)現(xiàn)接收RTMP推送的音視頻流,同時(shí)提供RTMP拉流服務(wù)的能力。
系統(tǒng)環(huán)境
- 操作系統(tǒng)版本:CentOS Linux release 7.9.2009 (Core)
- 下載的nginx版本:nginx-1.21.6
- nginx的rtmp模塊:git上主版本最新版本
搭建步驟
安裝依賴庫(kù):
nginx編譯依賴 gcc 環(huán)境,如果沒(méi)有 gcc 環(huán)境,則需要安裝:yum -y install gcc gcc-c++
nginx的http模塊使用pcre來(lái)解析正則表達(dá)式,pcre-devel 是使用 pcre 開(kāi)發(fā)的一個(gè)二次開(kāi)發(fā)庫(kù),nginx需要依賴這兩個(gè)庫(kù),執(zhí)行如下命令:yum install -y pcre pcre-devel
nginx使用zlib對(duì)http包的內(nèi)容進(jìn)行g(shù)zip,需要安裝此庫(kù):yum install -y zlib zlib-devel
nginx可能需要支持HTTPS,最好在系統(tǒng)中安裝好openssl,一般系統(tǒng)自帶,可通過(guò)如下命令確認(rèn):openssl version
如果安裝了會(huì)顯示版本號(hào),如果提示未安裝,執(zhí)行如下命令安裝:yum install -y openssl openssl-devel
nginx編譯和安裝
下載nginx:
wget http://nginx.org/download/nginx-1.21.6.tar.gz
下載nginx模塊RTMP模塊:
wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.2.tar.gz
解壓nginx和rtmp模塊:
tar -zxvf nginx-1.21.6.tar.gz
tar -zxvf v1.2.2.tar.gz
nginx編譯和安裝:
./configure --prefix=/home/wangdenuan/nginx --add-module=../nginx-rtmp-module-1.2.2
這里配置了–prefix,配置安裝路徑,不安裝到默認(rèn)路徑,以便安裝文件移植和卸載,可直接拷貝次目錄下的文件到其他電腦運(yùn)行如果目錄不同,啟動(dòng)時(shí)通過(guò)-p指定目錄即可。make&&makeinstall
啟動(dòng)nginx,驗(yàn)證是否正確,執(zhí)行命令(注意安裝目錄下的sbin/nginx):
/home/wangdenuan/nginx/sbin/nginx
打開(kāi)瀏覽器輸入:http://10.45.12.29/,注意ip為本機(jī)ip,顯示如下內(nèi)容,即表示安裝成功
- 修改nginx相關(guān)配置支持rtmp
在/home/wangdenuan/nginx/conf/nginx.conf文件中增加:
rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; } } }
注意增加位置,在http之外,不屬于http子模塊,不要加到http里了,配置文件中可以位于http模塊上面,與其平級(jí):
重新啟動(dòng)nginx:/home/wangdenuan/nginx/sbin/nginx -s reload
查看1935端口是否已經(jīng)啟用監(jiān)聽(tīng):netstat -antp|grep 1935
如果有監(jiān)聽(tīng)端口,說(shuō)明rtmp服務(wù)開(kāi)啟成功。
RTMP服務(wù)驗(yàn)證
由于實(shí)驗(yàn)室存在支持RTSP的IPC攝像機(jī),這里通過(guò)ffmpeg接入攝像機(jī)的RTSP,并以RTMP協(xié)議推送到我們搭建的RTMP服務(wù)端中來(lái)驗(yàn)證。
在PC機(jī)上安裝ffmpeg,具體安裝方式可百度
找一個(gè)可播放的RTSP地址,通過(guò)vlc播放器驗(yàn)證rtsp地址播放是否正常,這里以rtsp://admin:zxm10@@@@10.45.12.141/h264/ch1/main/av_stream為例:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-mtQHnDyq-1672719492141)(null)]打開(kāi)命令提示行,輸入如下ffmpeg命令,推送rtmp視頻流到rtmp服務(wù)器,這里假設(shè)rtmp服務(wù)器IP為:10.45.12.29
ffmpeg -i rtsp://admin:zxm10@@@@10.45.12.141/h264/ch1/main/av_stream -vcodec copy -acodec copy -f flv rtmp://10.45.12.29:1935/live/test
ffmpeg推流命令成功后,出現(xiàn)如下圖所示界面:用vlc播放如下串流:rtmp://10.45.12.29:1935/live/test,驗(yàn)證是否rtmp拉流成功。如下圖所示,能夠正常拉取rtmp流,說(shuō)明rtmp服務(wù)器正常
當(dāng)然如果沒(méi)有rtsp視頻源地址,也可以通過(guò)ffmpeg輸入本地mp4錄像文件,推送到rtmp服務(wù)器,也可以驗(yàn)證,命令如下:ffmpeg -re -stream_loop -1 -i .\1.mp4 -vcodec copy -acodec copy -f flv rtmp://10.45.12.29:1935/live/test
循環(huán)推送文件視頻到rtmp服務(wù)器,可通過(guò)vlc驗(yàn)證,也可通過(guò)ffplay播放驗(yàn)證。
到此這篇關(guān)于nginx臨時(shí)搭建rtmp服務(wù)器的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)nginx臨時(shí)搭建rtmp服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx生成自簽名SSL證書(shū)配置HTTPS的實(shí)現(xiàn)
本文主要介紹在Nginx中生成自簽名SSL證書(shū)并配置HTTPS,包括安裝Nginx、創(chuàng)建證書(shū)、配置證書(shū)以及測(cè)試訪問(wèn),具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03配置nginx訪問(wèn)本地靜態(tài)資源,本地圖片,視頻教程
文章介紹了如何配置Nginx以訪問(wèn)本地靜態(tài)資源、圖片和視頻,首先,進(jìn)入Nginx安裝目錄并打開(kāi)`nginx.conf`文件,添加一個(gè)新的`server`配置來(lái)指定本地路徑,然后,通過(guò)命令行重啟Nginx服務(wù)以應(yīng)用更改,最后,通過(guò)瀏覽器訪問(wèn)配置的圖片路徑來(lái)驗(yàn)證配置是否成功2025-01-01使用Nginx?+?Keepalived?實(shí)現(xiàn)高可用?Web?負(fù)載均衡筆記(虛擬機(jī))
這篇文章主要介紹了使用Nginx?+?Keepalived?實(shí)現(xiàn)高可用?Web?負(fù)載均衡筆記,需要的朋友可以參考下2023-08-08深入理解nginx如何實(shí)現(xiàn)高性能和可擴(kuò)展性
這篇文章主要介紹了深入理解nginx如何實(shí)現(xiàn)高性能和可擴(kuò)展性,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05Nginx?生產(chǎn)環(huán)境安全配置加固的實(shí)現(xiàn)
本文主要介紹了Nginx?生產(chǎn)環(huán)境安全配置加固的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03利用Nginx處理Vue開(kāi)發(fā)環(huán)境的跨域的方法
這篇文章主要介紹了利用Nginx處理Vue開(kāi)發(fā)環(huán)境的跨域的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06