收藏 分销(赏)

多媒体行业质量成本优化及容灾方案白皮书.pdf

上传人:Stan****Shan 文档编号:1239905 上传时间:2024-04-19 格式:PDF 页数:36 大小:1.28MB
下载 相关 举报
多媒体行业质量成本优化及容灾方案白皮书.pdf_第1页
第1页 / 共36页
多媒体行业质量成本优化及容灾方案白皮书.pdf_第2页
第2页 / 共36页
多媒体行业质量成本优化及容灾方案白皮书.pdf_第3页
第3页 / 共36页
多媒体行业质量成本优化及容灾方案白皮书.pdf_第4页
第4页 / 共36页
多媒体行业质量成本优化及容灾方案白皮书.pdf_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、目录页一、质量优化.51.直播&点播业务通用质量指标介绍.52.直播质量优化.61)上行优化.82)云厂商内部链路优化.103)下行播放优化.124)上下行质量监控体系.163.点播质量优化.181)下行优化.182)云厂商内部链路优化.21二、成本优化.241.成本优化概述.242.CDN 及直播出流量优化方案.241)视频&图片降低码率.242)直播图像拆分降码率.253)使用 CDN 智能压缩.254)使用客户端缓存.263.回源成本优化.261)源站存储成本优化.262)源站出流量成本优化.28三、容灾建设.311.直播容灾.311)直播链路架构.312)直播容灾案例及通用容灾方案.3

2、32.点播容灾.361)容灾案例及通用方案.36一、质量优化5本文基于多媒体行业头部客户经验,抽练沉淀出多媒体质量成本优化及容灾方案,该文展开介绍了直播点播全链路上可做的质量优化措施、直播点播场景如何实现全链路容灾、多媒体成本如何进行优化。一、质量优化1.直播&点播业务通用质量指标介绍近年来长视频行业增速放缓寻求突破,短视频及直播行业蓬勃发展,截至 2022 年 12月底,我国网民规模达到 10.67 亿,短视频用户规模为 10.12 亿,网络直播用户规模达7.51 亿。无论是长视频、短视频还是直播行业其背后代表的业务为直播点播业务,背后承载的产品技术为直播、CDN、媒体转码等技术;各业务厂商

3、为占领流量高地,内容创作、业务营销、内容推荐等技术运营策略实施的同时,直播点播业务的质量优化也同步实施,让用户获取更优质的视频内容。直播点播业务通用的质量衡量指标如下:直播通用-开播失败率、卡顿率、秒开率;点播通用-卡顿率、错误率、失败率;多媒体行业头部客户的关键指标可参考如下:某短视频 A 直播:开播失败率、首帧时间、百秒卡顿 sum、百秒卡顿 avg、百秒卡顿次数、百秒重试次数某游戏直播:秒开率、中度卡、重度卡、黑屏比、p2p 卡比、flv 卡比、adr 卡比、ios 卡比、webh5 卡比某政企直播:卡顿率、错误率某游戏直播:卡顿率、拉流失败、秒开失败、平均延迟某短视频 A 点播:下载失

4、败率、下载速度、慢速下载率、视频准备时间、开播故障一、质量优化6率、卡顿次数、卡顿率 卡顿时长某短视频 B 点播:卡顿率、中断率、错误率某游戏点播:成功率某政企点播:卡顿率、错误率某长视频点播:卡顿率各头部客户的质量指标及通用质量指标及客户端日志打点详细介绍、质量监控告警如何设置等详情可看多媒体行业质量监控最佳实践一文。了解了直播点播质量衡量的指标,下文将展开如何对直播点播业务进行质量优化的介绍。2.直播质量优化直播及点播业务均承载在复杂技术链路架构上,要对质量进行优化,需要先拆解链路架构,再针对每一环链路进行优化,常见的直播架构分为:边缘推播流架构、触发拉流架构、拉流架构,架构图可参考下图。

5、一、质量优化7整体直播业务架构分为三层分别为上行接流层,中间分发层及下行播流层,而一般中间分发层众多的业务厂商均会采用云厂商 CDN/直播进行分发,基于该前提下本文将云厂商 CDN/直播以上的链路称之为上行接流层,云厂商 CDN/直播以下的部分称之为下行播流层,针对上行链路、下行链路及云厂商内部链路如何进行质量优化,详情在下文展开。一、质量优化81)上行优化a a)推流传输协议优化推流传输协议优化案例 1-阿里 RTS 直播RTS 在阿里云视频直播的基础上进行全链路延时监控、CDN 传输协议改造、UDP 等底层技术优化,通过集成阿里云播放器 SDK,支持在千万级并发场景下节点间毫秒级延时直播的

