直播泛在化的今天, 如何快速搭建不同场景的直播系统

简介: 目前,不同的直播业务场景的直播需求越来越多,不同的直播需求对应着不同的技术侧重点。本篇演讲将通过介绍阿里云的直播技术架构,从客户的角度讲解如何集成阿里云的直播产品,描绘在阿里云视频云直播系统内进行快速的场景搭建效果,展示其直播系统的技术特点。

《快速搭建不同场景的直播系统》 阿里云智能技术专家 熊金水

直播场景需求的多样性

image.png

直播的历史悠久,出现过各种各样的直播业务场景,目前比较火爆的业务场景主要有三个:

第一个场景,直播带货。直播带货是在疫情期间出现的一个风口,大家在各种各样的直播平台上可以看到很多流量明星出来带货,成交金额非常的惊人。

直播带货的技术挑战除了不卡顿、不掉线和高并发以外,还出现了低延时的要求。低延时是从主播看到观众的文字留言,到观众看到主播的视频回复。如果这个过程非常长的话,观众可能会觉得自己被冷落了,从而降低了购买欲望。

第二个场景是主播 PK 的场景,主播 PK 的场景是主播与主播之间连麦,这是一个比较典型的 RTC 的场景,要求延时在 200 毫秒左右,对编码器和传输算法的要求是非常高的。

第三个场景是多人互动的场景。在在线游戏、在线教育等场景,有着非常广泛的应用。这个场景的主要挑战在于通过云端的合流做特效玩法。

当然,不同的直播业务场景也有通用的技术挑战。

比如说主播和观众他们都处于不同的网络下。甚至是同一个人,他在不同的时间,他的网络环境也是不一样的。这个对网络自适应的要求非常高,另外主播和观众使用的手机的能力也是不一样的,这需要做大量的适配工作。

阿里云直播技术架构

image.png

阿里云的技术架构包括三个方面。

第一个方面是主播端。主播端包括 RACE 前处理、窄带高清编码以及传输算法采集、采集的机型适配工作。特别是国内的手机厂商做了大量的安卓机型定制,导致系统碎片化特别严重。

第二个是云端。云端包括 CDN 的转发网络、云上窄带高清转码、合流服务以及智能审核等服务功能。云端的 CDN 转发网络是基于阿里云全球 2800 多个 CDN 的布点,从成本和质量的两个角度权衡,选择合适的转发网络。

云上的窄带高清转码,除了端上使用的策略以外,云上还有一个更大的自由度,那就是如何使用特定的硬件做低成本的异构解决方案。云上的合流服务主要是做特效玩法、插播广告、加水印等功能。

最后像智能审核、视频 DNA、水印、录制、时移等功能,也是阿里云视频云云上的基础能力。

观众端则主要包括两种播放器。一种是常规的普通播放器,这种播放器是大家通用的 rtmp ,flv、 hls 这些协议,通常它们的延时会在 3 秒以上。第二种是阿里云视频云特有的低延时播放器( RTS ),可以在不损失卡顿率的情况下做到一秒左右的延时。

直播连麦场景

image.png

接下来介绍连麦场景,这个场景是主播端与连麦粉丝之间的通信,主要包括两个方面。第一个方面是基于 UDP 的传输协议。第二个方面是 SFU 与合流服务。

UDP 的传输协议。核心在于端云协同一体的网络自适应算法。网络自适应算法包括带宽估计算法。带宽估计算法是整个网络自适应的起点与核心。除了目前行业通用的解决方案,阿里云还针对性的做了大量的优化。

其次是带宽分配策略。在带宽估计的基础上,客户端以及云端都需要做带宽分配。在客户端编码端,除了编码还有冗余传输,如 FEC、Nack 等都需要在保证画质清晰的情况下,不能因为 FEC、Nack 分配到的带宽太少,而导致卡顿。另外 FEC、Nack 适用不同的网络场景,也需要根据不同的网络场景使用不同的分配比例。

当然,编码器 FEC、Nack 这些模块在分得了自己的码率以后,如何提高码率的利用率,也是各个模块需要充分考虑的。上面的自适应算法都是在给定网络条件下做的自适应。为了提高网络环境本身的质量,阿里云有具有得天独厚的全球布点的优势以及就近接入的能力。

第二个是 SFU 与合流服务。直播不同于 RTC 的场景。不仅需要全球覆盖的 SFU 的节点,它还需要高性能,具有丰富玩法的合流节点,以及端合流,云合流灵活可配置。

端合流需要考虑的是不同端具有的不同能力,包括计算能力和上行的网络能力。

