泽兴芝士网

一站式 IT 编程学习资源平台

OBS进阶:使用WebRTC推流直播(obs推流技术)

上一篇我们介绍了WebRTC的补充协议WHIP与WHEP,本篇介绍一下如何在OBS在通过WebRTC进行直播推流。环境要求:

准备工作

  • OBS Studio版本:大于等于30.0版本(不要使用 v30.1.x 版本,此版本会导致画面花屏)。
  • 操作系统:Windows/MacOS/Linux(带桌面环境)均可。
  • 向视频服务商申请WebRTC推流地址 或 自建WebRTC服务器。

在进行WebRTC推流之前,我们先了解一下视频编码要求,截止目前,流行的视频编码器有

  • H.264:目前阶段兼容性最好,流行度最高,几乎所有用户端均可直接播放,不用安装额外插件。
  • AV1:与 H.264 相比压缩率提高40%左右,同画质下可以节省40%的带宽和存储成本,大部分现代浏览器可直接播放。若选择此编码器,则需要OBS v30.2 或更高版本。
  • HEVC:较新格式的编码器,比 H.264 压缩率更高,但目前各用户端的系统支持性较差,需额外安装解码器,也需要视频服务端的支持。若选择此编码器,则需要OBS v30.2 或更高版本。

为了兼容性考虑,我们优先选择H.264作为视频编码器。对于音频编码器,我们选择Opus即可。

OBS推流设置

打开OBS设置界面,在左侧选择”直播“标签,在右侧的服务中选择“WHIP”,然后在服务器一栏填入您申请的WebRTC推流地址 或 自建的WebRTC推流地址。

如果OBS监测到编码码不适用,会弹窗提示,如下图所示:

在设置界面的“输出”画面中,找到“直播”区域,可以更为详细的设置直播参数。

我们某平台为例,申请一个WebRTC推流地址,并将它正确的填写到OBS设置中。下图是申请后的直播推流地址,红框是WebRTC的推流地址:

由于不同的平台有差异化地址要求,因此在填写推流地址之前要阅读您申请的视频平台地址填写要求。我使用的这个平台要求先填http地址,再填WebRTC地址,如下所示:

填写完成后,点击确定,即可在OBS中推流直播了。

其它配置说明

上面我们使用的H.264编码器配置,这一节额外说明一下H.264、AV1与HEVC编码器的直播配置。

H.264 编码器

由于直播受到设备性能、编码参数、网络传输、播放器缓存等多个因素的影响,因此直播画面存在一这下的延时,并会在直播过程中可能出现一定范围的波动。在OBS中可以调节x264 多 slice 编码参数改善这一现象。

当在 OBS 的微调(Tune)选项中配置了 zerolatency(零延迟)模式后,OBS 会自动启用多 slice 编码,以提高编码速度并降低延迟。

启用零延时选项后,需要注意部分旧版本浏览器的 WebRTC 对多 slice 编码存在兼容性问题。在这种情况下,开启多 slice 编码可能会导致弱网丢包场景下播放端出现花屏现象。为避免这一问题,您可以在 x264 选项中配置sliced_threads=0以关闭多 slice 编码。但是关闭多 slice 编码可能会引入额外的几百毫秒编码延时。因此,在配置时请根据您的实际需求权衡兼容性和延迟。

AV1编码器

在编码器列表中选择带有 AV1 的编码器即可。

在编码器列表中选择带有 HEVC 的编码器即可。

设置好合适的编码器后,点击确定,重新启动直播即可生效。

结语

OBS30.0+版本内置支持 WebRTC 协议推流功能,这意味着您可以在OBS中像使用 RTMP 协议推流一样,简单快速地本地媒体内容基于 WebRTC 协议直播,获得实时性更高的用户观看体验。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言