6、能力,弥补了传统直播存在 36 秒延时的问题,具备较优的抗弱网能力,确保了超低延时、低卡顿、秒开流畅的直播观看体验。RTS 直播适用于互动直播、及低延迟直播场景,详情介绍参考链接。b b)接流链路优化接流链路优化案例 1-国内自建接流源站自建接流源站,具有优势如下:拥有 CDN 调度能力,增强了源站及整个直播平台容灾的能力;使用公共云平台自建直播接流源站可以增强平台的弹性能力,并且在多云策略的举措下,可以避免被一家云厂商锁定;同时客户可以执行调控各 CDN 流量比例,在质量和成本间取得最好的折衷;如自研智能 CDN 调度系统,精确捕捉 CDN 与用户的动态变化,可以更合理地利用CDN 资源,通

7、过自动调度取优各厂商各区域的 CDN 质量,逃逸个别厂商 CDN 故障,可以大大降低观看故障时长,节约大量人力监控和维护成本。自建接流源站客户包括某短视频 A、短视频 B、游戏直播客户 A、党媒客户等。某短视频客户 A 的自建源站,一部分部署在自建的 IDC,一部分部署在阿里云及其他友商的公共云平台上。通过自建多地域源站,某短视频客户 A 实现了可以自研推流协议的优势。自建源站赋予了客户 CDN 调度的能力,即各家 CDN 都需要来客户自建源站进行一、质量优化9回源拉流。然而该客户体量庞大,需要同时使用多家 CDN,而各家 CDN 的质量、价格参差不齐,以及经常有一些不可预知的突发状况,因此,

8、通过人工调度的方式,显然是无法接受的。客户自研智能 CDN 调度系统,精确捕捉 CDN 与用户的动态变化,从而更合理地利用 CDN 资源,且大大降低观看故障时长,节约大量人力监控和维护成本。该客户对源站的要求非常高,必须有高可靠、高并发和易迁移的特性。高可靠:源站资源和系统要具有冗余的能力,在线上资源出现异常时,保持业务的可持续性。高并发:在面临突发流量时,源站可以快速扩展一倍以上,对房间的支撑能力和分发能力都有高并发的扩展。易迁移:某短视频客户 A 业务部署在多个 IDC 和公共云上。出现服务质量风险或商务风险时,可以实现快速转移。案例 2-云厂商边缘节点推流多云厂商 CDN或直播均支持边缘

9、推流模式,边缘推流可以利用云厂商丰富的 CDN节点、覆盖范围广的优势,优先将流数据调度至距离用户最近的最优 CDN 节点,通过云厂商智能调度系统将数据快速传输至直播中心进行内容分发,保证用户访问的都是最佳的上行网络,减少因上行传输带来的卡顿、拉流缓慢的问题。阿里直播边缘推流介绍参考链接。一、质量优化10案例 3-主播推流网络切换 fallback 机制推流端实现帧码率音视频头等关键视频元数据监控,识别到长周期推流稳定性问题或者推流失败问题可以支持断流自动切换到备用 CDN 节点线路重试,多次重试失败显性提醒主播更换网络环境;其中切换到备用 CDN 节点线路,可以为单厂商的另外节点,也可以为其他

10、厂商 CDN 节点。推流端实现视频关键元数据监控,包括:长时间的帧率跳变(按经验 4 秒及以上的帧率 80%及以上的跳变未恢复行为会导致播流卡顿),时间阈值的选取与业务需求相关;音视频头是否=1,不等于 1 容易引发卡顿等。2)云厂商内部链路优化a a)协议栈优化协议栈优化阿里云直播全链路节点均支持开启协议栈优化,协议栈优化主要是针对 rtmphttp 协议展开,基于 TCP 协议通过更改拥塞算法、滑动窗口逻辑等来实现节点建连逻辑、弱网、数据传输逻辑等方面的优化措施。CDN 产品已用于不同类别的实际业务中,如大文件下载、图片小文件访问、音视频点播、直播流媒体下载等。各个不同业务类别下,对于业务

11、侧来说,期望的业务最优结果不同。比如直播业务下,期望首屏够快、延迟较短、卡顿尽可能少,点播业务下,首屏秒开、卡顿缩减,大文件下载下,下载速度稳定,下载速度上限尽可能调高等等。不同业务类别下,基于产品侧带宽利用率,带宽成本等的考量,需要采用不同的协议栈优化策略。为了应对不同业务的不同需求,阿里云产品侧提供有多种场景下的拥塞控制算法,来优化请求在节点建连,丢包重传,数据包传输时的逻辑,同时协议栈优化的开启对阿里直一、质量优化11播内部成本会有所增加。b b)内部链路卡顿自动切换内部链路卡顿自动切换 L1-L2L1-L2,L2-L2-中心中心推流、播放等请求进入到阿里云直播节点系统之后,需要在不同层

