使用OBS和MonaServer搭建本地直播服务

OBS之前已经说过,不知道的请看:使用OBS录制游戏视频
上次是使用OBS录制游戏视频,保存为文件,这只是OBS的功能之一,别忘了OBS的B可是“Broadcaster”的缩写,重点是直播!

废话不多说,想要直播,首先要满足以下前提条件:

  1. 上传带宽2M以上,由于国内宽带上下行不对等,这可能至少需要12M的宽带才行
  2. 有外网IP,这个怎么看呢?只需要百度“IP”,然后对比自己拨号分配来的IP,看是否相同,相同就是有外网IP。如果拨号返回的IP是“10.x.x.x”这样的,很不幸,这是内网IP
  3. 如果使用路由器,路由器需要支持端口映射或DMZ主机,当然也需要自己会设置

满足条件了吗?满足就继续往下看~

  1. 开始之前,你还需要另一个软件:MonaServer,这个软件用作服务器,来接收OBS的串流数据
  2. 解压上一步下载的MonaServer,直接双击运行“MonaServer.exe”,不需要任何设置即可
  3. 打开OBS,打开设定
  4. 切换到“编码”,根据自己的上传带宽调整最大比特率,通常设置为1000以上
  5. 切换到“广播设定”,模式选择“直播流”,串流服务选择“custom”,FMS URL填入“rtmp://127.0.0.1:1935”
  6. OBS保存设置,在主界面中添加需要的视频来源,编辑好场景,预览无误后,点击“开始串流”
  7. 等几秒,看到OBS主界面右下角变为绿色,同时显示“xx kb/s”(xx不为0),串流成功

这只是搭建好了串流服务器,怎么让别人看到直播呢?
有两种方法:

  1. 使用支持RTMP协议的播放器,如PotPlayer、MPC-HC、VLC等,直接打开链接“rtmp://<你的IP>:1935/”(最后的斜杠最好带上,某些播放器可能需要)
  2. 搭建一个HTTP网页服务,使用网页在线观看

第一种方法没技术含量,这里说说第二种方法。

MonaServer本身已经自带了HTTP服务,只需要把网页文件放入“www”目录下即可,可以随意找一个支持rtmp协议的网页播放器。
我用的是“video.js”,这是个开源的HTML5播放器。

video.js官网下载最新版,解压到MonaServer的www目录下。

修改demo.html:

<video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="1000" height="640" data-setup="{}">
    <source src="rtmp://127.0.0.1:1935/" type="rtmp/mp4" />
    <p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
</video>

即把video标签中多余的source全部删除,只写入一个rtmp地址。

浏览器访问“http://127.0.0.1/demo.html”,如果不出意外,就能正常看到直播了。

如果自己本地测试全部OK,但是别人无法打开,可能是运营商把部分端口封了,比如80端口肯定是封掉的,需要在端口映射时映射到其他端口,比如18080什么的。

You may also like...

2 Responses

  1. 傻狍子说道:

    video-js-7.3.0不支持rtmp格式媒体文件?

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

扫码去手机上看