「顺畅不卡顿」,看华为云如何修炼音视频“内外功”
摘要:云原生时代,视频直播、实时音视频通信等在线音视频服务面临各种复杂的网络环境和流量爆发式的增长,对音视频质量监控和成本优化提出新的严峻挑战。
2020 年是不平凡的一年,客观来说它促进了我们音视频业务的爆发式增长。华为云基于大容量、低时延、全互联的媒体网络,通过全国的 2000 多个节点和几百 T 的宽带,和我们的客户一起服务了亿级在线用户。在这个过程中,通过大数据提升视频体验质量和成本优化显得尤为重要,同时华为云也积累了一些经验。今天来自华为公司,在大数据和音视频业务领域有十多年研发经验的康永红,将和大家分享云原生时代,华为云在音视频质量监控与优化方面的实践。
本次分享主要分为四部分:
第一部分是云原生时代如何快速构建音视频数据服务体系;
第二部分是华为云直播和 RTC 音视频服务体验质量优化实践;
第三部分会介绍华为在云原生时代是如何快速构建音视频服务全流程质量监控平台;
最后总结和展望音视频业务体验质量的思考和技术规划。
音视频体验发展趋势及背后技术支撑的挑战
从音视频体验的发展趋势来看分为直播、RTC 和 XR 三代,可以归纳为两个特点:第一点是用户体验越来越真实,传输分辨率从 720P 到 1080P、再到 XR 的 4K、6K、8K、乃至更大;另一点是业务要求互动性越来越强,迟延方面从 30s 到 XR 不超过 100ms,对延迟要求更低。
基于以上质量体验的发展趋势,我们需要有一个后台技术支撑。我们在使用大数据解决支撑的过程中也经历了三个阶段:首先是 5 年前用大数据平台解决技术问题,其次是在 3 年前用数据中台解决效率问题,第三个阶段是最近两年我们综合 1.0、2.0 时代的特点,采用“中台+可信数据服务”的数据服务中台模式解决价值问题。我们认为数据服务中台是解决业务差异性和市场不确定性的最佳框架。
在直播中我们经常会碰到卡顿、实时音视频通话延迟等情况,这些问题都会严重影响用户体验。解决这些问题的一般方法是构建音视频质量监控平台,采集数据,用大数据的方法解决监控质量问题。在这过程中,我们又会碰到一些新的问题,比如采集数据延迟很大、丢失很多、数据不准确,此外还包括大数据算力不够、交付时延比较长等等问题。这些体验和技术问题带给我们很多挑战——包括会在什么场景出现这些问题,无法精准确定是网络问题、设备问题还是环境问题,以及这些问题影响了哪些客户等等。
那我们要怎么解决这些问题呢?在端+边缘计算+云计算的云原生时代,技术上已经给了我们一些解决方法。最好的实践是基于“数据湖+数据服务”的云原生数据驱动能力,去解决业务差异性和市场不确定性。这套架构分为六层,我们通过这六层去解决后台系统的相对稳态及前端业务稳态之间的矛盾。
架构落地的具体实践是基于云服务基础设施,首先我们构建了统一的音视频数据湖,同时构建从采集、生产到消费的数据价值链,通过这两者结合,支持所有同时在线的几大类服务接入,和面向内外部七类客户,以及包括运营、运维等客户数据服务的 QoS、QoE、QoC 等三大类七小类的场景诉求。当然仅仅基于这个架构开展体验质量优化工作是远远不够的,这只是技术上的解决方法。
音视频服务体验优化三步走:监控、诊断、提升
从在业务角度出发,我们认为 QoE 体验是一个管理的问题,我们在业务上需要做一些设计,这块我们构建了音视频服务的体验体系,大致分为两个大的阶段和三个小的阶段。两个大阶段是先诊断、再提升,在诊断中分为监控和诊断两个小阶段。
具体展开来看,首先需要构建 QoE、QoS 的立体实时监控体系以及辅助 AI 的异常检测方法,做到实时发现问题。第二步在发现问题后用秒级诊断能力,快速诊断体验原因,这个原因可以具体到用户行为级。基于诊断结果,第三步就需要做体验提升,一般有两种方法:第一种是依靠人工经验做优化,另一种方法是智能调度,我们在面向不同行业、不同场景的情况下,基于智能调度策略在成本可控的情况下做到用户体验最优。
基于上述体验质量优化体系,接下来我将具体展开分享华为云在视频直播和 RTC 实时音视频方面的体验优化实践的案例。
音视频服务体验优化实践 1——直播体验优化
我们首先看一下华为云视频直播体验优化实践案例,我们在做到低时延、不卡顿、高清晰的同时,还实现了成本可控。总体分为三个阶段:第一阶段质量监控,第二阶段问题诊断,第三阶段体验提升。
视频直播的质量监控,我们首先构建了覆盖流质量、体验、规模、网络、成本、设备六个维度的立体质量监控体系,涵盖了 QoE、QoS、QoC 三十多个指标,其中包括帧率、码率等核心的 QoS 指标,秒开率、卡顿率等 QoE 体验指标和带宽、回源率等成本 QoC 相关的指标。
第二个阶段问题诊断——视频直播的秒级质量诊断,这是基于网络数据+端数据构建的直播流全链路监控体系。诊断流程贯穿了第一公里主播端监控推流帧率等 QoS 指标,到网络节点间帧率、码率等 QoS 质量指标监控,带宽回源率、成本指标,以及最后一公里观众端卡顿、秒开、黑屏等 QoE 指标。这样就实现端到端实时的秒级监控,如果发现异常情况可以及时反馈给顾客和调度系统,比如我们在第一公里发现帧率、码率出现异常,就通知客户在主播端进行策略调整,如果实在网络发现异常,就做一些节点用户数据调动或其他策略的优化,而当观众端出现体验异常时,智能调度系统会做调度策略的调整。以上整个全链路监控系统覆盖了 12 路直播全场景和全协议监控。
直播流全链路监控系统——从第一公里、到媒体网络、再到最后一公里,整个都是可视化的,这样可以提升问题诊断的效率。
第三步体验提升,视频直播体验提升大致分为两种方法。其一是通过运维同学的经验实施,另一种方法是基于智能调度系统——基于端、边、云数据协同做智能调度体验优化,这种方法利用了统一视频数据湖技术,实现端、边、云的 QoS、QoE、QoC 数据的协同,通过智能分析引擎生成流、客户、网络链路、节点、观众的实时画像,基于实时画像+调度策略由智能调度系统实施智能调度,在成本可控的情况下做到最佳体验。衡量指标主要选取两类指标,一类指标是成本指标,比如通过回源率来衡量成本是否下降;另一类指标为体验指标,通过卡顿率、秒开率等判断用户体验是否有提升。以上是视频直播在质量监控和体验提升的一些实践案例。
音视频服务体验优化实践 1——RTC 体验优化
接下来分享实时音视频 RTC 的体验优化的实践案例。RTC 属于第二代音视频业务,它和第一代直播在业务方面有很多差异,比较关注时延以及行为级的监控,基于这些差异性,我们也采用了三个不同优化体系。
第一点是质量监控,RTC 质量监控体系建立了覆盖通话、网络、成本、设备等六个维度的立体质量监控体系,覆盖 QoE、QoS、QoC 三十多个指标。其中核心指标包括等码率、帧率、丢包率、抖动质量 QoS 指标和秒开率、时延、卡顿率、入房和选看成功率等用户体验 QoE 指标,以及带宽等成本 QoC 指标,与直播监控指标相比,特别是端到端的时延指标,这是基于前面提到的差异性着重关注的。
基于监控体系,第二个工作是问题诊断,我们首先建立了三类体验质量数据服务,第一类是监控指标数据服务,主要覆盖的是服务端、客户端、设备、QoE、QoS、QoC,这些数据放在统计库、时序库中使用。第二类是网络端所有控制面和媒体面的事件数据服务。第三类是终端事件数据服务,包括终端侧用户行为事件,例如加入房间、切换角色、操作麦克风或摄像头等事件,此外还包含了终端设备数据,例如 CPU、内存、摄像头等。
基于这三类体验质量数据服务,RTC 构建了三层问题诊断体系。
第一层构建是覆盖全链路、全维度的 QoE/QoS 实时监控体系,可以在分钟级完成体验诊断和快速恢复问题。
第二层监控体系是基于网络行为数据和端侧行为数据的一键式用户个例通话 QoS 调查能力,它可以帮助我们快速解决 RTC 业务单用户的体验问题和投诉。
第三层问题诊断能力是在第一层 QoE/QoS 全局指标监控和第二层 QoS 行为调查能力基础上的体验问题自动诊断高级能力,它通过监控三十多个指标产生二十多个异常事件,并通过学习模型,给出影响的六类体验场景。这样系统就可以快速自动化地判断出体验发生异常的原因,并且快速传递给客户。
如何构建音视频服务全流程质量监控平台?
上述介绍的是华为云 RTC 业务体验优化的实践案例,做体验质量优化工作是需要平台完成的,我们下面来分享华为是如何构建音视频服务全流程质量监控平台的。首先从数据采集、传输、计算到消费四个环节的亿级规模音视频质量监控大数据平台,包括支持端、边、云全数据采集和传输的数据网络,支持实时计算、离线计算和机器学习的多模数据处理系统,以及支持运维、运营、客户的数据消费服务体系。
在构建平台时,会遇到很多性能、质量、效率以及实时性的问题,如何构建一个大容量、低成本、高效率和可信数据质量的平台?我们采用了批流一体和存算分离的架构。批流一体解决的是开发效率的问题,我们同一个指标可能在批流一体中计算一次就可以对所有服务使用,不需要重复开发,同时我们有一站式数据开发平台可以解决开发效率的提升。成本问题上我们采用的是存算分离——存储和计算是分离的,存储采用的是对象存储,价格相对低廉,计算引擎采用的是前面介绍的批流一体的方式,这样可以做到成本最佳。质量方面是采用了“ODS-DWD-DWS-ADS”四层数据治理平台,保证所有数据可跟踪、可管理,确保任何指标数据都是实时、完整、准确的。
在有了大容量、低成本的平台后,我们还面临断网、设备故障等问题。我们在平台可用性上基于云服务实施,采用跨 Region 主备容灾和多 AZ 模式,整体 SLA 可达 99.99%,来自端、边缘、云等全部六类数据不丢失,监控、调度等六类服务不降级。这样我们在整个环境下,任何环节出现异常,在质量和服务提升上都可以正常工作。
如何持续保证音视频体验质量三大利器?
回顾本次分享,音视频体验发展有三个特点:第一,用户对体验的要求是真实感越来越强,直播、RTC 等用户要求更高;第二,在用户体验上要求越来越互动;第三,面对各种网络、终端业务环境越来越复杂。
为了保证音视频体验质量,我们有 3 个利器:第一,针对不同业务场景,构建“先监控再诊断后提升”的体验质量体系;第二,基于“数据湖+数据服务”解决用户差异性和市场不确定性的问题;第三,在实施过程中要平衡成本和体验的关系。
对未来音视频业务体验我们有三点规划方向:一是持续基于端、边、云数据协同来驱动 QoE、QoS、QoC 优化;二是构建音视频内容质量的智能评估体系;三是建立第三代 XR 音视频体验质量规范,如沉浸感等。
本文分享自华为云社区《云原生时代,解密华为云音视频质量监控与优化实践》,原文作者:音视频大管家。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/f6344557e0fd736f9b7480c96】。文章转载请联系作者。
评论