macOS 搭建 RTMP 直播服务器
原文链接 http://chaosky.me/2016/07/23/macOS-setup-rtmp-server/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
直播开发流程:
数据采集→ 数据编码 → 数据传输(流媒体服务器) → 解码数据 → 播放显示
本文主要介绍如何搭建RTMP直播服务器以及测试流媒体服务器是否搭建成功。
<!-- more -->
RTMP直播服务器搭建
- 安装Homebrew
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Homebrew添加nginx套件
$ brew tap homebrew/nginx
- 安装 nginx 和 rtmp 模块
$ brew install nginx-full --with-rtmp-module
- 查看 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.1/bin/nginx
$ sudo chmod u+s /usr/local/Cellar/nginx-full/1.10.1/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 安装位置:/usr/local/Cellar/nginx-full/1.10.1
nginx 配置文件位置:/usr/local/etc/nginx/nginx.conf
nginx服务器根目录位置:`/usr/local/var/www`
- 测试是否能成功启动nginx服务
$ nginx
在浏览器地址栏输入:http://localhost:8080,出现 Welcome to nginx! 表示nginx安装成功了!
- 修改
nginx.conf
配置文件,配置rtmp
在http
节点后面添加rtmp配置
http {
……
}
rtmp {
server {
listen 1935;
application mytv {
live on;
record off;
}
}
}
- 重新加载nginx的配置文件
$ nginx -s reload
现在我们可以来对推流进行测试了,看看我们的rtmp能不能推流成功。
测试服务器
推流
推流可以使用OBS软件和FFmpeg工具。
OBS
软件下载地址:https://obsproject.com
软件设置如图:
ffmpeg
安装ffmpeg
$ brew install ffmpeg
使用ffmpeg命令推流桌面
$ ffmpeg -f avfoundation -i "1:0" -vcodec libx264 -preset ultrafast -acodec aac -f flv rtmp://localhost:1935/mytv/room1
以上命令中"1:0"
可以通过查看ffmpeg是否支持对应的设备
$ ffmpeg -f avfoundation -list_devices true -i ""
...
...
[AVFoundation input device @ 0x7fd3a9500b40] AVFoundation video devices:
[AVFoundation input device @ 0x7fd3a9500b40] [0] FaceTime HD Camera
[AVFoundation input device @ 0x7fd3a9500b40] [1] Capture screen 0
[AVFoundation input device @ 0x7fd3a9500b40] AVFoundation audio devices:
[AVFoundation input device @ 0x7fd3a9500b40] [0] Built-in Microphone
拉流
测试拉流可以使用VLC软件
软件下载地址:http://www.videolan.org/vlc/index.html
选择File -> Open Network...