Environment
本次打在的 Nginx-RTMP 流媒体服务器,是在 Win10 下虚拟机安装配置的。因为网上大多数分享都是 ubuntu 的,而这里主要是用了 centos,主要是 Lib 的下载有细小的差别。
Linux 系统: Linux-CentOS 7 x64
Stage 1
安装编译 nginx 需要的所有库
|
|
Stage 2
|
|
- 安装 nginx
|
|
- 检查 nginx 是否安装成功
|
|
Stage 3
- 修改nginx配置文件:
|
|
- 添加配置:
|
|
- 重启 nginx
|
|
- 检查 nginx 是否运行成功
|
|
到此 nginx-rtmp 服务器基本搭建完成,接下来是测试推流,测试刚刚搭建这个服务器
推流测试篇
这里还没有代码实现,所以暂时用工具替代来帮助我们测试
这里用的是 OBS 推流
- obs 基本设置如下,可以选用 “显示器内容” 进行串流测试,主要要配置的是 “串流服务” 的 ++”FMS URL”++
- Note
此处如果跟我一样是用 Linux 虚拟器跑的,应该先获取到虚拟机的 ip 地址,linux 下的 ip 获取命令为:
1 ip addr
- 具体获取方式网上有很多分析这里不再赘述,而我们测试地址和 nginx 是否可用的方式则是在本地PC直接使用 虚拟机 ip+端口号访问 nginx 首页,如访问成功,则证明 ip 和 nginx 都是正确可用的,此时可以直接配置到 FMS URL 中,开始串流测试
|
|
- 上述都正常配置,点击 “开始串流”,如一切正常,可在右下角看到当前传输的网络速度,此时可以点击 “开始录制” 进行直播录制,在对应存储文件下可以找到 .flv 格式的文件生成。
异常记录:
- “Connect timeout”:nginx 没有正常开启,或 本机/虚拟机的防火墙没有打开(网上有很多详细介绍),或 FMS URL 中的 ip 地址、端口不对
- “RTMPSockBuf_Fill, remote host closed connection”:地址和端口都对了,但是 URL 的文件位置不对,没做过测试,但是感觉应该是路径上的文件必须是已经存在的文件夹;即:
|
|
除非 test 文件夹存在 (猜的,太懒不做测试了–!)
更新
因为测试拉流时使用 obs 总是没有很好地测试到结果,所以又找了一个新的测试工具,是在线网页版本的,亲测感觉很好
注:Stream 不填,如下