12、级节点之间进行传递,由于节点之间走运营商公网,任何一级公网环境出现抖动均会影响整条请求的可用性。此时通过一定算法判断出抖动、卡顿等异常情况的出现,并自动调整请求的上下行节点,来规避此条异常卡顿公网链路,达到恢复请求可用性的目的。目前卡顿内部链路自动切换主要应用在直播场景中,主要通过媒体时间戳、帧率(每秒收帧数)等信息判断卡顿的产生,通知上下游节点是否准备切换。为了确保切换是有效和必须的,也会存在一定算法来规避误切。直播域名(推播流域名均可开启)开启内部链路卡顿自动切换:卡顿切换时间推荐 5s。不开启情况下:CDN L1L2,L2 到中心链路默认出现 10 秒帧率掉 0,才进行内部链路切换,业务

13、影响时长至少 20+s。该功能开启需要提交阿里云工单进行申请。预期的业务影响:因调整前后,数据在内部链路已有 cache,这部分 cache 重发,会导致端上画面出现几秒的回退。c c)边缘节点覆盖调整边缘节点覆盖调整CDN 的节点调度一般是同大区内调度,当出现长期跨大区调度,客户可以提交相关信息申请调整覆盖节点。对于区域运营商限制跨省情况,阿里云 CDN 产品也可增加调度限制实现尽量本省,或者限制跨某省覆盖;调整非即时生效,和客户本地 DNS 过期时长有关。d d)缓存及回源保持配置缓存及回源保持配置一、质量优化12配置客户端播流断流后,L1 保持一定时长的的拉流或者不断流,同时如果未触发拉

14、流模式也可以配置播流断流后维持一段时间拉流或者不断流;该模式开启后可以优化首屏,但对直播产品和客户源站会产生额外的带宽开销。直播产品内部也可以配置直播视频在产品内部的缓存时长,缓存时长越长,直播延迟越大,但相对抗网络抖动的能力越强,建议 rtmp 及 flv 的延迟配置时长保持一致,配置文档参考链接。3)下行播放优化a a)多码率多码率&窄带高清窄带高清多码率及窄带高清的本质其实就是在弱网/低网速环境下使用低码率视频播放以减少客户播放视频质差现象,网络状态好/高网速情况下使用高码率视频播放,提升观看体验;多码率自适应可将指定的音视频文件流统一打包生成一个自适应码流文件,让播放器可根据终端网络带

15、宽环境,自行选择使用对应码率的播放 URL。播放协议为 HLS;视频画面由像素点构成,一个画面中像素点越多清晰度就越高,像素点的个数进行分档就称之为分辨率,分辨率有 LD、SD、HD、2K、4K,LD 就是常说的 480P、SD 即 720P、HD 即 1080P;分辨率越高,在音视频编码格式、帧率等一致的情况下,一个视频的码率就越高,播放所需要的网络环境如带宽及稳定性等就越高;阿里云直播产品已支持多码率转码,客户可按需配置,相关介绍和配置文档可参考这里。窄带高清技术对编码算法进行优化,可以实现在同等画质下更省流、在同等带宽下更高清的观看体验。阿里云直播产品已支持窄带高清配置,参考链接;终端应

16、用如何选择适当清晰度的视频进行播放?终端应用如何选择适当清晰度的视频进行播放?终端用户的网络带宽需要不小于视频码率才能保障视频的清晰观看,不同分辨率的视频常态下的码率区间相对固定,所以业内对于播放视频码率的选择一般有两种做法:一、质量优化13第一种根据不同的终端画质需要选择不同码率的视频作为默认码率;第二种为多码率自适应技术,该技术需要终端播放器配合检测终端客户网络情况+集成码率自适应算法+播流视频支持多码率来实施。不同的终端画质需要选择不同码率的视频作为默认码率,头部客户实现方案如下:某长视频平台 A:手机端默认画质 480p,网页端默认画质 720P某长视频平台 B:手机端默认画质 720

17、p,网页端默认画质 480P某短视频平台 A:手机端默认码率 2Mbpsb b)终端播放器终端播放器 bufferbuffer 缓冲区缓冲区播放器播放视频的过程本质上是播放器代码逻辑读取缓冲区数据,进行解封装、音视频解码、音视频同步处理、音视频渲染的过程。为了抗网络、渲染、解码等各种抖动,播放器播放视频一般会设置缓冲区来进行抗抖动,缓冲区分为帧缓冲区和显示缓冲区:帧缓冲区,主要是抗网络抖动、抗解码抖动、避免丢帧。显示缓冲区,主要是抗渲染抖动、实现音画同步。缓冲区越大,抗抖动效果越好,但内存占用就更大,延时效果也更大。不同直播场景的 buffer 缓冲时长如何设置:教育类直播场景需要低延迟直播,

18、而终端播放器缓冲区时间越长,延迟越高,一般教育行业终端播放器 buffer 缓冲时长 0-1s;一、质量优化14秀场直播或带货直播等场景对延迟无高要求,一般会设置 3-5s 的 buffer 缓冲区。c c)终端播放器低帧率终端播放器低帧率/0/0 帧识别帧识别 自动切换线路自动切换线路相关直播业务采用多云厂商容灾,业务服务器下发多云厂商流地址供终端播放器播放,终端播流用多云厂商直播域名 fallback 逻辑,当终端播放器识别 A 域名长期低帧率/0帧的情况,终端播放器播放器 fallback 到 B 厂商的 B 域名进行播放同时可以结合网络探测数据识别是否需要降低档位,播放低码率视频,这样

