最近在研究关于直播方面的技术,中间遇到很多坑,在此记录一下,以免再次跳坑
1.安装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)"
2.安装nginx
①clone nginx到本地,执行
brew tap denji/homebrew-nginx
②安装nginx,执行
brew install nginx-full --with-rtmp-module
此时, nginx和rtmp模块就安装好了
③启动nginx,执行
nginx
在浏览器里打开http://localhost:8080
如果出现下图, 则表示安装成功
3.配置nginx和rtmp
首先我们查看nginx
安装到哪了,执行
brew info nginx-full
如图, 找到nginx.conf
文件所在位置
复制这个地址,点击Finder
->前往
->前往文件夹
->输入/usr/local/etc/nginx/nginx.conf
->用记事本工具(推荐Sublime Text
)打开nginx.conf
. 在http节点下面添加下面代码(rtmp与http的{}是同级的):
# 在http节点后面加上rtmp配置:
rtmp {
server {
listen 1935;
application rtmplive {
live on;
record off;
}
}
}
然后重启nginx,执行
/usr/local/Cellar/nginx-full/1.15.4/bin/nginx -s reload
(其中的1.15.4要换成你自己安装的nginx
版本号, 查看版本号用nginx -v
命令即可)
4.安装ffmpeg
终端执行(可能需要等待一段时间)
brew install ffmpeg
5.安装一个支持rtmp协议的视频播放器VLC
自己去网上下载安装一个就行
6.
推流
准备一个视频文件例如:testvideo.map4 放在桌面,执行(username 换成你电脑设备的名字)
ffmpeg -re -i /Users/username/Desktop/testvido.mp4 -vcodec libx264 -acodec aac -strict -2 -f flv rtmp://localhost:1935/rtmplive/room
将视频推流到服务器后,打开VLC,然后File->open network->输入:
rtmp://localhost:1935/rtmplive/room
稍等片刻就可以在VLC上看到你推到服务器上的视频了
其间参考了不少资料,但发现都是大同小异,可能都是出自同一个地方
参考资料:https://www.jianshu.com/p/8ea016b2720e,http://www.tuicool.com/articles/muya6rz