iOS簡(jiǎn)單直播實(shí)現(xiàn)(一:創(chuàng)建本地rtmp服務(wù)器)Mac上搭建直播服務(wù)器Nginx+rtmp

簡(jiǎn)介

nginx是非常優(yōu)秀的開源服務(wù)器,用它來(lái)做hls或者rtmp流媒體服務(wù)器是非常不錯(cuò)的選擇,本人在網(wǎng)上整理了安裝流程,分享給大家并且作備忘。

步驟安裝

1、安裝Home-brew

Homebrew簡(jiǎn)稱brew,是Mac OSX上的軟件包管理工具,能在Mac中方便的安裝軟件或者卸載軟件,可以說(shuō)Homebrew就是mac下的apt-get、yum神器

/usr/bin/ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

如果已經(jīng)安裝過(guò),而想要卸載:

/usr/bin/ruby -e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

2、安裝Nginx服務(wù)器

增加對(duì)nginx的擴(kuò)展;也就是從github上下載,home-brew對(duì)ngixnx的擴(kuò)展

brew tap homebrew/nginx

3、安裝Nginx服務(wù)器和ramp模塊

brew install nginx-full --with-rtmp-module

這個(gè)安裝,耗時(shí)相對(duì)來(lái)說(shuō)比較長(zhǎng)。通過(guò)操作以上步驟nginx和rtmp模塊就安裝好了,下面開始來(lái)配置nginx的rtmp模塊。

首先來(lái)看看我們的nginx安裝在哪里

brew info nginx-full

執(zhí)行上面的命令后我們可以看到信息


執(zhí)行命令 ,測(cè)試下是否能成功啟動(dòng)nginx服務(wù)

nginx

注意:如果沒能出現(xiàn)下圖,則需要終端執(zhí)行:

? ? ? ? ? ? brew search nginx

? ? ? ? ? ? brew install nginx

前往 ?/usr/local/etc查看是否有nginx文件


命令行如下圖所示

在瀏覽器地址欄輸入:http://localhost:8080(直接點(diǎn)擊)

出現(xiàn)Welcome to nginx ,代表nginx安裝成功了。

4、配置rtmp

用Xcode打開nginx.conf, 找到/usr/local/etc/nginx/nginx.conf文件,拖入到Dock中的Xcode,就可以打開.

或者打開Finder Shift + command + G前往,用記事本工具打開nginx.conf.

http {

? ? ? ? ?……

? ? ? ? }

#在http節(jié)點(diǎn)下面(也就是文件的尾部)加上rtmp配置:

rtmp {

server {

? ? ? ? ? ? ?listen1935;

? ? ? ? ? ? ? ? ? ?application zbcs {

? ? ? ? ? ? ? ? ? ?live on;

? ? ? ? ? ? ? record off;

? ? ? ? ? ? ? ? ? ?}

? ? ? ? ? }

}

說(shuō)明:

rtmp是協(xié)議名稱

server 說(shuō)明內(nèi)部中是服務(wù)器相關(guān)配置

listen 監(jiān)聽的端口號(hào), rtmp協(xié)議的默認(rèn)端口號(hào)是1935

application 訪問(wèn)的應(yīng)用路徑是 zbcs

live on; 開啟實(shí)時(shí)

record off; 不記錄數(shù)據(jù)

5. 保存文件后,重新加載nginx的配置文件(這一步很重要)

nginx -s reload

6. 安裝ffmepg工具

brew install ffmpeg

安裝這個(gè)需要等一段時(shí)間, 這時(shí)你可以準(zhǔn)備一個(gè)視頻文件作為來(lái)推流,然后安裝一個(gè)支持rtmp協(xié)議的視頻播放器.Mac下可以用VLC(點(diǎn)擊下載)

7、通過(guò)ffmepg命令進(jìn)行推流

ffmpeg -re -i 你的視頻文件的絕對(duì)路徑(如/Users/lideshan/Downloads/Demo.mp4)? -vcodec copy -f flv rtmp://localhost:1935/zbcs/room

// 如:ffmpeg -re -i /Users/liweidong/Desktop/loginmovie.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/zbcs/room

這里zbcs是上面的配置文件中,配置的應(yīng)用的路徑名稱;后面的room可以隨便寫。

推流界面:

8. 驗(yàn)證視頻

然后電腦上打開vlc這個(gè)播放器軟件 點(diǎn)擊File---->Open Network 在彈出來(lái)的框中選擇Network然后輸入U(xiǎn)RL:

rtmp://localhost:1935/zbcs/room

雙擊播放

播放界面


報(bào)錯(cuò)處理

1.ffmepg命令推流的時(shí)候,提示連接失敗。[tcp @ 0x7ff162504b60] Connection to tcp://localhost:1935 failed (Connection refused), trying next address

出現(xiàn)這個(gè)錯(cuò),是因?yàn)榕渲昧薾ginx.conf后,需要重啟nginx。輸入命令重啟后就沒有問(wèn)題了

nginx -s reload

2.安裝完nginx后,在瀏覽器地址欄輸入:http://localhost:8080顯示打不開網(wǎng)頁(yè)

解決方式:由于安裝后nginx服務(wù)器,有時(shí)需要等上幾分鐘才生效。如果還不生效,測(cè)試下是否能成功啟動(dòng)nginx服務(wù),命令

nginx

具體請(qǐng)參考“步驟安裝”第三點(diǎn)。

另:當(dāng)前只支持rtmp拉流,如果想要支持HLS ,請(qǐng)參考下一篇文章:

http://www.cnblogs.com/jys509/p/5653720.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容