云合流则需要尽可能的挖掘云服务器的计算能力。支持更多的人连麦、支持更多的特效玩法。

如何快速集成系统?

image.png

对于希望快速搭建端到端直播系统的客户,可以选择完整接入,包括主播端推流 SDK、云端 OpenAPI、观众端播放 SDK。

客户在自己的云上只需生成推流 URL ,实现连麦相关业务,并做 URL 的通知。连麦时,如果客户选择云合流,只需要调用一个 OpenAPI 的接口。

推流端客户只需要通过一个接口启动本地音视频设备,然后从云端拿到推拉流 URL,调用推拉流接口就可以了。

观众端同样,客户只需要从云端拿到拉流 URL ,并调用标准播放器 SDK 的开播接口即可。

image.png

对客户已有的直播系统,也可以通过集成阿里云视频云的原子能力,快速优化自己的直播系统。

下面分别举三个例子。

第一个例子是主播端可以集成 RACE 前处理库,这个 RACE 前处理库同时兼容 iOS、Android 等主流机型以及中低端的部分机型。

第二个例子是云端客户可以单独集成阿里云的合流服务,我们的合流服务提供对外的 OpenAPI ,支持 RTC 拉流、RTMP 拉流、RTS 拉流、点播源拉流、拉流布局可配等特性。

同时,播放端也可以单独集成低延时播放插件,内嵌到客户自己的播放器当中。

效果举例

image.png

云端的窄带高清编码。阿里云视频云的窄带高清编码可以在同等画质的情况下比 x264 码率节省 20% 以上。

image.png

观众端集成了阿里云视频云的超低延时播放器以后,可以把端到端的延时控制在 1 秒左右。

以上所有的成果都是阿里巴巴多个音视频团队合作的结晶。在淘宝直播、钉钉直播等超大规模的直播业务场景下,得到了充分的验证。欢迎广大客户集成试用。

「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

image.png

相关文章
搭建一个简单的直播网站
我是一个比较爱看直播的人,经常空闲的时候会看一看LOL、吃鸡的直播。正好最近在研究阿里云的视频直播服务,突发奇想,自己来搭建一个简单的直播平台!主要会用到的东西有:视频直播、ECS、OBS、阿里播放器。
9114 0
|
9月前
|
编解码 JSON 数据格式
实现在线直播源码高质量直播体验重要功能
在线直播源码平台中会出现各种各样问题,而应对这些问题,在线直播源码平台又开发出不同的功能,云端混流转码就是其中重要功能之一,它为平台带来了很大的优势。
|
11月前
|
API 数据安全/隐私保护
直播源码平台搭建技术分享之直播短信功能实现
在利用直播源码去开发平台中,直播源码功能技术是开发直播平台的重要技术之一,今天我就为大家分享直播源码平台搭建技术分享直播短信功能实现。
直播源码平台搭建技术分享之直播短信功能实现
|
数据采集 编解码 搜索推荐
短视频直播系统,如何实现高质量直播场景
短视频直播系统,如何实现高质量直播场景
|
运维 Cloud Native 容器
【直播】直播预告 | 云原生游戏第4讲:游戏服的网络接入和状态管理【直播已生成回放】
2022 年 11 月 29 日(周二)阿里云容器服务高级工程师 & 云原生游戏负责人,刘秋阳将会为大家详细介绍 OKG 的网络插件功能,一键式部署游戏服南北向网络,OKG 的自定义服务质量功能,以及自动化地感知并管理游戏服状态。
【直播】直播预告 | 云原生游戏第4讲:游戏服的网络接入和状态管理【直播已生成回放】
|
缓存 网络协议 CDN
直播app源码的搭建,仍有许多问题等待我们去解决
直播app源码的搭建,仍有许多问题等待我们去解决
|
运维 Java 视频直播
一对一源码开发,一对一直播系统如何在直播领域站稳脚跟
在直播发展的过程中,开发系统的直播源码也发展的越来越成熟稳定,尤其是目前很火热的一对一源码。
一对一源码开发,一对一直播系统如何在直播领域站稳脚跟
直播间搭建,主播和功能的结合才能发挥直播最大效力
很多品牌想要通过直播暴富,尤其在今年的特殊环境下,直播间搭建火热的情况品牌商都想找个合适的主播,带货宣传品牌。
623 0
直播间搭建,主播和功能的结合才能发挥直播最大效力
直播系统源码——直播程序中的“万人迷”
因为“直播+”模式的诞生,很多商家想要在自己的软件产品中加入直播功能,想要借助直播功能的强势期,为自己产品吸引一波粉丝,刺激产生新的消费力。
529 0
直播系统源码——直播程序中的“万人迷”