nginx使用nginx-rtmp-module模塊實(shí)現(xiàn)直播間功能
系統(tǒng)環(huán)境
wujianjun@wujianjun-work ~ $ uname -a Linux wujianjun-work 4.10.0-37-generic #41~16.04.1-Ubuntu SMP Fri Oct 6 22:42:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
軟件環(huán)境
OBS(Open Broadcaster Software) v20.0.1 (Linux)
nginx version: nginx/1.13.6
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)
built with OpenSSL 1.0.2g 1 Mar 2016
TLS SNI support enabled
configure arguments: –with-pcre=pcre-8.38 –add-module=nginx-rtmp-module-1.1.11
Nginx+obs安裝及配置 安裝obs
wujianjun@wujianjun-work ~ $ sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next wujianjun@wujianjun-work ~ $ sudo apt-get update && sudo apt-get install ffmpeg wujianjun@wujianjun-work ~ $ sudo apt-get install obs-studio wujianjun@wujianjun-work ~ $ sudo add-apt-repository ppa:obsproject/obs-studio wujianjun@wujianjun-work ~ $ sudo apt-get update && sudo apt-get install obs-studio
nginx加裝rtmp模塊
nginx-rtmp-module ( https://github.com/arut/nginx-rtmp-module )
wujianjun@wujianjun-work ~ $ sudo apt-get install build-essential wujianjun@wujianjun-work ~ $ wget wget http://nginx.org/download/nginx-1.13.6.tar.gz wujianjun@wujianjun-work ~/nginx-1.13.6 $ wget https://github.com/arut/nginx-rtmp-module/archive/v1.1.11.tar.gz wujianjun@wujianjun-work ~/nginx-1.13.6 $ tar -xvf v1.1.11.tar.gz wujianjun@wujianjun-work ~/nginx-1.13.6 $ wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz wujianjun@wujianjun-work ~/nginx-1.13.6 $ tar -xvf pcre-8.38.tar.gz wujianjun@wujianjun-work ~/nginx-1.13.6 $ ls -all 總用量 748 drwxr-xr-x 9 wujianjun wujianjun 4096 10月 15 11:39 . drwxr-xr-x 63 wujianjun wujianjun 4096 10月 15 11:33 .. drwxr-xr-x 6 wujianjun wujianjun 4096 10月 15 11:33 auto -rw-r--r-- 1 wujianjun wujianjun 282456 10月 10 23:22 CHANGES -rw-r--r-- 1 wujianjun wujianjun 430416 10月 10 23:22 CHANGES.ru drwxr-xr-x 2 wujianjun wujianjun 4096 10月 15 11:33 conf -rwxr-xr-x 1 wujianjun wujianjun 2502 10月 10 23:22 configure drwxr-xr-x 4 wujianjun wujianjun 4096 10月 15 11:33 contrib drwxr-xr-x 2 wujianjun wujianjun 4096 10月 15 11:33 html -rw-r--r-- 1 wujianjun wujianjun 1397 10月 10 23:22 LICENSE drwxr-xr-x 2 wujianjun wujianjun 4096 10月 15 11:33 man drwxrwxr-x 6 wujianjun wujianjun 4096 2月 13 2017 nginx-rtmp-module-1.1.11 drwxr-xr-x 7 wujianjun wujianjun 4096 11月 23 2015 pcre-8.38 -rw-r--r-- 1 wujianjun wujianjun 49 10月 10 23:22 README drwxr-xr-x 9 wujianjun wujianjun 4096 10月 15 11:33 src wujianjun@wujianjun-work ~/nginx-1.13.6 $ ./configure --with-pcre=pcre-8.38 --add-module=nginx-rtmp-module-1.1.11 wujianjun@wujianjun-work ~/nginx-1.13.6 $ make && sudo make install wujianjun@wujianjun-work ~/nginx-1.13.6 $ ls -all /usr/local/nginx/ 總用量 24 drwxr-xr-x 6 root root 4096 10月 15 16:11 . drwxr-xr-x 11 root root 4096 10月 15 16:11 .. drwxr-xr-x 2 root root 4096 10月 15 16:11 conf drwxr-xr-x 2 root root 4096 10月 15 16:11 html drwxr-xr-x 2 root root 4096 10月 15 16:11 logs drwxr-xr-x 2 root root 4096 10月 15 16:11 sbin
增加rtmp協(xié)議配置
wujianjun@wujianjun-work ~/nginx-1.13.6 $ sudo vi /usr/local/nginx/conf/nginx.conf
在nginx.conf文件末尾增加以下rtmp協(xié)議的配置
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
啟動(dòng)&測(cè)試
啟動(dòng)nginx
wujianjun@wujianjun-work ~/nginx-1.13.6 $ sudo /usr/local/nginx/sbin/nginx
啟動(dòng)OBS
打開(kāi)剛安裝的OBS軟件,在來(lái)源處配置圖像的推送來(lái)源(我這里選擇窗口捕獲),點(diǎn)擊右下角”設(shè)置”,進(jìn)行如下圖配置流推送地址

配置完成后,點(diǎn)擊”開(kāi)始推流”
啟動(dòng)支持網(wǎng)絡(luò)流播放的視頻播放器(演示使用vlc播放器)
配置網(wǎng)絡(luò)流播放的地址,如下圖:

當(dāng)點(diǎn)擊”播放”后,稍等幾秒,即可看到播放器顯示了obs捕獲的圖像了。

由于視頻流需要通過(guò)網(wǎng)絡(luò)進(jìn)行傳輸,所以直播圖像會(huì)有幾秒的延遲。
http訪(fǎng)問(wèn)直播視頻
1、更改nginx.conf中配置,增加hls配置(hls是在流媒體服務(wù)器中用來(lái)存放流媒體的文件夾),再次hls所在目錄設(shè)置為http協(xié)議訪(fǎng)問(wèn)目錄即可,更改后的配置如下:
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
hls on;
hls_path /usr/share/nginx/html/hls;
hls_fragment 5s;
}
}
}
http {
server {
listen 80;
.....
location / {
#root html;
root /usr/share/nginx/html;
index index.html index.htm;
}
.....
}
}
注意:hls所在目錄nginx的用戶(hù)必須有寫(xiě)入權(quán)限。
2、obs軟件配置錄制流名稱(chēng)
在配置obs推送流URL的下方有一個(gè)設(shè)置”流名稱(chēng)”的地方,這里可以隨意填寫(xiě)一個(gè)名稱(chēng)(我這里示例填入”test”)
3、重啟一下nginx與obs軟件,我們即可在手機(jī)瀏覽器中輸入 http://ip/hls/test.m3u8 即可通過(guò)手機(jī)播放直播視頻。(直播延遲有點(diǎn)大,后續(xù)出文章優(yōu)化)

