使用nginx搭建rtmp伺服器

2022-03-02 07:02:15 字數 2032 閱讀 7335

一、軟體需求

2、pcre原始碼包。這是乙個正規表示式庫。nginx會用到這個開源庫來做正則匹配。很多軟體都會引用,比如php引擎編譯的時候也會用到。

3、nginx-rtmp-module原始碼包  

這才rtmp服務真正要的工具。

4、openssl原始碼包。這個不是必須。只有nginx 版本在1.3.14 - 1.5.0之間的,才需要安裝。nginx-rtmp-module的文件特意提到了這點。

在編譯nginx的時候,加上引數--with-http_ssl_module。如:./configure --add-module=rtmp模組的原始碼位置

二、編譯nginx

解壓nginx。進入到nginx原始碼目錄,執行如下命令:

第一步:

./configure --prefix=nginx安裝到哪個目錄 

--with-pcre=pcre庫的原始碼目錄,注意是原始碼目錄  

--add-module=rtmp模組的原始碼目錄

注:預先將pcre庫、rtmp模組解壓。以便上面使用。

一般兩種壓縮包。命令不同,如下:

tar.gz包命令:tax -xzvf 軟體包

zip包:unzip 軟體包

第二步:

make && make install

三、配置nginx

配置nginx.conf,增加

rtmp

與http

是同級別的,內容如下:

user  root;

worker_processes 1;

#error_log logs/error.log;

#error_log logs/error.log notice;

error_log logs/error.log error;

pid logs/nginx.pid;

events

#服務於rtmp協議的請求 rtmp://開頭

rtmp

} #這裡可以加其他server偵聽其他埠

}#服務於http請求

注:nginx-rtmp-module在nignx.conf中使用的指令有很多,需要慢慢消化。先搭建乙個簡單的骨架。比如還可以進行hls協議的服務。

使用指令的說明文件:

四、推流和拉流

怎麼推流

功能、命令格式如下:

ffmpeg -re -i  e:\test.mp4 -f flv rtmp:

-r設定幀速率,預設為25。

-i 設定輸入流,也就是讀取哪個檔案推流到服務端。

執行命令後,會在命令列看到推流過程:

需要乙個很常用的流**工具:vlc。

軟體安裝好後(筆者安裝的是window下vlc工具),開啟軟體,選擇"開啟網路串流",如下所示:

輸入拉流的位址,推流和拉流都是同乙個位址(說的是rtmp協議)。如:rtmp:

到此,完成了,一邊推流,一邊拉流的效果。

特別注意:

如下:ffmpeg -re -i  e:\test.mp4   -vcodec copy -acodec copy  -f flv rtmp:

-acodec表示音訊編碼,copy表示不改變編解碼器,只是改封裝器。

nginx搭建rtmp伺服器

1 nginx 位址 configure prefix usr local nginx add module home samba shb rtmp nginx rtmp module with http ssl module home samba shb rtmp nginx rtmp modul...

Linux上用nginx搭建RTMP伺服器

參考文章 我的環境ubuntu 1 安裝編譯 nginx 所需要的庫 sudo apt get install build essential libpcre3 libpcre3 dev libssl dev wget wget 4 解壓 tar zxvf nginx 1.9.15.tar.gz u...

rtmp伺服器搭建 windows

為了讓大家少踩筆者踩過的坑,目前將工作中搭建rtmp推流伺服器的步驟總結如下 此處注意千萬不要命名為nginx 1.7.11.3 gryphon,筆者初次搭建rtmp推流伺服器時,將解壓後的目錄命名為nginx 1.7.11.3 gryphon,出現區域網內的其他電腦都無法訪問rtmp伺服器的問題,...