直播推流服務(wù)器端搭建

環(huán)境準(zhǔn)備

  • 下載Nginx wget http://nginx.org/download/nginx-1.16.0.tar.gz

  • 解壓Nginx tar -zxvf nginx-1.16.0.tar.gz

  • 下載Nginx RTMP模塊 wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.tar.gz

  • 解壓Nginx RTMP模塊 tar -zxvf v1.2.1.tar.gz

編譯安裝

  • ./configure --help > nginx_configure_help.txt 將help輸出text方便查看

  • 進(jìn)入Nginx解壓目錄,边琉,執(zhí)行configure:./configure --prefix=./bin --add-module=../nginx-rtmp-module-1.2.1

nginx 中 gzip 模塊需要 zlib 庫,rewrite模塊需要 pcre 庫记劝,ssl 功能需要 openssl 庫变姨。所以如果服務(wù)器未安裝這三個依賴庫的話會報錯,需要先安裝這三個依賴庫

  • 執(zhí)行完生成 Makefile 文件

  • 編譯:make install

  • 編譯完生成bin目錄

$ ls
auto  bin  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src
$ cd bin/
$ ls
conf  html  logs  sbin

conf:配置相關(guān)
html:歡迎頁面厌丑、錯誤頁面
logs:日志存放區(qū)
sbin:可執(zhí)行文件存放區(qū)

修改配置

Nginx默認(rèn)不支持rtmp定欧,需要修改配置文件。

如何修改怒竿,可以參考:nginx-rtmp-module-1.2.1/test/nginx.conf

進(jìn)入bin/conf目錄忧额,找到 nginx.conf 文件。

worker_processes  1;
error_log  logs/error.log debug;
events {
    worker_connections  1024;
}
#rtmp標(biāo)簽
rtmp {
    #服務(wù)標(biāo)簽愧口,一個rtmp服務(wù)中可以有多個server標(biāo)簽睦番,每個標(biāo)簽可監(jiān)聽不同端口號
    server {
        #注意端口占用,1935為默認(rèn)端口
        listen 1935;
        #應(yīng)用標(biāo)簽耍属,一個服務(wù)標(biāo)簽中可以有多個應(yīng)用標(biāo)簽
        application myapp {
            live on;
            #丟棄閑置5s的連接
            drop_idle_publisher 5s;
        }
    }
}
http {
    server {
        #注意端口占用
        listen      8080;
        #數(shù)據(jù)統(tǒng)計模塊托嚣,將流媒體的狀態(tài)記錄到 stat.xsl 中
        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }
        #將stat.xsl 訪問目錄指定到nginx-rtmp-module中
        location /stat.xsl {
        #注意目錄
            root /root/he/nginx-rtmp-module-1.2.1/;
        }
        #控制器模塊,可錄制直播視頻厚骗、踢出推流/拉流用戶示启、重定向推流/拉流用戶
        location /control {
            rtmp_control all;
        }
        location /rtmp-publisher {
            #注意目錄
            root /root/he/nginx-rtmp-module-1.2.1/test;
        }
        location / {
            #注意目錄
            root /root/he/nginx-rtmp-module-1.2.1/test/www;
        }
    }
}

啟動服務(wù)

進(jìn)入sbin目錄嘗試執(zhí)行nginx:

$ cd sbin/
$ ./nginx -t
nginx: [alert] could not open error log file: open() "./bin/logs/error.log" failed (2: No such file or directory)

-t 表示測試。

仔細(xì)看錯誤說明领舰,"./bin/logs/error.log" 文件找不到夫嗓?也就是當(dāng)前目錄下找不到 bin/logs/error.log。我們執(zhí)行的當(dāng)前目錄是sbin冲秽,里面只有可執(zhí)行文件nginx舍咖,當(dāng)然找不到了。所以需要到nginx根目錄下執(zhí)行锉桑。

$cd ../../
$ ./bin/sbin/nginx -t
nginx: the configuration file ./bin/conf/nginx.conf syntax is ok
nginx: configuration file ./bin/conf/nginx.conf test is successful

測試通過排霉,可以正式執(zhí)行,啟動服務(wù)了民轴。

$ ./bin/sbin/nginx 

查看nginx服務(wù)進(jìn)程攻柠。

$ ps aux | grep nginx
root      7245  0.0  0.2  53368  5320 ?        Ss   15:47   0:00 nginx: master process ./bin/sbin/nginx
nobody    7246  0.0  0.3  53768  6076 ?        S    15:47   0:00 nginx: worker process
root      7263  0.0  0.0 112708   984 pts/4    R+   15:50   0:00 grep --color=auto nginx

服務(wù)啟動成功球订。

測試服務(wù)

在windows瀏覽器中通過http來訪問:http://xxx.xxx.xxx.xxx:8080/

報錯:403 Forbidden
其實前面我們查看nginx進(jìn)程的時候,可以發(fā)現(xiàn)master process和worker process的用戶不一致瑰钮,一個是root而另一個是nobody

重新修改nginx.conf文件冒滩,添加root用戶。

#設(shè)置為root用戶
user root;
worker_processes  1;
error_log  logs/error.log debug;
...

配置文件更改了浪谴,需要重新加載配置文件旦部。

./bin/sbin/nginx -s reload

刷新瀏覽器就正常了。

停止服務(wù)

1较店,從容停止服務(wù)
這種方法較stop相比就比較溫和一些了士八,需要進(jìn)程完成當(dāng)前工作后再停止。
./bin/sbin/nginx -s quit
2梁呈,立即停止服務(wù)
這種方法比較強(qiáng)硬婚度,無論進(jìn)程是否在工作,都直接停止進(jìn)程官卡。
./bin/sbin/nginx -s stop
3蝗茁,殺死進(jìn)程
pkill -9 nginx

直播推流測試

推流可以使用EV錄頻。

設(shè)置串流地址:rtmp://xxx.xxx.xxx.xxx/myapp/

播放可以使用EV播放器寻咒。

播放網(wǎng)絡(luò)流地址:rtmp://xxx.xxx.xxx.xxx/myapp/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哮翘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子毛秘,更是在濱河造成了極大的恐慌饭寺,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叫挟,死亡現(xiàn)場離奇詭異艰匙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)抹恳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門员凝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人奋献,你說我怎么就攤上這事健霹。” “怎么了瓶蚂?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵糖埋,是天一觀的道長。 經(jīng)常有香客問我扬跋,道長阶捆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任钦听,我火速辦了婚禮洒试,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘朴上。我一直安慰自己垒棋,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布痪宰。 她就那樣靜靜地躺著叼架,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衣撬。 梳的紋絲不亂的頭發(fā)上乖订,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天,我揣著相機(jī)與錄音具练,去河邊找鬼乍构。 笑死,一個胖子當(dāng)著我的面吹牛扛点,可吹牛的內(nèi)容都是我干的哥遮。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼陵究,長吁一口氣:“原來是場噩夢啊……” “哼眠饮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起铜邮,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤仪召,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后松蒜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體返咱,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年牍鞠,在試婚紗的時候發(fā)現(xiàn)自己被綠了咖摹。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡难述,死狀恐怖萤晴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胁后,我是刑警寧澤店读,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站攀芯,受9級特大地震影響屯断,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一殖演、第九天 我趴在偏房一處隱蔽的房頂上張望氧秘。 院中可真熱鬧,春花似錦趴久、人聲如沸丸相。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽灭忠。三九已至,卻和暖如春座硕,著一層夾襖步出監(jiān)牢的瞬間弛作,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工华匾, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留映琳,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓瘦真,卻偏偏與公主長得像刊头,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子诸尽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容