- nginx-rtmp-module構(gòu)建流媒體直播服務(wù)器實(shí)戰(zhàn)指南
- Nginx通過(guò)nginx-rtmp-module模塊搭建流媒體服務(wù)器實(shí)現(xiàn)直播
- 利用nginx搭建RTMP視頻點(diǎn)播、直播、HLS服務(wù)器
- 使用Nginx搭載rtmp直播服務(wù)器的方法
- Nginx搭建rtmp直播服務(wù)器實(shí)現(xiàn)代碼
- 詳解Ubuntu18.04下配置Nginx+RTMP+HLS+HTTPFLV服務(wù)器實(shí)現(xiàn)點(diǎn)播/直播/錄制功能
- Nginx-rtmp實(shí)現(xiàn)直播媒體實(shí)時(shí)流效果
- Mac上搭建nginx+rtmp直播服務(wù)器的步驟詳解
- nginx+rtmp實(shí)現(xiàn)直播完整流程
相關(guān)文章
Nginx中IP地址透?jìng)鞯膽?yīng)用實(shí)現(xiàn)
Nginx的IP地址透?jìng)鞴δ苣軌蛟诜聪虼韴?chǎng)景下保留和傳遞客戶(hù)端真實(shí)IP地址,通過(guò)配置proxy_set_header指令,設(shè)置X-Real-IP和X-Forwarded-For等頭部字段,可將客戶(hù)端IP信息傳遞給后端服務(wù)器,感興趣的可以了解一下2025-12-12
nginx配置將HTTPS請(qǐng)求轉(zhuǎn)換成HTTP的方法實(shí)現(xiàn)
Nginx是一個(gè)很流行、很強(qiáng)大的代理軟件,我們可以借助Nginx,設(shè)置 http強(qiáng)轉(zhuǎn)https,本文就來(lái)詳細(xì)的介紹一下,感興趣的可以了解一下2023-09-09
使用LDAP實(shí)現(xiàn)Nginx用戶(hù)認(rèn)證的示例
本文主要使用Nginx和LDAP實(shí)現(xiàn)用戶(hù)認(rèn)證,通過(guò)配置Nginx和安裝nginx-auth-ldap模塊,可以實(shí)現(xiàn)基于LDAP的認(rèn)證邏輯,下面就來(lái)介紹一下,感興趣的可以了解一下2024-12-12
nginx編譯安裝出現(xiàn)的常見(jiàn)錯(cuò)誤及解決方法
這篇文章給大家介紹了nginx在編譯安裝過(guò)程中容易出現(xiàn)的常見(jiàn)錯(cuò)誤以及解決方法,文中有詳細(xì)的代碼講解,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-08-08
nginx搭建IPv6 ->IPv4反向代理服務(wù)器的實(shí)現(xiàn)
本文主要介紹了nginx搭建IPv6 ->IPv4反向代理服務(wù)器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-05-05
Nginx geoip模塊實(shí)現(xiàn)地區(qū)性負(fù)載均衡
相信做過(guò)awstats的都用過(guò)開(kāi)源的geoip.dat ip數(shù)據(jù)庫(kù),剛好nginx wiki上有g(shù)eoip 模塊,這樣就可以實(shí)現(xiàn)地區(qū)性的負(fù)載均衡,但是maxmind 的ip數(shù)據(jù)庫(kù)對(duì)中國(guó)的支持不算太好,不過(guò)現(xiàn)在也不錯(cuò)了~2010-12-12
nginx部署多套vue項(xiàng)目,共用一套后端配置過(guò)程
文章介紹了如何在一套后端服務(wù)下部署多個(gè)Web應(yīng)用,包括H5頁(yè)面和后臺(tái)管理端的配置方法,涵蓋了前端打包、路由配置、Java打包、Nginx配置以及訪(fǎng)問(wèn)路徑的設(shè)置2025-12-12
Nginx location 和 proxy_pass路徑配置問(wèn)題小結(jié)
本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,進(jìn)行測(cè)試,完全還原了整個(gè)測(cè)試過(guò)程,本文給大家介紹Nginx location 基本配置及相關(guān)配置文件,感興趣的朋友跟隨小編一起看看吧2021-09-09

