基于OBS超低延迟直播实测(400毫秒左右)超多组图

news2024/11/23 0:21:30

阿酷TONY,原创文章,长沙。

文章简述:本文介绍使用OBS无延迟直播插件在第三方云平台,如何实现超低延时直播的完整教程(延迟约为400毫秒左右,通常延迟是3-15秒)。

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实现无延迟直播

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

打开CSDN,进入下载页 OBS无延迟直播插件(基于POLYV云平台)-互联网文档类资源-CSDN下载,进行插件下载。

2. 安装插件

第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截图

3. 创建频道

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

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

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

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

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

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

4.发起直播

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

 图6 / OBS客户端操作界面

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

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

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

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

5. 直播延迟效果

我们来看一下实际的测试效果,以下为拍摄的测试图,通过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无延迟直播有兴趣的朋友,可以下载插件来感受一下,有疑问可以联系我。

MR虚拟直播

  • MR直播实例(混合现实直播)高品质企业直播
  • 企业年会直播来个虚拟舞台场景如何?
  • MR直播(混合现实直播)做一场高品质企业培训
  • MR场景直播-帮助企业高效开展更有意思的员工培训
  • 企业多会场视频直播(主会场、分会场直播)实例效果
  • 虚拟直播(虚拟场景直播)要怎么做?

无延迟直播

  • 无延时直播/超低延时直播画面同步性测试(实测组图)
  • 搞定企业视频直播:硬件设备、直播网络环境和设备连接说明
  • 无延时/无延迟视频直播实例效果案例
  • OBS无延迟视频直播完整教程(组图)
  • 毫秒级超低延时直播产品实测(PRTC直播/webRTC直播)

视频加密与安全

  • 企业培训视频如何防止被下载和盗用?
  • 上新:视频加密功能增加防录屏(随机水印)功能
  • 两种实现视频倍速播放的方法(视频播放器倍速1.5x/2x)
  • 教育培训机构教学课程内容视频加密是如何做的?

在线导播台

  • 在线导播台(网页导播台)混流效果
  • OBS Studio导播台多画面使用实测

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/425732.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3+vite3+typescript实现验证码功能及表单验证

文章目录验证码组件父组件表单验证最终效果验证码组件 <template><div class"captcha" style"display: flex;"><canvas ref"canvas" width"100" height"40"></canvas></div><div class&qu…

LeetCode 1019. Next Greater Node In Linked List【单调栈模板】中等

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…

如何实现视觉识别颜色

1. 功能说明 通过摄像头识别特定颜色&#xff08;红、绿、蓝&#xff09;。摄像头采集图像信息并通过WiFi将信息传递给PC端&#xff0c;然后PC端根据比例判断出目标颜色在色盘上的所属颜色后&#xff0c;指针便会指向对应颜色。 红、绿、蓝-色块2. 电子硬件 本实验中采用了以下…

网络编程【TCP流套接字编程】

目录 TCP流套接字编程 1.ServerSocket API 2.Socket API 3.TCP中的长短连接 4.回显程序(短连接) 5.服务器和客户端它们的交互过程 6.运行结果及修改代码 TCP流套接字编程 ❗❗两个核心&#xff1a;ServerSocket Socket 1.ServerSocket API ✨ServerSocket 是创建…

RK3568平台开发系列讲解(Linux系统篇)Linux 目录结构介绍

🚀返回专栏总目录 文章目录 一、 linux 目录结构二、 linux 文件层次标准三、 linux 目录结构沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们从目录管理入手,会更直观的理解 linux 的目录结构。 一、 linux 目录结构 Linux 整个文件系统是以“ / ”目录开…

Cobalt_Strike_4.5渗透工具的安装与使用

前言&#xff1a; Cobalt Strike是一款内网渗透测试神器&#xff0c;Cobalt Strike分为客户端和服务器端&#xff0c;该服务器端被称为团队服务器&#xff0c;是Beacon有效负载的控制器&#xff0c;同时&#xff0c;cobalt strike也具有社会工程学功能&#xff0c;团队服务器还…

企业如何使用OA系统?OA系统有哪些功能和应用的场景?

企业如何使用OA系统&#xff1f;OA系统有哪些功能和应用的场景&#xff1f; 办公自动化&#xff08;Office Automation&#xff0c;简称OA&#xff09;&#xff0c;是将计算机、通信等现代化技术运用到传统办公方式&#xff0c;进而形成的一种新型办公方式。办公自动化利用现代…

02_Uboot基本命令与内存命令

目录 U-Boot命令使用 信息查询命令 环境变量操作命令 内存操作命令 U-Boot命令使用 进入uboot的命令行模式以后输入“help”或者“&#xff1f;”,然后按下回车即可查看当前uboot 所支持的命令,如图所示: 图中只是uboot的一部分命令,具体的命令列表以实际为准。图中的命令…

Mongo初遇回忆录