19、的播放逻辑可能会存在直播画面的重复。多云厂商直播域名 fallback 逻辑实现的收益点:单云厂商直播中心故障逃逸;单云厂商直播分发节点异常逃逸;部分终端用户到直播分发节点之间的网络链路问题逃逸;地方运营商域名级别封禁快速逃逸。d d)预解析及链路择优策略预解析及链路择优策略视频播放整体的链路包括了:域名解析、4 层连接建立、网络流数据获取、播放器播放展示视频等。优化视频播放体验,降低 DNS 解析耗时也是其中一环,DNS 解析耗时优化策略包括了域名预解析机制,DNS 本机缓存机制。域名预解析表示在应用启动或网页打开的时候对该应用或网页可能会涉及访问的域名进行预解析并缓存到本地,那么当访问对应

20、域名的时候整体的 DNS 解析耗时就减短了。DNS 本机缓存时长不建议太长,时间太长可能部分云厂商的直播分发节点出现异常下线,而终端仍然请求到异常节点的情况,某短视频客户 A 的 DNS 本机缓存时长是 3 分钟,一、质量优化15可参考。e e)运营商异常解析运营商异常解析&缓存缓解缓存缓解-HTTPDNS-HTTPDNS部分运营商为了提升其终端用户的质量,会做一些 DNS 解析劫持,将流量劫持在网内就近访问内容的 cache。部分情况也会出现一些运营未遵循 DNS 解析的 TTL,LDNS 解析缓存时间过长的情况,如果当时直播的分发节点异常下线、节点裁撤等,就会导致终端用户访问不到业务,或者

21、运营商因为其他的一些原因做了 DNS 解析劫持。以上的 DNS 解析行为均可能会导致终端用户访问到的内容不符合客户业务预期,这种情况可以通过 HTTPDNS 解析解决。HTTPDNS 产品介绍。f f)预加载策略预加载策略长短视频应用场景下,终端用户应用展现的音视频内容由业务应用调度算法控制,为缩短音视频内容展示的首屏时间,一般会采用预加载策略。多节目直播场景下,开发者可维护一个队列,用于填充一定数量的待播放直播节目(每一个节目对应一条待开播的直播地址),在用户播放到 A 节目时,可预先加载接下来的N 个直播地址。这样用户在进入下一个直播节目时,可节省网络建连、流媒体 meta 读取、播放器初

22、始化等一系列耗时动作,快速进入首屏。g g)RTSRTSRTS 在阿里云视频直播的基础上进行全链路延时监控、CDN 传输协议改造、UDP 等底层技术优化,通过集成阿里云播放器 SDK,支持在千万级并发场景下节点间毫秒级延时直播的能力,弥补了传统直播存在 36 秒延时的问题,具备较优的抗弱网能力,确保了超低延时、低卡顿、秒开流畅的直播观看体验。RTS 直播适用于互动直播、及低延迟直一、质量优化16播场景,对于抗弱网优化卡顿的直播场景也有很好的收益。详情介绍参考阿里云官网链接。4)上下行质量监控体系通过构建完善的直播上下行质量监控体系,客户可对业务质量有有效认知并及时发现问题并进行优化,这个问题及

23、认知包括:各云厂商质量差异、业务各区域运营商质量差异、云厂商云产品异常、局部终端运营商网络问题、大主播推流问题、基于终端播放日志+行为特征分析实现内容推荐算法优化等等。下面展开介绍客户维度可做的监控告警及云产品维度可做的监控告警。a a)客户维度可做的监控客户维度可做的监控&告警告警基于终端日志打点逻辑,实现终端业务监控、告警;基于直播源站服务器性能、业务指标等,构建直播源站监控、告警;基于直播推流上报逻辑,实现推流端业务监控、告警。具体的终端日志要打点哪些字段、质量监控指标统计哪些、质量分数怎么计算、告警怎么实现等,详情参考多媒体行业质量监控最佳实践。客户可基于多端业务监控或告警识别业务问题

24、、直播源站问题,通过运维或运营处理链路聚焦问题进行优化落地:如终端业务告警+阿里云客户风险主动定位服务+运维人工处理链路,实现云直播产品、局部终端网络(运营商劫持、解析长缓存、局部网络抖动或异常等)、客户自建直播源站问题、主播源流问题的定界及止损;如针对大主播的推断流监控告警,识别大主播非预期的断流行为,进行及时介入止损;如基于终端日志实现各云厂商质量评分体系,评估各云厂商产品服务质量及驱动各一、质量优化17云厂商优化;基于终端日志实现个别终端播放问题的快速定位,以进行终端问题的逃逸等等。b b)阿里云阿里云-云产品维度可做的监控云产品维度可做的监控&告警告警客户可以基于云监控产品,实现直播业

