macos nginx rtmp
从github下载home-brew对nginx的扩展:
安装 Nginx服务器 和 RTMP模块:brew tap denji/nginx brew install nginx-full --with-rtmp-module
#nginx的安装位置
/usr/local/Cellar/nginx-full/1.12.2/bin/nginx //这里1.12.2是相应的版本,根据实际情况在变动
#nginx配置文件所在位置
/usr/local/etc/nginx/nginx.conf
#nginx服务器根目录所在位置
/usr/local/var/www
#brew 卸载软件
brew uninstall nginx
#查看安装信息(经常用到, 比如查看安装目录等):
brew info nginx
#查看已经安装的软件:
brew list
4.安装信息,附带启动信息:
==> 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/opt/nginx-full/bin/nginx
$ sudo chmod u+s /usr/local/opt/nginx-full/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 denji/nginx/nginx-full now and restart at login:
brew services start denji/nginx/nginx-full
Or, if you don't want/need a background service you can just run:
nginx
- 配置RTMP服务:
我们需要在Nginx的配置文件中进行数据修改
打开 open /usr/local/etc/nginx/nginx.conf
,在http节点下面(即文件尾部)加上rtmp配置。
打开路径下的nginx文件夹,然后找到nginx.conf这个文件,右键用Xcode打开。在底部添加代码
rtmp { //协议名称
server { //说明内部中是服务器相关配置
listen 1935; //监听的端口号, rtmp协议的默认端口号是1935
application zbcs { //访问的应用路径是 zbcs
live on; //开启实时
record off; //不记录数据
}
}
}
如果在HTTP节点下面这些代码,那么就将listen后面的数字改成1935,application后面改成zbcs。
关闭文件,执行下面命令!!!!!
关闭文件,执行下面命令!!!!!
关闭文件,执行下面命令!!!!!
nginx -s reload //这一步必须执行,重启Nginx
#配置rtmp server
rtmp {
server {
listen 1935;
chunk_size 4000;
#配置了一个叫live的应用
application live {
live on; #保持开启
record off; #停止录制
allow play all; #允许所有请求
}
}
}
检测rtmp服务有没有启动:
netstat -an |grep 1935
tcp4 0 0 *.1935 *.* LISTEN
先clone nginx项目到本地:
brew tap homebrew/nginx
执行安装
brew install nginx-full --with-rtmp-module
以上步骤nginx和rtmp模块就安装好了,下面开始来配置nginx的rtmp模块
首先找到nginx安装位置
brew info nginx-full
执行上面的命令后我们可以看到终端信息
nginx安装.png
nginx安装所在位置
/usr/local/Cellar/nginx-full/1.10.2/bin/nginx
nginx配置文件所在位置
/usr/local/etc/nginx/nginx.conf
三、启动nginx服务
nginx
信息如下:
nginx.png
在浏览器里打开http://localhost:8080
如果出现下图, 则表示安装成功
test.png
如果终端上提示
tips.png
则表示8080端口被占用了, 查看端口PID
lsof -i tcp:8080
根据端口PID, kill掉9603换成自己8080端口的PID
kill 9603
然后重新执行nginx, 打开http://localhost:8080
四、配置ramp
首先我们查看nginx安装到哪了
brew info nginx-full
如图找到nginx.conf配置文件所在位置
location.png
打开Finder Shift + command + G前往,用记事本工具打开nginx.conf
在http节点后面加上rtmp配置:
config.png
然后重启配置文件
nginx -s reload
五、安装ffmepg工具
brew install ffmpeg
安装ffmpeg时间就要长一点了. 如果速度过慢, 可以尝试翻墙。等待的过程中, 再安装一个支持rtmp协议的视频播放器VLC
VLC.png
终端显示如下信息表示ffmepg安装成功
ffmpeg.png
六、ffmpeg推流
这里操作的是mac桌面的一个test.mp4视频为例, 执行推流命令
ffmpeg -re -i /Users/maying/Desktop/test.mp4 -vcodec copy -f flv rtmp://localhost:1935/rtmplive/room
ps:
ffmpeg -re -i 你的视频文件的绝对路径 -vcodec copy -f flv rtmp://localhost:1935/rtmplive/room
推流终端信息如下
推流.png
推流tip.png
推流tip2.png
将视频推流到服务器后,打开VLC,然后File->open network->输入:
rtmp://localhost:1935/rtmplive/room
video.png
就可以查看视频了。
video.png
ps:
终端错误信息处理:
error.png
1.上面这个是修改配置文件后需要重新加载nginx -s reload;
2.输入命令行的时候需要注意,可能会出错。