nginx搭建rtmp推流服务器很好的让我们理解和模拟推流,
- 首先打开终端,检查是否安装了brew包管理工具
键入终端命令$ brew
- 如果没有显示没有安装,则安装命令如下回车
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
等待一会如果安装成功会显示如下内容
使用brew安装nginx
- 执行命令将nginx下载到本地
$ brew tap homebrew/nginx
2.执行安装nginx命令 $ brew install nginx-full --with-rtmp-module
- 看到下面的输出则表示nginx安装成功了
2.接下查看安装的地址安装rtmp的模块,先键入命令查看.conf地址
$ brew info nginx-full
执行命令后可以看到如下信息
下面的是一些安装的信息,看一下就可以了不用在意
nginx安装所在位置
/usr/local/Cellar/nginx-full/
nginx配置文件所在位置
/usr/local/etc/nginx/nginx.conf
这个信息是有用的,表示.conf的地址,编辑添加rtmp的时候要用
nginx服务器根目录所在位置
/usr/local/var/www
执行命令 ,测试下是否能成功启动nginx服务
$ /usr/local/Cellar/nginx-full/1.10.2/bin/nginx
这里的版本号要和你安装的版本号保持一致
- 执行上面的命令后测试是否可以使用nginx是否能使用
- 在浏览器上输入 http://localhost:8080
2.如果现实欢迎界面则表示启动成功
现在我们来修改nginx.conf这个配置文件,配置rtmp
1. 打开finder >> 前往 >> 前往文件夹 >> 输入 /usr/local/etc/nginx/nginx.conf
使用xcode打开.conf文件
打开如下后显示如下
最后一个} 后添加rtmp模块
rtmp {
server {
listen 1935; //这个是默认的监听端口号
application rtmplive { //注意这个rtmplive可以自己任意写
live on;
record off;
}
}
}
添加后显示如下
保存修改的内容
终端执行命令重新启动nginx服务器
$ /usr/local/Cellar/nginx-full/1.10.2/bin/nginx -s reload
这里的1.10.2版本号,要和上面你安装的版本号保持一致
接下来安装ffmpeg
- 执行命令
$ brew install ffmpeg
安装ffmpeg需要的时间会长一点,可以现在mac上下载个VLC播放器,
等待安装成功后开始执行推流命令
$ ffmpeg -re -i /Users/qaingchen/Desktop/1.mp4 -vcodec copy -f flv rtmp://localhost:2016/rtmplive/room
!这里的/Users/qaingchen/Desktop/1.mp4是我在本地的一个视屏,需要在你本地有一个视屏替换这个绝对地址
能成功推流时可以看到如下输出
*推流的同时打开你的VLC点击NetWork输入
地址
rtmp://localhost:1935/rtmplive/room
!注意这里的1935 和rtmplive这两个值要和你刚才编辑.conf文件输入的值保持一致
点击打开*
这时可以看到推流的视屏
注意!要在推流的同时打开VLC播放,否则观看端可能由于推流时间较短时间久了推流完成变不能接受rtmp的视屏流
在你电脑关机后,nginx服务器也会关掉,下次重启的时候,需要重启nginx服务器更具安装时的命令提示如下:
*由以上信息得知重启的命令为
$ brew services start homebrew/nginx/nginx-full
*
不需要的时候没必要让nginx运行在后台,这是可以关闭,用的时候在打开就行
nginx暂停服务器命令
$ nginx -s stop
开启nginx服务器命令
$ brew services restart nginx-full
nginx 控制命令
$ 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