序 上周&#xff0c;我和M女士分手了&#xff0c;也许是上个月&#xff0c;我不知道。也许是她太墨守成规&#xff0c;也许是我太肆意妄为&#xff0c;她说我给不了她想要的平稳和安定。她没有留下太多东西&#xff0c;我也不愿留下更多回忆。 做决定的过程中&#xff0c;我比…

「计算机控制系统」4. 计算机控制系统分析

Z平面 稳定性分析 稳态误差分析 动态过程分析 频率特性 文章目录Z平面与S平面的映射关系稳定性分析离散Routh判据Jury判据离散Nyquist判据稳态误差静态误差系数动态过程频率特性Z平面与S平面的映射关系 S平面虚轴的映射 ω\omegaω与θ\thetaθ的映射 可以看出从S平面到Z平面…

远程组态管理的好处

远程组态管理可以简化管理工作&#xff0c;帮助您节省时间和金钱。远程组态管理可以通过各种应用程序来实现&#xff0c;包括&#xff1a; •监控所有设备的状态&#xff0c;以确保它们正常工作。 •记录现场数据&#xff0c;例如温度&#xff0c;压力或流量。 •快速、轻松地…

自动驾驶「时过境迁」,这家头部出行服务平台再出发

滴滴自动驾驶复活了&#xff1f; 昨日&#xff0c;滴滴正式发布了首个自动驾驶自动运维中心&#xff0c;以及首款未来服务概念车DiDi Neuron&#xff0c;同时还公布了在技术、硬件、量产以及新业务探索方面的进展。 按照计划&#xff0c;滴滴自动驾驶正在结合新能源整车企业能…

【单链表】的增删查改

&#x1f58a;作者 : Djx_hmbb &#x1f4d8;专栏 : 数据结构 &#x1f606;今日分享 : “Onc in a blu moon” : “罕见的,千载难逢的” (出现在19世纪,指的是"在一个月内出现的第二次圆月”&#xff0c;这种现象每隔32个月发生一次。) 文章目录✔单链表的功能实现:&…

大前端突围之路:从RN跨平台到大前端全栈统一

本文首发自「慕课网」(imooc.com)&#xff0c;想了解更多IT干货内容&#xff0c;程序员圈内热闻&#xff0c;欢迎关注"慕课网"&#xff01; 作者&#xff1a;FE大公爵|慕课网讲师 前言 不知不觉&#xff0c;在大前端领域也混迹十年了&#xff0c;一路的经历不敢说…

接口自动化测试yaml+requests+allure技术,你学会了吗?

目录 前言 一、什么是接口自动化测试 二、为什么要进行接口自动化测试 三、接口自动化测试的流程 四、yaml语言介绍 五、requests库介绍 六、allure技术介绍 七、总结 前言 接口自动化测试是在软件开发过程中常用的一种测试方式&#xff0c;通过对接口进行自动化测试&a…

SQL Sever 单表数据查询(下)

提示&#xff1a;本篇文章是在上篇文章的基础上进行单表数据查询操作的补充,主要以例题的方式呈现. 文章目录前言1.分组&#xff1a;统计各门课程的选修人数2.分别统计男女生的平均年龄3.查询所有科目成绩在85分以上的学生的学号及其平均分4.查询平均年龄大于18岁的系部和平均年…

Linux复习 / 动静态库QA梳理 | 如何使用第三方库?

文章目录前言Q&A概念Q&#xff1a;使用静态库和使用动态库的程序有什么区别&#xff1f;Q&#xff1a;什么是静态链接/动态链接&#xff1f;使用与制作Q&#xff1a;如何制作动静态库&#xff1f;Q&#xff1a;如何使用第三方库&#xff1f;Q&#xff1a;程序加载时&#x…

C语言-实现顺序二叉树和平衡二叉树AVL

1. 结构体 在实现二叉树之前先看下结构体的一些使用方法 数组是保存一系列相同的数据。在实际问题中&#xff0c;一组数据往往有很多种不同的数据类型。例如&#xff0c;登记学生的信息&#xff0c;可能需要用到 char型的姓名&#xff0c;int型或 char型的学号&#xff0c;in…

4.6--计算机网络之TCP篇之TCP的基本认识--(复习+深入)---好好沉淀,加油呀

1.TCP 头格式有哪些&#xff1f; 序列号&#xff1a; 在建立连接时由计算机生成的随机数作为其初始值&#xff0c;通过 SYN 包传给接收端主机&#xff0c;每发送一次数据&#xff0c;就「累加」一次该「数据字节数」的大小。 用来解决网络包乱序问题。 确认应答号&#xff1a; …

MySQL优化——Explain分析执行计划详解

文章目录前言一. 查看SQL执行频率二. 定位低效率执行SQL三. explain分析执行计划3.1 id3.2 select_type3.3 table3.4 type3.5 key3.6 rows3.7 extra四. show profile分析SQL前言 在应用的的开发过程中&#xff0c;由于初期数据量小&#xff0c;开发人员写 SQL 语句时更重视功能…