使用Nginx搭載rtmp直播服務(wù)器的方法
這次我們搭建一個(gè)rtmp直播服務(wù)器,用于電腦或手機(jī)直播推流到服務(wù)器,然后其他終端如電腦或手機(jī)可以觀看直播的視頻畫面。 我們這里用電腦錄屏軟件將實(shí)時(shí)錄制的電腦屏幕畫面直播給其它人看??偣残枰?部分,第一,錄屏軟件錄制電腦屏幕,并傳遞畫面流到服務(wù)器; 第二,服務(wù)器rtmp搭建,應(yīng)能接收來自錄屏軟件上傳的畫面;第三,視頻播放器客戶端能連接到rtmp服務(wù)器,接收rtmp服務(wù)器推送的視頻流,從而可實(shí)時(shí)觀看第一部分錄屏軟件的實(shí)時(shí)畫面。這里最核心的就是第二部分,搭建rtmp服務(wù)器。
1. 下載nginx
nginx是一個(gè)服務(wù)器軟件,類似于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文件
cd nginx-rtmp-module-1.2.1打開文件夾,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í),可填寫一個(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命令重命名原來的nginx.conf,可以不用刪除原文件。
5. 啟動(dòng)nginx
cd nginx-1.15.3
打開nginx文件夾
/root/nginx-1.15.3/bin/sbin/nginx
啟動(dòng)nginx
6. 驗(yàn)證nginx rtmp流媒體是否部署成功
啟動(dòng)后,從瀏覽器里訪問122.112.220.253:8080。
如果打不開,
1. 在服務(wù)器上建立安全規(guī)則,開發(fā)入口規(guī)則,把1935,8080這兩個(gè)端口開啟,協(xié)議是TCP.
2. nginx-1.15.3/bin/conf下的nginx.conf里最頂部 修改用戶: 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,再次訪問122.112.220.253:8082,成功。

下次我們就用一個(gè)錄屏軟件錄制電腦屏幕,使用rtmp協(xié)議向服務(wù)器上推送電腦屏幕畫面,同時(shí)用播放器來播放服務(wù)器上的rtmp直播流。
到此這篇關(guān)于使用Nginx搭載rtmp直播服務(wù)器的文章就介紹到這了,更多相關(guān)rtmp直播服務(wù)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- nginx-rtmp-module模塊實(shí)現(xiàn)視頻點(diǎn)播的示例代碼
- Nginx安裝nginx-rtmp-module模塊的實(shí)現(xiàn)
- 通俗易懂講解nginx-rtmp-module
- nginx-rtmp-module構(gòu)建流媒體直播服務(wù)器實(shí)戰(zhàn)指南
- nginx臨時(shí)搭建rtmp服務(wù)器的方法實(shí)現(xiàn)
- nginx?搭建http-flv(rtmp)流媒體的方法步驟
- Nginx搭建RTMP流媒體服務(wù)器的實(shí)現(xiàn)
- nginx?rtmp模塊編譯?arm版本的問題
- Nginx搭建rtmp直播服務(wù)器實(shí)現(xiàn)代碼
- Nginx-rtmp實(shí)現(xiàn)直播媒體實(shí)時(shí)流效果
- Centos基于Nginx搭建RTMP服務(wù)器的實(shí)現(xiàn)
相關(guān)文章
Crontab+Shell做Nginx日志切割腳本實(shí)例代碼
本篇文章主要介紹了Crontab+Shell做Nginx日志切割腳本實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
修改Nginx源碼實(shí)現(xiàn)worker進(jìn)程隔離實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了修改Nginx源碼實(shí)現(xiàn)worker進(jìn)程隔離實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
詳解nginx實(shí)現(xiàn)https網(wǎng)站設(shè)置
這篇文章主要介紹了詳解nginx實(shí)現(xiàn)https網(wǎng)站設(shè)置,詳細(xì)的介紹了HTTPS簡(jiǎn)介和證書生成等,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06
解決httpd占用80端口導(dǎo)致Nginx啟動(dòng)失敗報(bào)錯(cuò)的解決辦法
今天在建自己小網(wǎng)站時(shí)啟動(dòng)Nginx時(shí),發(fā)現(xiàn)其報(bào)下列錯(cuò)誤,意思是因?yàn)?0端口被占用導(dǎo)致Nginx啟動(dòng)失敗,所以本文小編給大家介紹介紹如何解決解決httpd占用80端口導(dǎo)致Nginx啟動(dòng)不成功報(bào)nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)2023-11-11
nginx禁止直接通過ip進(jìn)行訪問并跳轉(zhuǎn)到自定義500頁面的操作
這篇文章主要介紹了nginx禁止直接通過ip進(jìn)行訪問并跳轉(zhuǎn)到自定義500頁面的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05
nginx中配置使用proxy?protocol協(xié)議的全過程
proxy protocol是一個(gè)Internet協(xié)議,通過為tcp添加一個(gè)很小的頭信息,來方便的傳遞客戶端信息,在網(wǎng)絡(luò)情況復(fù)雜又需要獲取用戶真實(shí)IP時(shí)非常有用,這篇文章主要給大家介紹了關(guān)于nginx中配置使用proxy?protocol協(xié)議的相關(guān)資料,需要的朋友可以參考下2022-04-04
nginx?反向代理負(fù)載均衡策略配置SSL訪問匹配規(guī)則優(yōu)先級(jí)
本文主要包含1.Nginx配置文件詳解2.Nginx實(shí)現(xiàn)負(fù)載均衡3.Nginx前端項(xiàng)目部署4.Nginx配置SSL訪問5.nginx匹配規(guī)則說明以及匹配的優(yōu)先級(jí)的內(nèi)容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06