25、务的监控及告警配置,涉及指标包括了 4xx、5xx、带宽 qps 等,具体参考文档链接。也可以基于阿里云直播产品实时播放日志(延迟秒级),实现基于服务端维度的直播质量指标监控,注意该监控的实施其实不能完全的代表终端的情况,因为服务端的日志无法覆盖终端到直播分发节点之间的全部链路情况,并且服务端日志卡顿的定义是经验值,不能代表全部的终端业务场景,理想情况是终端监控+服务端监控并存。怎么通过直播产品日志定义卡顿?音视频帧率维持在固定值或者固定值上下小比例波动,且视频帧率高于 12 帧-手机端(15 帧-PC 端)一般会被定义为稳定的直播;如果是教学投影 PPT 场景可能存在视频帧率较低场景,具体什

26、么样的帧率是业务维度的低帧率会引发终端客户观感上的卡顿,客户维度可以自定义,但可以明确的是低视频帧率 flv_lag_vfcnt 是判断卡顿的一个维度。终端播放器 buffer 缓冲区缓冲时长为 X 秒,如果日志中视频帧率 flv_lag_vfcnt 连续 X-1 秒及以上掉 0,就会卡顿。终端播放器buffer缓冲区缓冲时长为X秒,如果X秒之内的平均帧数flv_lag_vfcnt,如果平均帧数高于帧率*0.8 则判定不卡顿,低于则判定卡顿(0.8 是经验值,可以根据实际业务做调整)卡顿率如何计算?某客户定义:有卡顿的观看行为占总观看行为的比率,1 分钟加权平均值一、质量优化18某客户公式:卡

27、顿率=有卡顿的观看行为/全部观看行为,详情参考多媒体行业质量监控最佳实践。3.点播质量优化上文介绍了直播业务如何进行优化,下面将展开点播业务优化的介绍,整体点播业务架构分为三层分别为上行源站层,中间分发层及下行播流层,而一般中间分发层众多的业务厂商均会采用云厂商 CDN/直播进行分发,基于该前提下本文将云厂商 CDN 以上的链路称之为上行链路,云厂商 CDN 以下的部分称之为下行链路,针对上行链路、下行链路及云厂商内部链路如何进行质量优化,详情在下文展开。1)下行优化a a)DNSDNS 解析优化解析优化在一条完整的 http 请求中,除了快速从所解析节点中拿到响应内容外,确保能快速解析,确保

28、了通过一系列服务侧配置优化,缩短从点击视频播放,到看到视频首帧画面的耗时,也是点播场景中大量客户的首要诉求。一、质量优化19传统的 DNS 解析流程中,一般如上,即用户向 Local DNS 请求域名解析时,Local DNS 会先检查自己的缓存里有没有该域名的解析结果,如果没有,则需要向权威 DNS 服务器请求,权威 DNS 依照自己的缓存结果,逐步向 root,com/net.等各级服务器获取到最终 cname 域名,之后权威 DNS 再向 CDN 的 DNS 权威服务器获取调度到的节点VIP。这里 DNS 解析优化主要围绕缩短权威 DNS 请求次数来进行优化,优化方法主要分为 DNS 预

29、热和 HTTPDNS 两种方式。DNS 预热说明:预热就是对于特殊域名,在 CDN 节点上利用程序不断的向 Local DNS 请求,使Local DNS 缓存中一直有该域名的解析结果,从而当用户真正请求时,Local DNS 只需从缓存中取出解析结果即可,缩短用户的 DNS 解析时间。分类:普通预热和伪造源预热。普通预热:预热过程中,会将节点到 Local DNS 的连通性上报到服务端,若半个小时之内有一定百分比的请求都不通,则认为该节点到 Local DNS 的不通,约定一段时间之后进行重试。伪造源预热:节点程序组装 ip 报文,将其中的源 IP 字段替换掉,替换为对应地区 LocalDN

30、S 网段的 IP 地址,向 LocalDNS 发起解析请求进行预热。一、质量优化20HTTPDNSHTTPDNS 是面向多端应用(移动端 APP,PC 客户端应用)的域名解析服务,具有域名防劫持、精准调度、实时解析生效的特性。通过利用 HTTP 协议与 DNS 服务器交互,代替了传统的基于 UDP 协议的 DNS 交互,绕开了运营商的 Local DNS,有效防止了域名劫持,提高域名解析效率。另外,由于 DNS 服务器端获取的是真实客户端 IP 而非 Local DNS 的 IP,能够精确定位客户端地理位置、运营商信息,从而有效改进调度精确性,跨越中间多级解析服务器,缩短 DNS 解析链路。H

