1.在已經(jīng)安裝 nginx 的前提下峦树,搭建rtmp服務(wù)器:
2.進(jìn)入 nginx 目錄渡冻,vi config.sh 創(chuàng)建腳本文件戚扳,內(nèi)容如下
安裝腳本:避免沖突影響其他(起別名)
nginx./auto/configure? --prefix=/usr/local/nginx1 \
????????????????????????--with-http_v2_module \
? ? ? ? ? ? ? ? ? ? ? ? ?--with-http_flv_module \
????????????????????????--with-http_mp4_module \
????????????????????????--add-module=../nginx-rtmp-module/
3.執(zhí)行腳本并編譯安裝
確保環(huán)境 pcre,openssl,zlib,gcc-c++已經(jīng)安裝,參考:nginx安裝
給腳本賦權(quán):? chmod 777 config.sh
執(zhí)行腳本:? /config.sh
編譯: make?
安裝: make? install??
4.修改nginx監(jiān)聽端口
5.配置rtmp 服務(wù)
rtmp服務(wù)配置:(復(fù)制到txt中族吻,修改后再粘貼)
rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; } application live2 { live on; record off; } application vod { play /var/flvs; } application vod_http { play http://本地nginx的ip:運(yùn)行的端口/vod; } application hls { live on; hls on; hls_path /tmp/hls; } } }
6.重啟
/usr/local/nginx1/sbin/nginx -s reload
7.推流
使用 obs 推流帽借,地址為 rtmp://ip地址:1935/live
無nginx的安裝方式:
?需要注意的是本機(jī)搭建使用的是Centos 7.X的版本,iptables命令等使用方式有變動(dòng)
????????首先需要注意的是雖然nginx可以使用yum安裝超歌,但是yum安裝使用的都是編譯后的文件進(jìn)行安裝砍艾,并且后面所需要的rtmp模塊一般在yum源里面是找不到的,所以要想將rtmp也安裝進(jìn)來巍举,我們選擇源碼安裝脆荷,經(jīng)過步驟配置,編譯懊悯,安裝蜓谋。?
? ??????本文是使用nginx源碼,自行編譯安裝定枷。首先是下載源碼孤澎,由于nginx的代碼是開源托管在github上,我們先用yum 將git下載下來欠窒,然后使用git將源碼從github上clone下來
cdmkdirsource#創(chuàng)建源碼目錄 后面的源碼都放在這個(gè)目錄cdsourceyum -y install git#安裝git
git clone https://github.com/nginx/nginx.git#從github服務(wù)器上將nginx的源代碼下載下來
git clone https://github.com/arut/nginx-rtmp-module.git#將rtmp模塊的源碼下載下來
下載依賴模塊源碼pcre覆旭、OpenSSL退子、zlib 如果機(jī)器上已經(jīng)安裝了這些模塊就不需要了
rpm -qa|grep模塊名字#查詢安裝的模塊的包信息
wget https://www.openssl.org/source/openssl-1.1.0.tar.gz? #下載OpenSSL源碼包
wget https://ftp.pcre.org/pub/pcre/pcre-8.39.tar.gz? #下載pcre源碼包
wget http://www.zlib.net/zlib-1.2.11.tar.gz? #下載zlib包源碼
tar -zxvf 包名#解壓各個(gè)包源碼
附一張目錄結(jié)構(gòu)圖?
找到nginx源碼包中 configure 所在的目錄,以下腳本就是基于configure來實(shí)現(xiàn)的型将,在本機(jī)上configure 命令就在auto 目錄下寂祥,當(dāng)前目錄 /root/source/nginx 就在這個(gè)目錄下編寫腳本vi config.sh 加入以下內(nèi)容
./auto/configure--prefix=/usr/local/nginx\--with-pcre=../pcre-8.39\
--with-openssl=../openssl-1.1.0\
--with-zlib=../zlib-1.2.11\
--with-http_v2_module\
--with-http_flv_module\
--with-http_mp4_module\
--add-module=../nginx-rtmp-module/
保存后給文件賦予操作權(quán)限,再執(zhí)行
chmod777config.sh#賦予權(quán)限
./config.sh#執(zhí)行腳本
檢查配置沒有問題?
yum -y? install? gcc? #確保依賴的gcc安裝
yum -y? install? gcc-c++? #確保依賴的c++已經(jīng)安裝
make? #編譯
顯示如下則編譯成功?
make install#安裝
1安裝成功?
iptables -I INPUT -p tcp -mstate--stateNEW --dport8084-j ACCEPT? ? ? ? #放行8084端口的 NEW狀態(tài)請(qǐng)求(本機(jī)的RELATED,ESTABLISHED狀態(tài)是默認(rèn)放行的)
service iptables save#保存規(guī)則
service iptables restart#重啟防火墻保證新的規(guī)則加載進(jìn)來
測(cè)試nginx是否安裝成功 ip:port 如果出現(xiàn)以下界面說明安裝成功?
在nginx配置文件中配置rtmp服務(wù)七兜,記住rtmp服務(wù)是和http服務(wù)是平級(jí)的丸凭,所以我們需要在和http配置平級(jí)的位置另起rtmp服務(wù)
vi /usr/local/nginx/conf/nginx.conf? ?#修改配置文件
在配置文件末尾加入以下內(nèi)容
# rtmp config
rtmp? {? ?
????????server? {? ? ? ?
????????????listen1935;? ? ? ? chunk_size4096;? ? ?
????????????? application live? {? ? ? ? ? ? liveon;? ? ? ? ? ? recordoff;? ? ? ? }? ? ?
????????????? application live2? {? ? ? ? ? ? liveon;? ? ? ? ? ? recordoff;? ? ? ? }? ? ?
????????????? application vod? {? ? ? ? ? ? play /var/flvs;? ? ? ? }? ? ? ?
? ? ? ? ? ? ? application vod_http? {? ? ? ? ? ? playhttp://服務(wù)器的ip/vod;? ? ? ? }? ? ?
????????????? application hls? {? ? ? ? ? ? liveon;? ? ? ? ? ? hlson;? ? ? ? ? ? hls_path /tmp/hls;? ? ? ? }? ?
????}
}
/usr/local/nginx/sbin/nginx-sreload? ?#修改配置文件重啟nginx服務(wù)
端口放行需要有三個(gè)條件,1.云服務(wù)的安全組放行腕铸;2.防火墻iptables放行惜犀;3.服務(wù)本身放行
安全組
登錄云服務(wù)器控制臺(tái)進(jìn)行設(shè)置?
防火墻
iptables -I INPUT -p tcp -mstate--stateNEW --dport1935-j ACCEPT? ?#放行1935端口的 NEW狀態(tài)請(qǐng)求
service iptables save? ?#保存規(guī)則
service iptables restart? ?#重啟防火墻保證新的規(guī)則加載進(jìn)來
服務(wù)本身
由于nginx服務(wù)我們已經(jīng)配置過1935端口,所以是放行狀態(tài)的狠裹,我們可以在windows本地使用telnet 命令測(cè)試端口是否通
如果出現(xiàn)一下界面說明端口已經(jīng)通了?
OBS(Open Broadcaster Software) 是以互聯(lián)網(wǎng)流媒體直播內(nèi)容為目的免費(fèi)和開放源碼軟件虽界。需要下載這個(gè)軟件,借助這個(gè)軟件進(jìn)行推流(電腦沒有攝像頭的貌似安裝不了涛菠。莉御。。)
就長(zhǎng)這個(gè)樣子?
打開后我們需要有一個(gè)場(chǎng)景俗冻,并且在這個(gè)場(chǎng)景下有一個(gè)流的來源(可以是窗口礁叔,如果選的是視頻則會(huì)自動(dòng)識(shí)別攝像頭),接下來就是設(shè)置了
在配置中最需要關(guān)注的就是流的配置了迄薄,由于是自建的流媒體服務(wù)器所以我們照這樣配置
rtmp://你的服務(wù)器ip:端口(1935)/live#URL填寫流的地址
設(shè)置完成我們就可以 開始推流了
推薦一個(gè)拉流的測(cè)試地址琅关,里面針對(duì)各種協(xié)議都能測(cè)試拉流測(cè)試,需要注意圖中幾個(gè)地方噪奄,由于我們使用的rtmp協(xié)議死姚,我們選擇這一欄,底下填寫我們推流的地址和我們?cè)谏厦鎜bs的設(shè)置里面配置的流的名稱勤篮,start都毒, ok搞定!E龅蕖U司ⅰ!