OBS如何实现毫秒级超低延时直播

OBS简要介绍

OBS(Open Broadcaster Software)是一款免费开源的视频录制和视频直播推流软件,功能非常强大,在做视频直播时经常会用到,支持Windows, Mac以及Linux等不同平台。基于OBS,可以很方便的实现摄像机采集卡画面、桌面、文档、多媒体等不同形式的画面采集和输出。

OBS常用于峰会论坛直播、培训直播、带货直播、展会直播、宣讲会直播等,应用非常广泛,官网下载地址是 Open Broadcaster Software | OBS (官网下载非常慢,可以考虑到国内境相站下载)。

OBS如何实现毫秒级超低延时直播

图1 / OBS客户端操作主界面

我们常见的直播架构是 CDN + RTMP/HTTP-FLV + HLS,目前绝大部分直播都是应用的这类技术。

RTMP/HTTP-FLV的延迟,大至是3-10秒左右,延迟的原因主要来自编码延迟、网络延迟、缓冲延迟等;

HLS的延迟,通常会在5-15秒左右,延迟主要自编码延迟、网络延迟、切片延迟等;

对于不涉及直播互动的场景,这种延迟对于观看者来说,感知不会特别明显;对于一些像视频连麦、答题场景、在线课堂、带货直播这类高互动性的场景,对延迟几秒就会有明显的感知。那么如何通过OBS做到无延迟直播、超低延迟直播呢?现在可以通过保利威无延迟直播(PRTC)来实现,基于WebRTC开发的PRTC无延迟直播,可以打通直播体验的「最后一公里」,将直播延迟降至1秒以内,下面来介绍一下如何操作吧。

OBS实现无延迟直播

  1. 下载“obs-rtc-output插件”

打开CSDN,进入下载页 https://download.csdn.net/download/suny2020/40278486,进行插件下载。

  1. 安装插件

第1步:分别打开obs-studio客户端安装目录和插件目录,如下,将插件目录下的“bin”、“obs-plugins”目录复制到obs-studio目录中。

OBS如何实现毫秒级超低延时直播

图2 / OBS安装目录和插件目录截图

第2步:设置自定义服务。

方式1:用插件包中的文件services.json替换obs的配置目录(C:\Users\用户名\AppData\Roaming\obs-studio \plugin_config\rtmp-services)下的services.json

方式2:修改obs的配置目录下的services.json文件,如下:

{"name":"保利威无延迟","common":false,"servers":[{"name":"全球节点","url":"https://prtc.com/api/v1/"}],"recommended":{"keyint":1,"output":"rtc_output",

"max audio bitrate":160,"max video bitrate":2000,"profile":"main","bframes":0}}

OBS如何实现毫秒级超低延时直播

图3 / OBS配置文件services.json截图

  1. 创建频道

第1步:登录保利威管理平台(如果没有账号,可以点击此处直接注册试用账号https://my.polyv.net/v3/register/),选择进入云直播;

第2步:新建直播频道,在“直播延迟”选项中选择“无延迟”,然后点击“保存并创建直播”;

OBS如何实现毫秒级超低延时直播

图4 / 保利威云直播管理平台新建直播频道截图

第3步:创建后,平台会自动分配一个频道号和密码,如下标红处,记下这个频道和密码,在之后的“串流密钥”中,需要用到。

本次创建的这个无延迟直播道号是2662663,密码是123456,对应的“串流密钥”就是:{"channelId":"2662663","password":"123456","name":"test"} 。

OBS如何实现毫秒级超低延时直播

图5 / 保利威云直播管理平台获取频道号和密码

  1. 发起直播

第1步:打开OBS客户端,添加好场景和视频源,点击右下角的“设置”,如下图:

OBS如何实现毫秒级超低延时直播

图6 / OBS客户端操作界面

第2步:在设置界面中,选择左侧“推流”,在右侧“服务”项中选择“保利威无延迟” ;“串流密钥”中填入“{"channelId":"您的频道号码","password":"您的频道密码","name":"名称"}”,也就是对应填入之前创建好的频道号和频道密码,参考{"channelId":"2662663","password":"123456","name":"test"},然后点击确定。

OBS如何实现毫秒级超低延时直播

图7 / OBS客户端推流参数设置界面

第3步:点击右下角“开始推流”,发起正式直播。

OBS如何实现毫秒级超低延时直播

图8 / OBS客户端界面(开始推流)

  1. 直播延迟效果

我们来看一下实际的测试效果,以下为拍摄的测试图,通过OBS发起端与PC、iOS、安卓观看端的时间差,来评估一下延迟的时间差。

OBS如何实现毫秒级超低延时直播

图9:图中右侧为OBS客户端推流界面,左上方为PC浏览器观看测试端,左下方分别为iOS、安卓观看测试端

OBS如何实现毫秒级超低延时直播

图10:右侧为OBS客户端推流界面,左上方为PC浏览器观看测试端,左下方分别为iOS、安卓观看测试端

从以上的测试结果来看,PC浏览器本次观看延迟大约为166ms(毫秒),iOS观看延迟大约为133ms,安卓大约为305ms,都在1秒以内。

传统直播与PRTC直播对比

以下整理了一下传统直播与PRTC直播的不同之处:

OBS如何实现毫秒级超低延时直播

图11:传统直播与保利威PRTC直播对比

兼容性说明

1.Android 5.0 以上版本

2.iOS 9.0 以上版本

3.Web 端请使用桌面端 Google Chrome 最新稳定版。

4.macOS 10.10 或以上版本

5.Windows 7 或以上版本

直播作为强交互、信息密度高的传播媒介,无延迟必然是大势所趋。对OBS无延迟直播有兴趣的朋友,可以下载插件来感受一下。

上一篇:[Linux]安装phpredis扩展


下一篇:OBS窗口捕获