31、TTPDNS 产品介绍一、质量优化21b b)视频降码率视频降码率在保证画质或对画质要求不高的业务场景下,通过降低视频码率,减轻播放器端对上行带宽的承载压力,从而确保播放流畅。注意在相同帧率、分辨率、编码格式等情况下,码率的降低意味着画质的降低,可能会影响终端用户的播放体验,需要客户根据业务场景综合评估。下面将展开阿里云目前已有转码能力的介绍。传统低码率转码(可能损失画质):可根据需求选择不同的封装格式和清晰度将视频转码播放,适用于长视频。视频点播产品预置了流畅、标清、清、超清、2K、4K、原画(转封装)共 7 种清晰度,以及普通音质、高音质两档音质。您可以对不同清晰度进行码率、分辨率、格式等

32、自定义设置,同时使用转码模板组进行不同转码模板的分组及管理。窄带高清:窄带高清技术对编码算法进行优化,可以实现在同等画质下更省流、在同等带宽下更高清的观看体验。阿里云直播产品已支持窄带高清配置,参考链接;d d)客户端优化客户端优化buffer 缓存调整,具体可以参考直播质量优化-下行播放优化-终端播放器 buffer 缓冲区中的介绍。低帧率检测,具体可以参考直播质量优化-下行播放优化-终端播放器低帧率/0 帧识别自动切换线路中的介绍。播放地址预加载,具体可以参考直播质量优化-下行播放优化-预加载策略中的介绍。2)云厂商内部链路优化a a)命中率优化命中率优化CDN 命中率提升,可以让终端用户

33、请求就近缓存命中,减少回源,回源的减少意味着链一、质量优化22路的缩短,链路越短相对稳定性越高,同时也可以缩短交互时间,故需要提升命中率,下面展开介绍命中率提升的方式。闲时预热非业务高峰时期,及时通过 API 接口或者控制台,提交预期会被高频访问的资源 URL进行预热,提前将文件拉取到 CDN L2 节点上。预热方法可以参考这里。配置优化按照 CDN 对缓存配置的逻辑,检查源站 Web 服务器配置,是否存在对于静态文件的特定响应头,诸如 cache-control:no-cachemax-age=0 等配置,源站取消此类配置。合理配置缓存过期时间,对于不同类别的源站文件,比如图片cssjsjs

34、on文本等等,按照实际文件更新速度,设置合理的 CDN 过期时间,具体配置方法可以参考这里。去除 URL 中问号后的参数缓存,当 URL 请求中带有 queryString 或其他可变参数时,访问同一个资源的不同 URL(URL 携带的参数不同)会重新回源,导致 CDN缓存命中率低。如果客户端请求参数非业务逻辑必须,可以在 CDN 侧开启忽略参数一、质量优化23缓存,提升命中率。配置方法可以参考这里。大文件设置分片回源策略,用户下载安装包可能下载一半就停止下载,或者观看视频只看了一部分就停止观看,即用户只需要访问资源文件指定范围内的部分内容,但是 CDN 节点会向源站请求整个文件,从而使得 C

35、DN 节点从源站下载的内容大于响应给用户的内容,导致缓存命中率低。range 回源配置可以参考这里。合并回源,用于配置复用某个域名缓存在 CDN 上面的资源,比如 域名打算复用 域名的资源,同时使用 域名回源。b b)覆盖调整覆盖调整CDN 的节点调度一般是同大区内调度,当出现长期跨大区调度,客户可以提交相关信息申请调整覆盖节点。对于区域运营商限制跨省情况,阿里云 CDN 产品也可增加调度限制实现尽量本省,或者限制跨某省覆盖;调整非即时生效,和客户本地 DNS 过期时长有关。c c)协议栈优化协议栈优化点播业务下,首屏秒开、卡顿缩减,大文件下载下,下载速度稳定,下载速度上限尽可能调高等等。不同

36、业务类别下,基于产品侧带宽利用率,带宽成本等的考量,需要采用不同的协议栈优化策略。为了应对不同业务的不同需求,产品侧提供有多种场景下的拥塞控制算法,比如传统的基于丢包的拥塞控制、基于时序的拥塞控制、硬性控制滑动窗口上下限、动态调整滑动窗口上下限、主动丢包探测和发现机制、自适应初始化滑动窗口、连接超时 RTT 控制、分时段控制滑动窗口等等;通过调整协议栈拥塞控制算法,来满足不同业务需求场景下,请求在节点建连,丢包重传,数据包传输时的逻辑。二、成本优化24二、成本优化1.成本优化概述在客户使用云 CDN 的过程中,因自身源站流量输出、业务数据存储、CDN 侧流量产生、请求数增长,增值功能使用等导致

37、客户用云财务、运维、存储等各项成本增加,我们可以通过优化 CDN 功能配置、调整业务结构、优化计费模式等多种方式,尽可能降低上述成本,使用云成本更加低廉,使用更加高效。2.CDN 及直播出流量优化方案1)视频&图片降低码率a a)升级升级 H.265H.265 编码编码H.265 或高效率视频编码(HEVC)是一种新的视频编解码技术。视频编码指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。相比 H.264,H.265 压缩效率更高,传输码率更低,视频画质更优,实现监控视频传输带宽减半、存储减半、成本减半,带给人们更优质的体验。不过 H.265 编码对硬件要求比较高,需

