在研究iOS直播的时候,我们可以自己搭建一个本地的服务器做测试。网上已经有很多搭建nginx+rtmp
的教程,但是有一些命令已经被废弃,在搭建的时候也费了一些时间,所以将自己的安装过程记录下来,以便日后参考以及希望能给刚接触直播的朋友有所帮助。
1.安装Homebrew
nginx的安装需要用到Homebrew
,终端输入命令
man brew
如果之前安装过了,会显示一些帮助的命令信息,如果没有安装过,执行下面这句命令
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果显示如下,则说明安装成功
2.安装nginx
网上一些老的教程会输入 brew tap homebrew/nginx
,但是会报错
Error: homebrew/nginx was deprecated. This tap is now empty as all its formulae were migrated.
那是因为安装的路径问题可能发生了改变,需要输入以下命令
brew tap denji/homebrew-nginx
执行命令后我的电脑会出现如下图所示
然后执行如下命令
brew unlink nginx
brew install nginx-full --with-rtmp-module
如果直接执行 brew install nginx-full --with-rtmp-module
,我的电脑会出现如下图所示
需要一些时间,安装成功后输入命令
sudo nginx
网上一些教程直接输入nginx
时,我的电脑会出现没有权限的提示 nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
。
在执行完sudo nginx
命令后,在网页端输入http://你的电脑ip:80,回车,
出现欢迎的界面则说明nginx安装成功
3.配置rtmp
终端输入命令
brew info nginx
打开文件所在的位置
拖入到xcode,添加如下代码
rtmp {
server {
listen 1935;
application rtmplive {
live on;
record off;
}
}
}
至此,nginx+rtmp的服务就搭建完成了。
4.测试
这里可以用ffmpeg
或者LFLiveKit
,如果没有安装ffmpeg
,先执行命令
brew install ffmpeg
时间可能比较长,可以先安装一个支持rtmp协议的视频播放器VLC(安装的可以略过)
ffmpeg
安装好后,再执行命令
ffmpeg -re -i 需要推流的视频资源 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://你的电脑ip:1935/rtmplive/room
然后打开VLC,然后File->open network->输入rtmp://你的电脑ip:1935/rtmplive/room,就可以看到你的推送的视频资源啦。
如果是LFLiveKit
,只需要在stream.url替换成你自己的rtmp地址即可.