行业背景

直播技术飞速发展让各个行业的用户体验呈现多样化和个性化,不同业务场景下创新实践满足大众对于音视频互动体验和参与的高标准要求。历经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. Mysql索引的创建与删除

    1. 创建索引 1.1 使用Alter创建索引 1 添加主键索引 特点:数据列不允许重复,不能为null,一张表只能有一个主键:Mysql主动将该字段进行排序 ALTER TABLE 表名 ADD P ...

  2. 干货:ANR日志分析全面解析

    一.概述 解决ANR一直是Android 开发者需要掌握的重要技巧,一般从三个方面着手. 开发阶段:通过工具检查各个方法的耗时,卡顿情况,发现一处修改一处. 线上阶段:这个阶段主要依靠监控工具发现AN ...

  3. PyTorch 图像分类

    PyTorch 图像分类 如何定义神经网络,计算损失值和网络里权重的更新. 应该怎么处理数据? 通常来说,处理图像,文本,语音或者视频数据时,可以使用标准 python 包将数据加载成 numpy 数 ...

  4. onnx算子大全

    本文通过此脚本从def文件自动生成.不要直接修改,而是编辑算子定义. 对于算子输入/输出的可辩别的,它可以是可辩别的.不可辩别的或未定义的.如果未指定变量的可辩别的,则该变量具有未定义的可辩别的. a ...

  5. 适用于Linux 2的Windows子系统上的CUDA

    适用于Linux 2的Windows子系统上的CUDA Announcing CUDA on Windows Subsystem for Linux 2 为了响应大众的需求,微软在2020年5月的构建 ...

  6. 基于TensorRT的BERT实时自然语言理解(上)

    基于TensorRT的BERT实时自然语言理解(上) 大规模语言模型(LSLMs)如BERT.GPT-2和XL-Net为许多自然语言理解(NLU)任务带来了最先进的精准飞跃.自2018年10月发布以来 ...

  7. 基于Linux的TCP网络聊天室

    1.实验项目名称:基于Linux的TCP网络聊天室 2.实验目的:通过TCP完成多用户群聊和私聊功能. 3.实验过程: 通过socket建立用户连接并传送用户输入的信息,分别来写客户端和服务器端,利用 ...

  8. 视频质量评估学习Note

    术语"编解码器 Coder/Decoder"是压缩器/解压缩器或编码器/解码器一词的缩写.顾名思义,编码可使视频文件变小以进行存储,然后在需要再次使用时将压缩后的数据转换成可用的图 ...

  9. Idea的安装破解及配置

    安装激活 30天试用无线版 博客园下载地址:https://files.cnblogs.com/files/blogs/482725/无限30天试用插件.zip 百度云下载链接: https://pa ...

  10. 【NX二次开发】属性操作总结

    内容包括:1.属相创建2.判断属性是否存在3.读取属性值4.时间属性转换成字符串5.统计属性的数量6.删除指定属性7.删除全部属性 源码: 1 #include <stdlib.h> 2 ...