38、要编码性能优越的处理芯片。目前阿里云直播、媒体处理、视频点播均支持 h265 转码,参考直播文档、媒体处理文档、视频点播文档。b b)升级升级 AV1AV1 格式格式AV1 是由开放媒体视频联盟(Alliance of Open Media Video)开发的开放、免版税的下一代视频编码格式。AV1 所使用的编码技术主要来源于 Google VP9 的下一代影片压缩格式 VP10,相比目前的 H.265(HEVC)编码,不仅能保持原视频的分辨率、帧率、比特率,视频体积还能再二、成本优化25缩小 20,相比于 VP9 压缩率也高出 30。这就意味着在同等带宽下可以传输更高清的画质。2020 年上

39、半年国内某头部长视频平台在电脑浏览器端(PC web 端)、安卓移动端上线 AV1 视频编码格式,成为国内首家也是目前唯一一家应用 AV1 的视频网站。2)直播图像拆分降码率IVE(Intelligent video encoding,即智能视频编码)技术可以根据客户要求对视频进行智能编码,并在不损失图像质量的前提下,优化视频编码性能,最终降低网络带宽占用率和减少存储空间。直播 CDN 带宽=同时在线人数*码率,如果要降低带宽就需要降低码率。直播图像在没有区分主体和背景时,为了保证整个图像清晰,就要牺牲码率。但其实图像是可以拆分的,可以考虑主体清晰度高,背景或者边缘图像相对模糊并不会影响整体画

40、质。3)使用 CDN 智能压缩a a)GzipGzipGzip 压缩是 GNU 组织发起的一项压缩算法,主要提供对于文本等静态文件的压缩,能极大缩减带宽流出。目前主流的浏览器基本都支持 gzip 压缩,CDN 中开启 Gzip 的方法参考这里。Gzip 的默认压缩等级为 6,压缩等级越高,压缩率越高,但同时进行压缩所占用的 CPU 越高,压缩过程会越慢,导致访问越慢,所以压缩等级并非越高越好,需要视情况而定。b b)BrBrBrotli 是 google 开源的一种新型压缩算法,Brotli 压缩比智能压缩性能更好,同等压缩比情况下,brotli 压缩速度更快。同等压缩时间情况下,brotli

41、 压缩比更高。开启 Brotli 压缩功能后,CDN 节点会对资源进行智能压缩后返回,缩小传输文件大小,提升文二、成本优化26件传输效率,减少带宽消耗。具体开启方法可参考这里。目前 Gzip 压缩使用范围相比于 br 来说更高,不过随着 Chromium 内核的兴起,未来支持 br 压缩的浏览器会越来越多。4)使用客户端缓存在使用 CDN 的过程中,合理利用浏览器强缓存和协商缓存能有效减少对 CDN 的请求,从而缩减请求数和 CDN 带宽流出。强缓存通过直接使用浏览器本地缓存、协商缓存通过 httpcode:304,从而继续使用浏览器本地缓存,两者均可以有效减少 CDN 流量支出。强缓存在 h

42、ttp1.0 中使用 expires 头来控制,在 http1.1 以后,通过 cache-control 头来控制,浏览器在请求 CDN 的过程中,会优先检查本地缓存,通过 expires 或者 cache-control(两者均存在情况下,cache-control 头优先)判断使用强缓存。确认使用的情况下,无需再向 CDN 发送请求;在强缓存未命中情况下,浏览器一般会发送带有请求头 If-modified-since 或 if-none-match(具体看 CDN 返回此资源的 response-header 时,是 last-modified or etag)确认服务侧资源是否变更,C

43、DN 返回 304 的情况下,代表浏览器可继续使用本地缓存,从而减少 CDN 流量流出。3.回源成本优化1)源站存储成本优化a a)业务存储介质合理规划业务存储介质合理规划存储分级处理,这里按照文件被访问的频次,规划不同频次文件对应的存储介质。存储介质主要分为机械盘 HDD(Hard Disk Drive)与固态盘 SSD(Solid State Drive)。二、成本优化27混合硬盘 HHD(Hybrid Hard Drive)同时使用了 SSD 硬盘和 HDD 硬盘,通过 Cache 机制,实现冷热数据自动分级存储,在存储容量、成本与性能的最佳均衡。这里,以阿里云推出的对象存储服务(简称:

44、OSS)为例,提供了标准、低频、归档、冷归档等多种不同的存储,来适应客户不同频次访问文件的存储需求。用户可以将业务不同类型数据按照访问频度进行分类,并保存到 OSS 不同类别的存储服务中。OSS 存储类型介绍可参考文档。比如某客户主要提供短视频服务,每天会产生大量的时长不一的点播视频,用户侧会按照视频被点击次数、观看时长、退出时长等分析一个视频的推荐热度。对于热度较低的资源,通过历史数据研判,约定一定时间逐步从标准存储,转换到低频存储,在这段期间内,如果热度进一步降低,再从低频存储转换到归档存储,直至到冷归档存储。同样,如果转换到较低付费标准的存储类型 bucket 时,发现热度上升,为了避免

