带你读《多媒体行业质量成本优化及容灾方案白皮书》2. 直播质量优化(3)

简介: 带你读《多媒体行业质量成本优化及容灾方案白皮书》2. 直播质量优化(3)

带你读《多媒体行业质量成本优化及容灾方案白皮书》2. 直播质量优化(2)https://developer.aliyun.com/article/1351902?groupCode=supportservice


2 云厂商内部链路优化

a) 协议栈优化

阿里云直播全链路节点均支持开启协议栈优化,协议栈优化主要是针对rtmp\http协议展开,基于TCP协议通过更改拥塞算法、滑动窗口逻辑等来实现节点建连逻辑、弱网、数据传输逻辑等方面的优化措施。CDN产品已用于不同类别的实际业务中,如大文件下载、图片小文件访问、音视频点播、直播流媒体下载等。

 

各个不同业务类别下,对于业务侧来说,期望的业务最优结果不同。比如直播业务下,期望首屏够快、延迟较短、卡顿尽可能少,点播业务下,首屏秒开、卡顿缩减,大文件下载下,下载速度稳定,下载速度上限尽可能调高等等。不同业务类别下,基于产品侧带宽利用率,带宽成本等的考量,需要采用不同的协议栈优化策略。

 

为了应对不同业务的不同需求,阿里云产品侧提供有多种场景下的拥塞控制算法,来优化请求在节点建连,丢包重传,数据包传输时的逻辑同时协议栈优化的开启对阿里直播内部成本会有所增加

b 内部链路卡顿自动切换L1-L2,L2-中心

推流、播放等请求进入到阿里云直播节点系统之后,需要在不同层级节点之间进行传递,由于节点之间走运营商公网,任何一级公网环境出现抖动均会影响整条请求的可用性。此时通过一定算法判断出抖动、卡顿等异常情况的出现,并自动调整请求的上下行节点,来规避此条异常卡顿公网链路,达到恢复请求可用性的目的。

 

目前卡顿内部链路自动切换主要应用在直播场景中,主要通过媒体时间戳、帧率(每秒收帧数)等信息判断卡顿的产生,通知上下游节点是否准备切换。为了确保切换是有效和必须的,也会存在一定算法来规避误切。

 

直播域名(推播流域名均可开启)开启内部链路卡顿自动切换: 卡顿切换时间推荐5s。不开启情况下:CDN L1L2,L2到中心链路默认出现10秒帧率掉0,才进行内部链路切换,业务影响时长至少20+s。该功能开启需要提交阿里云工单进行申请。

 

预期的业务影响:因调整前后,数据在内部链路已有cache,这部分cache重发,会导致端上画面出现几秒的回退。

c) 边缘节点覆盖调整

CDN的节点调度一般是同大区内调度,当出现长期跨大区调度,客户可以提交相关信息申请调整覆盖节点。对于区域运营商限制跨省情况,阿里云CDN产品也可增加调度限制实现尽量本省,或者限制跨某省覆盖;

 

调整非即时生效,和客户本地DNS过期时长有关。

d) 缓存及回源保持配置

配置客户端播流断流后,L1保持一定时长的的拉流或者不断流,同时如果未触发拉流模式也可以配置播流断流后维持一段时间拉流或者不断流;该模式开启后可以优化首屏,但对直播产品和客户源站会产生额外的带宽开销。

 

直播产品内部也可以配置直播视频在产品内部的缓存时长,缓存时长越长,直播延迟越大,但相对抗网络抖动的能力越强,建议rtmp及flv的延迟配置时长保持一致,配置文档参考链接


3 下行播放优化

a) 多码率&窄带高清

多码率及窄带高清的本质其实就是在弱网/低网速环境下使用低码率视频播放以减少客户播放视频质差现象,网络状态好/高网速情况下使用高码率视频播放,提升观看体验;多码率自适应可将指定的音视频文件流统一打包生成一个自适应码流文件,让播放器可根据终端网络带宽环境,自行选择使用对应码率的播放URL。播放协议为HLS;

 

视频画面由像素点构成,一个画面中像素点越多清晰度就越高,像素点的个数进行分档就称之为分辨率,分辨率有LD、SD、HD、2K、4K,LD就是常说的480P、SD即720P、HD即1080P;分辨率越高,在音视频编码格式、帧率等一致的情况下,一个视频的码率就越高,播放所需要的网络环境如带宽及稳定性等就越高;

 

阿里云直播产品已支持多码率转码,客户可按需配置,相关介绍和配置文档可参考这里

 

