最近在看直播方面的博客和资料,想记录一下这几天的过程,方便以后查阅
一、安装Homebrew
打开终端, 查看是否已经安装了Homebrew, 直接终端输入命令
man brew
如果Mac已经安装了, 会显示一些命令的帮助信息. 此时输入Q退出即可, 直接进入第二步
反之, 如果没有安装,执行命令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果已经安装过,而想要卸载:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
通过brew -h,我们看看brew的常用指令:
brew search 搜索;
brew install 安装;
brew remove 卸载;
brew info 查看;
二、安装Nginx
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。
先glone nginx项目到本地:
brew tap denji/homebrew-nginx
执行安装:
brew install nginx-full --with-rtmp-module
注意后面的 --with-rtmp-module 不要遗漏,有些文章上只是 brewinstallnginx-full ,并没有安装rtmp模块
最后用brew info看看是否安装成功和nginx的相关信息
brew info nginx-full
/usr/local/etc/nginx/nginx.conf (配置文件路径)
/usr/local/var/www (服务器默认路径)
/usr/local/Cellar/ (安装路径)
open -t /usr/local/etc/nginx/nginx.conf 可以用文本编辑器打开配置文件
nginx -s reload 重新加载配置
nginx -s reopen 重新打开log
nginx -s stop 停止nginx
nginx -s quit 退出nginx
通过操作以上步骤,nginx和rtmp模块就安装好了
接着启动Nginx,在终端输入:
nginx
打开Safari输入http://localhost:8080,如果安装成功,会显示welcome to nginx!
三、配置Nginx
1、支持http协议推流
在终端输入
open -t /usr/local/etc/nginx/nginx.conf
在http{xxx}体下面插入rtmp配置信息
rtmp {
server {
listen 1935;
application rtmplive {
live on;
max_connections 1024;
}
application hls {
live on;
hls on;
hls_path /usr/local/var/www/hls;
hls_fragment 1s;
}
}
}
2、支持rtmp协议拉流
在终端输入
open -t /usr/local/etc/nginx/nginx.conf
找到图中位置,在locatin /{xxx}下插入配置信息
location /hls {
#Serve HLS config
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /usr/local/var/www;
add_header Cache-Control no-cache;
}
3、重启Nginx
在终端输入
nginx -s reload
重启Nginx
如果在修改配置文件,重启遇到
[error] open() "/usr/local/var/run/nginx.pid" failed
可以用下面的命令重新加载配置
nginx -c /usr/local/etc/nginx/nginx.conf
四、安装FFmpeg
如果使用mac推流,则可以使用FFmpeg
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序
在终端输入:
brew install ffmpeg
等待安装完成后,输入:
brew info ffmpeg
查看是否安装成功
输入:
ffmpeg -re -iabc.mp4-vcodec copy -acodec copy -f flv rtmp://localhost:1935/hls/xxx(自己命名)
就可以推流了
五、最后的最后
现在就可以使用Mac当做RTMP服务器实现直播了