nginx怎么使用nginx-rtmp-module模塊實現直播間功能

系統環境

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

軟件環境

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 ( ?)

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協議配置

wujianjun@wujianjun-work?~/nginx-1.13.6?$?sudo?vi?/usr/local/nginx/conf/nginx.conf

在nginx.conf文件末尾增加以下rtmp協議的配置

rtmp?{ ?server?{ ??listen?1935; ??chunk_size?4096;  ??application?live?{ ???live?on; ???record?off; ??} ?} }

啟動&測試

啟動nginx

wujianjun@wujianjun-work?~/nginx-1.13.6?$?sudo?/usr/local/nginx/sbin/nginx

啟動obs

打開剛安裝的obs軟件,在來源處配置圖像的推送來源(我這里選擇窗口捕獲),點擊右下角”設置”,進行如下圖配置流推送地址

nginx怎么使用nginx-rtmp-module模塊實現直播間功能

配置完成后,點擊”開始推流”

啟動支持網絡流播放的視頻播放器(演示使用vlc播放器)

配置網絡流播放的地址,如下圖:

nginx怎么使用nginx-rtmp-module模塊實現直播間功能

當點擊”播放”后,稍等幾秒,即可看到播放器顯示了obs捕獲的圖像了。

nginx怎么使用nginx-rtmp-module模塊實現直播間功能

由于視頻流需要通過網絡進行傳輸,所以直播圖像會有幾秒的延遲。

http訪問直播視頻

1、更改nginx.conf中配置,增加hls配置(hls是在流媒體服務器中用來存放流媒體的文件夾),再次hls所在目錄設置為http協議訪問目錄即可,更改后的配置如下:

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的用戶必須有寫入權限。

2、obs軟件配置錄制流名稱

在配置obs推送流url的下方有一個設置”流名稱”的地方,這里可以隨意填寫一個名稱(我這里示例填入”test”)

3、重啟一下nginx與obs軟件,我們即可在手機瀏覽器中輸入 http://ip/hls/test.m3u8 即可通過手機播放直播視頻。(直播延遲有點大,后續出文章優化)

nginx怎么使用nginx-rtmp-module模塊實現直播間功能

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享