使用Nginx搭載rtmp直播服務(wù)器的方法
這次我們搭建一個(gè)rtmp直播服務(wù)器,用于電腦或手機(jī)直播推流到服務(wù)器,然后其他終端如電腦或手機(jī)可以觀(guān)看直播的視頻畫(huà)面。 我們這里用電腦錄屏軟件將實(shí)時(shí)錄制的電腦屏幕畫(huà)面直播給其它人看??偣残枰?部分,第一,錄屏軟件錄制電腦屏幕,并傳遞畫(huà)面流到服務(wù)器; 第二,服務(wù)器rtmp搭建,應(yīng)能接收來(lái)自錄屏軟件上傳的畫(huà)面;第三,視頻播放器客戶(hù)端能連接到rtmp服務(wù)器,接收rtmp服務(wù)器推送的視頻流,從而可實(shí)時(shí)觀(guān)看第一部分錄屏軟件的實(shí)時(shí)畫(huà)面。這里最核心的就是第二部分,搭建rtmp服務(wù)器。
1.下載nginx
nginx是一個(gè)服務(wù)器軟件,類(lèi)似于tomcat,用于發(fā)布服務(wù)器程序
(1)下載地址:在linux下執(zhí)行wget http://nginx.org/download/nginx-1.15.3.tar.gz命令,下載壓縮包。
(2)解壓,使用tar命令: tar xvf nginx-1.15.3.tar.gz
2.下載nginx rtmp模塊
wget https://codeload.github.com/arut/nginx-rtmp-module/tar.gz/v1.2.1 同樣解壓tar xvf v1.2.1
3. 編譯nginx
./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1
4. 修改nginx-rtmp-module中的conf文件
cdnginx-rtmp-module-1.2.1打開(kāi)文件夾,cd test文件夾,修改nginx.conf文件的內(nèi)容為:
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
application myapp {
live on;
#record keyframes;
#record_path /tmp;
#record_max_size 128K;
#record_interval 30s;
#record_suffix .this.is.flv;
#on_publish http://localhost:8080/publish;
#on_play http://localhost:8080/play;
#on_record_done http://localhost:8080/record_done;
}
}
}
http {
server {
listen 8080;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /path/to/nginx-rtmp-module/;
}
location /control {
rtmp_control all;
}
#location /publish {
# return 201;
#}
#location /play {
# return 202;
#}
#location /record_done {
# return 203;
#}
location /rtmp-publisher {
root /path/to/nginx-rtmp-module/test;
}
location / {
root /path/to/nginx-rtmp-module/test/www;
}
}
}
到時(shí)候推流地址就是 rtmp://IP:PORT/myapp/{abc},其中{abc}中的abc是可選的,一般是一個(gè)推流密碼,往服務(wù)器推送或接收視頻流時(shí),可填寫(xiě)一個(gè)密碼,如abc。rtmp默認(rèn)服務(wù)器端口是1935,如果這個(gè)端口被占用,可以殺死占用這個(gè)端口的進(jìn)程,使用如下命令:
kill -9 pid (其中pid是進(jìn)程id)。
然后用這個(gè)conf 替換 nginx-1.15.3/bin/conf下的nginx.conf ,
使用mv nginx.conf nginx.conf.bak命令重命名原來(lái)的nginx.conf,可以不用刪除原文件。
5. 啟動(dòng)nginx
cd nginx-1.15.3
打開(kāi)nginx文件夾
/root/nginx-1.15.3/bin/sbin/nginx
啟動(dòng)nginx
6. 驗(yàn)證nginx rtmp流媒體是否部署成功
啟動(dòng)后,從瀏覽器里訪(fǎng)問(wèn)122.112.220.253:8080。
如果打不開(kāi),
1. 在服務(wù)器上建立安全規(guī)則,開(kāi)發(fā)入口規(guī)則,把1935,8080這兩個(gè)端口開(kāi)啟,協(xié)議是TCP.
2. nginx-1.15.3/bin/conf下的nginx.conf里最頂部 修改用戶(hù): user root;
此時(shí),nginx.conf的內(nèi)容如下:
user root;
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
application myapp {
live on;
drop_idle_publisher 5s;
}
}
}
http {
server {
listen 8082;
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /root/nginx-rtmp-module-1.2.1/;
}
location /control {
rtmp_control all;
}
location /rtmp-publisher {
root /root/nginx-rtmp-module-1.2.1/test;
}
location / {
root /root/nginx-rtmp-module-1.2.1/test/www;
}
}
}
3. 重啟nginx,再次訪(fǎng)問(wèn)122.112.220.253:8082,成功。

下次我們就用一個(gè)錄屏軟件錄制電腦屏幕,使用rtmp協(xié)議向服務(wù)器上推送電腦屏幕畫(huà)面,同時(shí)用播放器來(lái)播放服務(wù)器上的rtmp直播流。
到此這篇關(guān)于使用Nginx搭載rtmp直播服務(wù)器的文章就介紹到這了,更多相關(guān)rtmp直播服務(wù)器內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信