窄带高清技术对编码算法进行优化,可以实现在同等画质下更省流、在同等带宽下更高清的观看体验。阿里云直播产品已支持窄带高清配置,参考链接

终端应用如何选择适当清晰度的视频进行播放?

终端用户的网络带宽需要不小于视频码率才能保障视频的清晰观看,不同分辨率的视频常态下的码率区间相对固定,所以业内对于播放视频码率的选择一般有两种做法:

 

第一种根据不同的终端画质需要选择不同码率的视频作为默认码率;

 

第二种为多码率自适应技术,该技术需要终端播放器配合检测终端客户网络情况+集成码率自适应算法+播流视频支持多码率来实施。

 

不同的终端画质需要选择不同码率的视频作为默认码率,头部客户实现方案如下:

 


带你读《多媒体行业质量成本优化及容灾方案白皮书》2. 直播质量优化(4)https://developer.aliyun.com/article/1351898?groupCode=supportservice

相关文章
使用ffmpeg工具下载m3u8类型的视频到本地
使用ffmpeg工具下载m3u8类型的视频到本地
1478 0
使用ffmpeg工具下载m3u8类型的视频到本地
|
物联网 数据处理 智能硬件
基于STM32的智能家居控制系统设计与实现
基于STM32的智能家居控制系统设计与实现
1314 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
AI Compass前沿速览:字节Seedream4.0、Qwen3-Max、EmbeddingGemma、OneCAT多模态、rStar2-Agent
AI Compass前沿速览:字节Seedream4.0、Qwen3-Max、EmbeddingGemma、OneCAT多模态、rStar2-Agent
AI Compass前沿速览:字节Seedream4.0、Qwen3-Max、EmbeddingGemma、OneCAT多模态、rStar2-Agent
|
11月前
|
安全 数据安全/隐私保护
阿里云企业邮箱怎么开始双重认证具体步骤
要开启阿里云企业邮箱的双重认证,需登录管理员账号,导航至安全管理设置,进入密码策略,点击“开启阿里邮箱双重认证”。开启后,用户需通过手机验证码或安全问题进行二次验证。注意:此功能仅支持网页邮箱和官方客户端,且影响所有用户。
674 5
|
消息中间件 监控 API
深入浅出微服务架构设计原则
在软件开发的宇宙中,微服务如星辰般璀璨,引领着分布式系统的航向。本文将带你穿梭于微服务的星系,探索其背后的设计哲学与实践精髓,从服务边界的划分到数据一致性的保障,再到服务的通信与协作,我们将一同揭开微服务架构高效、可扩展且灵活的秘密。
213 4
|
Java API Android开发
Android中Binder在项目中的具体使用详解
Android中Binder在项目中的具体使用详解
349 0
DCN神州数码WAF-P-2021命令行恢复出厂
DCN神州数码WAF-P-2021命令行恢复出厂
|
网络协议 JavaScript 前端开发
Node.js的网络编程:深入TCP/UDP网络编程
【4月更文挑战第29天】本文介绍了如何在Node.js中进行TCP和UDP网络编程。使用net模块,可以创建TCP服务器和客户端,实现可靠的数据传输。例如,通过`net.createServer()`创建服务器,监听数据、关闭和错误事件。客户端使用`net.createConnection()`连接服务器并通信。另一方面,dgram模块用于UDP编程,创建UDP套接字并绑定端口,通过`server.send()`发送和接收数据报。TCP提供连接和数据可靠性,适合需要顺序和完整性的场景,而UDP更轻量级,适用于实时性要求高的应用。Node.js的网络编程能力使其成为开发高效网络应用的理想选择。
|
机器学习/深度学习 人工智能 自然语言处理
推理速度暴增,Mamba终结Transformer的统治 !!
推理速度暴增,Mamba终结Transformer的统治 !!
317 0
|
运维 架构师 大数据
协手同行,务实质远——阿里巴巴质量创新大会(TICA2022)议程公布(内含福利)
阿里巴巴质量创新大会TICA(Test Innovation Conference of Alibaba)将于2022年12月15日正式举办。本次大会是阿里巴巴第四届质量大会,主题是“务实质远”,分为高可用、大数据&智能化、工程效能、IOT&端智能、数字化转型五个专场。本次大会与阿里云合作,新设数字化转型分会场,我们希望把有转型计划和在转型路上的传统企业聚集到一起,分享数字化转型经
1150 0
协手同行,务实质远——阿里巴巴质量创新大会(TICA2022)议程公布(内含福利)