前提:
为了不影响服务器的正常使用,我在本地搭建了一个nginx+rtmp服务器,用来直播推流测试。
打开咱们的终端,开始输入命令:
个人建议在开始之前,不管有没有安装过,先对其进行卸载操作:
执行命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
1、安装Homebrew
执行命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2、安装nginx
先把nginx项目放到本地:
执行命令:brew tap homebrew/nginx
进行安装:
执行命令:brew install nginx-full --with-rtmp-module
3、运行nginx
执行命令:nginx
然后在浏览器中输入:http://localhost:8080 点击回车,进行测试,如果出现下面页面,说明nginx已经安装成功:
4、配置nginx和rtmp
4.1、查看nginx安装位置
执行命令:brew info nginx-full
在终端里面会出现下面的信息:
Docroot is: /usr/local/var/www
The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that
nginx can run without sudo.
nginx will load all files in /usr/local/etc/nginx/servers/.
- Tips -
Run port 80:
$ sudo chown root:wheel /usr/local/Cellar/nginx-full/1.10.2/bin/nginx
$ sudo chmod u+s /usr/local/Cellar/nginx-full/1.10.2/bin/nginx
Reload config:
$ nginx -s reload
Reopen Logfile:
$ nginx -s reopen
Stop process:
$ nginx -s stop
Waiting on exit process
$ nginx -s quit
To have launchd start homebrew/nginx/nginx-full now and restart at login:
brew services start homebrew/nginx/nginx-full
Or, if you don't want/need a background service you can just run:
nginx
上面信息粗体+下划线部分,就是我们本地nginx.conf文件地址:“/usr/local/etc/nginx/nginx.conf”;
“/usr/local/Cellar/nginx-full/1.10.2/bin/nginx”为nginx完整路径;
4.2、执行以下命令打开nginx.conf配置文件来配置:
执行命令:vi /usr/local/etc/nginx/nginx.conf
终端界面最下面会有下面的内容(重要):
# 在http节点后面加上rtmp配置:
rtmp {
server {
listen 1935;
application rtmplive {
live on;
record off;
}}}
4.3、重启nginx
执行命令:/usr/local/Cellar/nginx-full/1.10.0/bin/nginx -s reload
5、安装ffmpeg
执行命令:brew install ffmpeg
安装这个需要一定的时间,在这个时候你可以下载一个支持RTMP播放的播放器,推荐使用VLC播放器,等终端安装完毕后,可以进行下面的一步;
6、ffmpeg推流
执行命令:ffmpeg -re -i /Users/jingmei/Desktop/_2jmmxID.mp4-vcodec libx264 -acodec aac -f flv rtmp://localhost:1935/rtmplive/room
注意:上面的“/Users/jingmei/Desktop/_2jmmxID.mp4”是我本地的视频;
“rtmp://localhost:1935/rtmplive/room”是要改变一下的,根据4.2下面的内容进行更换,如图显示:
如果终端提示服务器问题,请详细检查第六步,当终端中出现下面信息,说明已经推流成功:
到此,你所想推流的视频,已经在推流了,你把“rtmp://localhost:1935/rtmplive/room”放在VLC播放器中,即可以看到你所推送的视频。