行业背景

直播技术飞速发展让各个行业的用户体验呈现多样化和个性化,不同业务场景下创新实践满足大众对于音视频互动体验和参与的高标准要求。历经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即可新增一个推流协议,无需改变原有的推流端采集架构

效果对比

主播端



数据出自内部实验测算。

使用步骤

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

「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。公众号后台回复【技术】可加入阿里云视频云产品技术交流群,和业内大咖一起探讨音视频技术,获取更多行业最新信息。

阿里云低延时直播 RTS 能力升级 让直播推流效果更佳的更多相关文章

  1. 阿里云杨敬宇:5G时代,边缘计算将发挥更大价值

    “5G时代,边缘计算将发挥更大价值.”3月8日,阿里云边缘计算技术负责人杨敬宇向媒体表示,边缘计算作为5G时代的一项关键技术,未来将成为不可或缺的基础设施之一. 5G时代万物智联将真正成为现实,但对计 ...

  2. 阿里云openapi接口使用,PHP,视频直播

    1.下载sdk放入项目文件夹中 核心就是aliyun-php-sdk-core,它的配置文件会自动加载相应的类 2.引入文件 include_once LIB_PATH . 'ORG/aliyun-o ...

  3. 阿里云应用实时监控 ARMS 再升级,支持 Prometheus 开源生态

    摘要: 应用实时监控服务 (ARMS) 是一款APM类的监控产品. 用户可基于 ARMS 的前端.应用.自定义监控,快速构建实时的应用性能和业务监控能力.ARMS 让所有性能问题“一屏了然”,不遗余力 ...

  4. 流媒体测试笔记记录之————阿里云监控、OBS、FFmpeg拉流和推流变化比较记录

    OBS设置视频(512kbps)和音频(128kbps)比特率 阿里云监控结果: 使用FFmpeg拉流到Nginx 服务器测试比特率 第二次测试,修改视频和音频比特率 OBS设置 阿里云监控 Ngin ...

  5. 揭秘阿里云 RTS SDK 是如何实现直播降低延迟和卡顿

    作者:予涛 途坦 这个夏天,没什么能够比一场酣畅淋漓的奥运比赛来的过瘾.但是,在视频平台直播观看比赛也有痛点:"卡顿" 和 "延时".受限于不同地域.复杂的网络 ...

  6. 云栖大会压轴好戏 阿里云发布视频云V5计划与系列新产品

    9月25 - 27日,2019云栖大会如期召开.在大会最后一天下午,阿里云智能视频云分论坛为今年的云栖大会献上了一场精彩的压轴好戏. 视频云V5计划发布 使能生态合作伙伴 会上,阿里云智能研究员金戈进 ...

  7. 【故障公告】升级阿里云 RDS SQL Server 实例故障经过

    昨天晚上,我们使用的阿里云 RDS SQL Server 2008 R2 实例突然出现持续 CPU 100% 问题,后来我们通过重启实例恢复了正常(详见故障公告).但是在恢复正常后发现了新问题,这台 ...

  8. 面向视频的全新AI架构 —— 阿里云智能视觉技术全解

    我们都知道,AI技术正在以可见的速度被应用于各行各业,然而绝大部分业务场景想应用AI技术,都需要算法工程师根据自身业务的标注数据,来进行单独训练,才能打磨出合适的AI模型.如此一来,如何以最低的门槛和 ...

  9. 阿里云DDoS高防的演进:防御效果成核心

    分布式拒绝服务(DDoS)攻击这一网络公敌,是任何互联网业务的重大威胁.随着DDoS攻击工具化的发展,无论是简单野蛮的流量型攻击,还是复杂精巧的应用型攻击,黑客发起DDoS攻击变得越来越简单和自动化. ...

随机推荐

  1. SpringCloud Alibaba实战(2:电商系统业务分析)

    选用了很常见的电商业务来进行SpringCloud Alibaba的实战. 当然,因为仅仅是为了学习SpringCloud Alibaba,所以对业务进行了大幅度简化,这里只取一个精简版的用户下单业务 ...

  2. sql server 操作(不定期更新)

    要求:基本的语法要清楚. sql server疑难点: 1.Partition by可以理解为 对多行数据分组后排序取每个产品的第一行数据 先处理内查询,由内向外处理,外层查询利用内层查询的结果嵌套查 ...

  3. JNDI注入和JNDI注入Bypass

    之前分析了fastjson,jackson,都依赖于JDNI注入,即LDAP/RMI等伪协议 JNDI RMI基础和fastjson低版本的分析:https://www.cnblogs.com/pia ...

  4. x86 cpu卷积网络的自动调谐

    x86 cpu卷积网络的自动调谐 这是一个关于如何为x86cpu调整卷积神经网络的文档. 本文不会在Windows或最新版本的macOS上运行.要让它运行,需要将主体包装在 if __name__ = ...

  5. 嵌入式Linux设备驱动程序:在运行时读取驱动程序状态

    嵌入式Linux设备驱动程序:在运行时读取驱动程序状态 Embedded Linux device drivers: Reading driver state at runtime 在运行时了解驱动程 ...

  6. JAVA 进行图片中文字识别(准确度高)!!!

    OCR 识别文字项目 该项目 可以进行两种方式进行身份证识别 1. 使用百度接口 1.1 application-dev.yml配置 ocr: # 使用baiduOcr 需要有Ocr服务器 使用百度需 ...

  7. ABAP SORT排序注意点

    SORT TABLE BY XXX XXX .如果不加任何语法都是默认升序,延伸可以用ASCENDING和DESCENDING对具体的字段进行升序和降序排列. 简单通俗的来阐释一下,在字段名后面加AS ...

  8. 设置NX欢迎界面

    环境变量 变量名:UGII_WELCOME_PAGE 变量值:http://www.baidu.com/

  9. SpringCloud Alibaba实战(6:nacos-server服务搭建)

    源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 大家好,我是三分恶. 这一节我们来学习SpringCloud Alibaba体系中一 ...

  10. sql循环说明

    while循环:主要是判断,不能使用表中的ID,临时表是ID自增的,通过自增ID可以查出表ID(语法简单,需要配合其他代码操作表ID)游标循环:可以使用表中的ID ,进行修改等操作(语法难一点,核心代 ...