在研究iOS直播的時(shí)候,我們可以自己搭建一個(gè)本地的服務(wù)器做測(cè)試。網(wǎng)上已經(jīng)有很多搭建nginx+rtmp的教程,但是有一些命令已經(jīng)被廢棄,在搭建的時(shí)候也費(fèi)了一些時(shí)間,所以將自己的安裝過(guò)程記錄下來(lái),以便日后參考以及希望能給剛接觸直播的朋友有所幫助。
1.安裝Homebrew
nginx的安裝需要用到Homebrew,終端輸入命令
man brew
如果之前安裝過(guò)了,會(huì)顯示一些幫助的命令信息,如果沒(méi)有安裝過(guò),執(zhí)行下面這句命令
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果顯示如下,則說(shuō)明安裝成功

2.安裝nginx
網(wǎng)上一些老的教程會(huì)輸入 brew tap homebrew/nginx,但是會(huì)報(bào)錯(cuò)
Error: homebrew/nginx was deprecated. This tap is now empty as all its formulae were migrated. 那是因?yàn)榘惭b的路徑問(wèn)題可能發(fā)生了改變,需要輸入以下命令
brew tap denji/homebrew-nginx
執(zhí)行命令后我的電腦會(huì)出現(xiàn)如下圖所示

然后執(zhí)行如下命令
brew unlink nginx
brew install nginx-full --with-rtmp-module
如果直接執(zhí)行 brew install nginx-full --with-rtmp-module ,我的電腦會(huì)出現(xiàn)如下圖所示

需要一些時(shí)間,安裝成功后輸入命令
sudo nginx
網(wǎng)上一些教程直接輸入nginx時(shí),我的電腦會(huì)出現(xiàn)沒(méi)有權(quán)限的提示 nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)。
在執(zhí)行完sudo nginx命令后,在網(wǎng)頁(yè)端輸入http://你的電腦ip:80,回車(chē),
出現(xiàn)歡迎的界面則說(shuō)明nginx安裝成功

3.配置rtmp
終端輸入命令
brew info nginx
打開(kāi)文件所在的位置

拖入到xcode,添加如下代碼
rtmp {
server {
listen 1935;
application rtmplive {
live on;
record off;
}
}
}
至此,nginx+rtmp的服務(wù)就搭建完成了。
4.測(cè)試
這里可以用ffmpeg或者LFLiveKit,如果沒(méi)有安裝ffmpeg,先執(zhí)行命令
brew install ffmpeg
時(shí)間可能比較長(zhǎng),可以先安裝一個(gè)支持rtmp協(xié)議的視頻播放器VLC(安裝的可以略過(guò))
ffmpeg安裝好后,再執(zhí)行命令
ffmpeg -re -i 需要推流的視頻資源 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://你的電腦ip:1935/rtmplive/room
然后打開(kāi)VLC,然后File->open network->輸入rtmp://你的電腦ip:1935/rtmplive/room,就可以看到你的推送的視頻資源啦。
如果是LFLiveKit,只需要在stream.url替換成你自己的rtmp地址即可.