写在前面
啊这,折腾这个的原因是因为有很多手机的直播平台不提供rtmp地址,这意味着基本和obs等工具告别了。我的思路是把电脑的屏幕投到手机上,这很简单,但是这仍然和obs沾不到边,直到我看见一个obs的插件——虚拟摄像头(OBSVirtualCam),把OBS输出源作为一个摄像头,手机上看电脑上的摄像头就可以了(我用的向日葵),但是这个方法延迟极其感人,码率。。。。基本没有。这个方法废弃。
明确一下目标:我希望obs推流的画面和声音能在手机上显示,且延迟不能太高,这就有了局域网推流的方案。
1.NGINX部分
配置rtmp
首先需要带有rtmp模块的Nginx分支,链接附上↓
如果你的环境稍复杂,且已经有一个在使用的nginx实例,那可以自行添加rtmp模块,这里推荐十三月大佬的文章↓
本文在windows环境下操作.
安装好nginx后,打开配置文件,这里为**/conf/nginx-win.conf**,我们需要修改两处地方:
1.在第18行后添加:
1 | rtmp { |
其中listen 1935为rtmp监听的端口,可自定义。
2.在第76行”server_name”后添加:
1 | location /stat { |
启动nginx
在目录里使用:
1 | nginx.exe -c conf/nginx-win.conf |
来启动nginx并指定配置文件.
为了方便在桌面上就能打开nginx,可以写个批处理,这里是例子:
1 | chcp 65001 |
至此,nginx部分告一段落。
2.OBS部分
进obs设置→推流(stream)
如图:
其中,服务器的写法为
1 | rtmp://本机ip:上文设置监听的端口/live |
(写127.0.0.1也没啥毛病),密钥自定义。
保存之后就可以点击OBS的推流了。
3.拉流部分(VLC)
流推好了,我们需要一个接收端,这里推荐VLC。
VLC支持绝大部分平台,这里以windows为例。
这里rmtp的接收地址写法:
1 | rtmp://推流的PC地址:上文设置的监听端口/live/上文自定义的密钥 |
效果图
参考文献
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XenWayne's Blog!
评论