为了演示直播推流工程, 我们来自己快速架设一个简易的RTMP服务器,用OBS推流,并在播放器中播放,基于Nginx和rtmp模块。
步骤很简单:
- 安装Homebrew包管理器,以便安装Nginx。
- 配置服务器的rtmp端口和路径。
- 用OBS来推流,安装VLC播放器来播放rtmp串流。
详细步骤如下:
1.①如果你安装过cocoapods,就应该会安装好Homebrew,那就跳过此步。如果不确定是否已经安装,可以在终端用man homebrew命令来确定,如果回馈一堆使用说明,那就是安装好了。 否则请用以下命令安装:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
卸载Homebrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
②下载Homebrew上的Nginx项目到本地:
brew tap homebrew/nginx
③安装rtmp模块:
\(brew install nginx-full --with-rtmp-module\)
④启动Nginx服务器:
nginx (终端)
⑤验证启动(在浏览器中打开以下网址)
如果看到 Welcome to nginx字样,说明服务器启动成功了,成功了一半,oh,yeah!
注 第一个步骤内可能有权限不够,可以按照命令失败的提示修正一下。或者按照提示google 下都有答案
2.①显示nginx的的使用说明
brew info nginx-full
②修改 nginx.conf, 一般在
/usr/local/etc/nginx/nginx.conf
③配置rtmp:
用任意的文本编辑器打开
/usr/local/etc/nginx/nginx.conf
在文件的末尾加上以下并保存:
rtmp {
server {
listen 1935;
application rtmplive {
live on;
}
}
}
这是一个最小化配置的,在端口1935监听的rtmp服务,名叫rtmplive,启用了直播(live on)。
详见
④重启服务器使配置生效:
/usr/local/Cellar/nginx-full/1.10.2/bin/nginx -s reload
这其中的1.10.2是当前的nginx版本. 可以用以下命令查看当前的版本:
nginx -v
3.①安装OBS Mac版本,在 设置 > 串流 > 自定义流媒体服务器 > URL 中填入
rtmp://192.168.166.172:1935/rtmplive/
确定后退出设置。设置直播场景后,点击“开始串流”,这时OBS状态栏应该可以看到连接状态和推流速率。
②百度一下VLC,安装Mac版本。
③菜单File > Open Network… > 输入:
rtmp://192.168.166.172:1935/rtmplive/
把这里的192.168.166.172替换成你自己电脑对外的IP,也就是其他电脑可以访问的IP。
不仅OBS可以用来推流, iPhone/安卓机也可以利用这个自建服务器来推流了。
测试环境搭建
//2017-5-4 SRS 服务器搭建
下载
$ git clone https://github.com/ossrs/srs
$ cd srs/trunk
mac 下 和centos 下
编译
// 支持 hls,flv,rtmp转码,http-server,http-api
$ ./configure --with-ssl --with-http-api --with-hls --with-http-server --with-nginx --with-ffmpeg --with-transcode && make
配置:
我用的是2.0 版本
参考https://github.com/ossrs/srs/wiki/v2_CN_Home
在查看
启动 :
先编辑配置文件,按照每个的单独的配置文件集成到conf/srs.conf
从hls.conf 和http.live.flv.conf 上获取配置数据.
检查配置文件
./objs/srs -t -c conf/xx.conf
启动
./etc/init.d/srs start
查看当前服务端stream列表
http:xxx:9090/api/v1/streams/
{
"code": 0,
"server": 12323,
"streams": [
{
"id": 12325,
"name": "h5",
"vhost": 12324,
"app": "live",
"live_ms": 1482371950909,
"clients": 1,
"send_bytes": 12576,
"recv_bytes": 29070803,
"kbps": {
"recv_30s": 0,
"send_30s": 0
},
"publish": {
"active": true, // 表示是否在线
"cid": 166
},
"video": {
"codec": "H264",
"profile": "High(422)",
"level": "Other"
},
"audio": null
}
]
}
文章评论