行业背景
直播技术飞速发展让各个行业的用户体验呈现多样化和个性化 不同业务场景下创新实践满足大众对于音视频互动体验和参与的高标准要求。历经2020年初的巨变之后 以视频、游戏、电商、教育为主的互联网经济迎来飞速发展 “直播 ”已成为一种趋势 广泛融入到人们的工作和生活中。在搭建直播系统时 大家会经常听到两个高频词 RTMP Real Time Messaging Protocol 和OBS Open Broadcaster Software 。
RTMP协议是由Adobe公司提出的一种基于TCP的应用层的协议 用来解决多媒体数据传输流的多路复用 Multiplexing 和分包 Packetizing 的问题。RTMP已有近20年历史 广泛应用于直播行业的主播推流及不同系统间互通。
OBS是一款好用的直播流媒体内容制作软件 为用户提供了视频、文本、图像等的捕获录制功能 OBS界面简洁并专业 功能强大。OBS程序和其源代码都是免费提供给大家使用 版本更新一直比较活跃 支持 OS X、Windows、Linux操作系统 适用于多种直播场景 满足大部分直播行为的操作需求。
升级方案
针对主播推流使用RTMP存在的TCP链接耗时过长、拥塞控制完全依赖TCP传输层、无法提供实时带宽数据来动态调整视频编码码率等问题引起的推流延迟和卡顿。阿里云低延时直播RTS Real-time Streaming 产品在下行UDP改造的基础上 进行上行UDP底层WebRTC技术优化 通过发布移动端、PC端推流RTS SDK插件来提升整个行业的主播推流质量 提供低延时、低卡顿、安全可靠的直播观看体验。客户端接入简单 只需要在OBS端嵌入RTS SDK即可新增一个推流协议 无需改变原有的推流端采集架构。
效果对比
主播端
100ms RTT
10%丢包
1分钟
5分钟
20分钟
观众延迟
观看质量
观众延迟
观看质量
观众延迟
观看质量
artc推流
flv拉流
4.75s
流畅
4.72s
流畅
4.79s
流畅
rtmp推流
flv拉流
19.91s
画面模糊 偶尔严重马赛克
21.30s
画面模糊、马赛克 偶现没有声音
无
基本看不到画面 无声音
数据出自内部实验测算。
使用步骤
Step 1、推流域名开通RTS
在直播控制台添加好推流域名后 在域名管理页面推流域名的域名配置中通过低延时推流开关打开、关闭此功能。
Step 2、集成RTS SDK
RTS SDK是为了OBS量身打造 无需改动OBS原生框架 接入RTS SDK实现obs-output插件即可 如下图所示。可以参考集成文档 https://help.aliyun.com/document_detail/272525.html 完成自主接入。为了方便用户接入 同时也封装了artc-stream的obs-output插件 只需加入OBS编译即可集成使用 详见《OBS示例插件artc-stream集成说明》。
Step 3、使用RTS推流地址推流
推流地址的拼接方法与RTMP一致 只需要使用新的协议头artc://来区分 例如控制台生成的RTMP地址为
rtmp://push.rts***.grtn.aliyunlive.com/live/123?auth_key 1624860195-*
您只需要更换rtmp为artc即可
artc://push.rts***.grtn.aliyunlive.com/live/123?auth_key 1624860195-*
Demo体验
https://help.aliyun.com/document_detail/177373.html#title-xgu-5k1-2vx
本文整理自直播《Hologres 数据导入/导出实践-王华峰(继儒)》 视频链接: https:/...
在Python语言中有如下3种方法: 成员方法 类方法(classmethod) 静态方法(staticm...
前提条件 请您在购买前确保已完成注册和充值。详细操作请参见 如何注册公有云管...
【51CTO.com快译】 数据可视化工具不断发展,提供更强大的功能,同时改善可访问...
Docker生成新镜像版本的两种方式 There are two ways Docker can generate new m...
从 10.0.0 版开始,异步迭代器就出现在 Node 中了,在本文中,我们将讨论异步迭...
信息化2.0时代提出开展智慧教育创新发展行动。2019年2月,中共中央、国务院印发...
2021年3月24日,主题为《数据的世界,世界的数据》的星环科技2021春季新品发布会...
摘要 元旦期间 订单业务线 告知 推送系统 无法正常收发消息,作为推送系统维护者...
建站 什么 虚拟主机 够用?这要看搭建的是什么类型的网站。比如个人博客类型的网...