OBS如何实现毫秒级超低延时直播
作者:互联网
OBS简要介绍
OBS(Open Broadcaster Software)是一款免费开源的视频录制和视频直播推流软件,功能非常强大,在做视频直播时经常会用到,支持Windows, Mac以及Linux等不同平台。基于OBS,可以很方便的实现摄像机采集卡画面、桌面、文档、多媒体等不同形式的画面采集和输出。
OBS常用于峰会论坛直播、培训直播、带货直播、展会直播、宣讲会直播等,应用非常广泛,官网下载地址是 Open Broadcaster Software | OBS (官网下载非常慢,可以考虑到国内境相站下载)。
图1 / OBS客户端操作主界面
我们常见的直播架构是 CDN + RTMP/HTTP-FLV + HLS,目前绝大部分直播都是应用的这类技术。
RTMP/HTTP-FLV的延迟,大至是3-10秒左右,延迟的原因主要来自编码延迟、网络延迟、缓冲延迟等;
HLS的延迟,通常会在5-15秒左右,延迟主要自编码延迟、网络延迟、切片延迟等;
对于不涉及直播互动的场景,这种延迟对于观看者来说,感知不会特别明显;对于一些像视频连麦、答题场景、在线课堂、带货直播这类高互动性的场景,对延迟几秒就会有明显的感知。那么如何通过OBS做到无延迟直播、超低延迟直播呢?现在可以通过保利威无延迟直播(PRTC)来实现,基于WebRTC开发的PRTC无延迟直播,可以打通直播体验的「最后一公里」,将直播延迟降至1秒以内,下面来介绍一下如何操作吧。
OBS实现无延迟直播
-
下载“obs-rtc-output插件”
打开CSDN,进入下载页 https://download.csdn.net/download/suny2020/40278486,进行插件下载。
-
安装插件
第1步:分别打开obs-studio客户端安装目录和插件目录,如下,将插件目录下的“bin”、“obs-plugins”目录复制到obs-studio目录中。
图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}}
图3 / OBS配置文件services.json截图
-
创建频道
第1步:登录保利威管理平台(如果没有账号,可以点击此处直接注册试用账号https://my.polyv.net/v3/register/),选择进入云直播;
第2步:新建直播频道,在“直播延迟”选项中选择“无延迟”,然后点击“保存并创建直播”;
图4 / 保利威云直播管理平台新建直播频道截图
第3步:创建后,平台会自动分配一个频道号和密码,如下标红处,记下这个频道和密码,在之后的“串流密钥”中,需要用到。
本次创建的这个无延迟直播道号是2662663,密码是123456,对应的“串流密钥”就是:{"channelId":"2662663","password":"123456","name":"test"} 。
图5 / 保利威云直播管理平台获取频道号和密码
-
发起直播
第1步:打开OBS客户端,添加好场景和视频源,点击右下角的“设置”,如下图:
图6 / OBS客户端操作界面
第2步:在设置界面中,选择左侧“推流”,在右侧“服务”项中选择“保利威无延迟” ;“串流密钥”中填入“{"channelId":"您的频道号码","password":"您的频道密码","name":"名称"}”,也就是对应填入之前创建好的频道号和频道密码,参考{"channelId":"2662663","password":"123456","name":"test"},然后点击确定。
图7 / OBS客户端推流参数设置界面
第3步:点击右下角“开始推流”,发起正式直播。
图8 / OBS客户端界面(开始推流)
-
直播延迟效果
我们来看一下实际的测试效果,以下为拍摄的测试图,通过OBS发起端与PC、iOS、安卓观看端的时间差,来评估一下延迟的时间差。
图9:图中右侧为OBS客户端推流界面,左上方为PC浏览器观看测试端,左下方分别为iOS、安卓观看测试端
图10:右侧为OBS客户端推流界面,左上方为PC浏览器观看测试端,左下方分别为iOS、安卓观看测试端
从以上的测试结果来看,PC浏览器本次观看延迟大约为166ms(毫秒),iOS观看延迟大约为133ms,安卓大约为305ms,都在1秒以内。
传统直播与PRTC直播对比
以下整理了一下传统直播与PRTC直播的不同之处:
图11:传统直播与保利威PRTC直播对比
兼容性说明
1.Android 5.0 以上版本
2.iOS 9.0 以上版本
3.Web 端请使用桌面端 Google Chrome 最新稳定版。
4.macOS 10.10 或以上版本
5.Windows 7 或以上版本
直播作为强交互、信息密度高的传播媒介,无延迟必然是大势所趋。对OBS无延迟直播有兴趣的朋友,可以下载插件来感受一下。
标签:插件,频道,毫秒,直播,延时,延迟,OBS,客户端 来源: https://blog.csdn.net/sinat_33049251/article/details/121850995