45、过多访问导致数据取回费用飙升以及解冻成本升高,可再将其转换成标准存储,降低平均访问费用。b b)其他方面其他方面除了上述提到的优化点以外,以下优化点也可以根据实际情况一并考虑:按照业务需求,合理规划不同类别文件的存储时限,并做好数据的定期清理。做好同地域不同可用区的数据同步,尽量减少不同地域之间数据的复制或同步,缩减对应存储和公网迁移成本。存储时,可采用数据压缩,缩减存储开销。二、成本优化28做好数据存储监控和相关告警配置,在数据存储量达到一定阈值时,及时发现和清理冗余数据。可采用存储容量包,缩减存储财务开销。2)源站出流量成本优化a a)通过压缩算法或业务逻辑优化降低源站出流量成本通过压缩算

46、法或业务逻辑优化降低源站出流量成本源站支持 Gzip、Br 压缩。通过压缩源站响应数据,缩减对外流量或带宽流出。源站支持 range 等分片请求,在大文件下载和音视频访问过程中,支持响应客户端range 请求(而非响应全部长度的文件),缩减对外流量和带宽流出。b b)CDNCDN 自有业务功能实现命中率优化降低回源流量自有业务功能实现命中率优化降低回源流量可参考点播质量优化中可参考点播质量优化中-命中率优化一节的描述,在此不再赘述。命中率优化一节的描述,在此不再赘述。c c)CDNCDN 架构调整降低回源流量架构调整降低回源流量L1 节点缩减一般而言,一个域名调度域中节点数量会在一定区间内变动

47、,而不会有大的变化,对于有业务服务区域比较有集中特性的域名,比如某客户主要在华东区域有业务覆盖,此时域名调度域中其他区域和省份的调度节点大部分处于闲置状态,从而导致其他地区出现客户访问,调度到非华东地区节点时,大部分请求都会 MISS(因为访问请求少,所以历史缓存数据热度较低,会很快过期),按照命中率计算公式:缓存命中请求数/总请求数*100%可以看到,非华东地区请求 MISS 的增加会导致分子的减少,从而降低域名整体命中率。当然,缩减 L1 节点数量也会带来其他的一些附带问题,比如原加速域名调度域中存在二、成本优化29湖北省份节点覆盖,做了节点缩减之后,后续湖北地区客户的访问请求就会因为找不

48、到本地节点,从而产生跨省甚至跨大区的长链路,从而导致 4 层延迟的升高,影响首字节。所以该项优化策略一般针对于业务侧有比较强的地域覆盖属性的情形。CDNL2 节点缩减减少回源可以根据业务场景,视情况评估缩减 L2 的节点数量,来减少回源流量;CDN 整体的回源逻辑是请求到 L1 节点,L1 节点未命中回源 L2,L2 未命中则回源获取资源,相对来说 L2 节点数量越多,相同文件需要回源取的次数越多,所以缩减 L2 可以一定程度上减少回源流量。但 L2 节点的缩减也会带来附带的问题,L2 节点过少,L2 节点出现异常,灾备的 L2 节点也会相对少,对稳定性有劣化影响。CDN 302 调度实现命中

49、率提升减少回源原有方案是 L1 回源到 L2,L2 再回源到客户源站,采用此方案后,如果缓存未命中此 L1,则此 L1 可以回源到策略中的下游有缓存的 L1,减少回源。L1 回源使用一致性 hash 环(回源访问调度中心返回 302 方式),在阿里云 CDN 的 L1做汇聚,即先回站外 L1 环(电信,联通,移动等),再回到站内 L1 环(站内环多线接入,同时提供给小运营商当做 L1 直接访问使用)。将一个大区内的 L1 回源 L2 流量做汇聚,即将原有 CDN 链路架构做变化:原架构:大区内 L1-L2二、成本优化30新架构:大区内 L1-汇聚 L1-L2该方案实现需要终端支持 302 跳转

50、。同时如果客户业务域名整体的资源较冷,302 调度开启后的命中率性能反而会出现劣化。原因:302 调度开启后,对于冷资源会出现一次302 跳转,再通过 L1 回源 L2 进一步回源,如果域名下的整体资源很冷,较多资源不能再次命中,那么首次 302 跳转反而会增加开销。三、容灾建设31三、容灾建设1.直播容灾基于直播云产品实现的直播业务链路包括:推流链路、直播转码&截图&录制&合流&垫片等逻辑、下行播流分发逻辑等等,其中推流链路存在多种不同架构,直播转码截图录制等逻辑亦存在多种实现方案。下文将展开推流链路架构、直播转码截图逻辑方案的介绍,同时基于直播业务链路架构展开容灾方案介绍。1)直播链路架构

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服