共计 2496 个字符,预计需要花费 7 分钟才能阅读完成。
作者:邓小龙 (白展)
本文为《优酷播放黑科技》系列文章第一篇《自在视角技术体验优化实际》,之后咱们会陆续上线《基于 WebRTC 实现的直播 ” 云多视角 ” 技术解析》《自在视角技术的全链路策略与落地实际》,欢送点击左上角【阿里巴巴挪动技术】关注咱们,点关注不迷路 ~
《这!就是街舞》第四季大家看了吗?不晓得有没有小伙伴跟笔者一样,“DNA”都要跟着舞动了起来。除了炸裂的舞台,堪比跨次元的实在观影体验,让用户在自在视角视频体验成果下身临其境。
自在视角视频作为优酷内一种新鲜的观看模式,给用户带来了全新的观影体验,在对外的泛滥单干中作为优酷的亮点内容也引起了较高的关注度。然而随着产品声量的不断扩大,以后自在视角在整体的播放体验及投放链路上还有很多诸如,播放不晦涩、内容不清晰、设施笼罩较低等问题须要优化解决。
基于此,优酷技术团队在上半年对自在视角进行了一次全面的优化降级。接下来的内容,咱们将从全面优化降级的整体指标,围绕播放体验及用户规模开展,详解优酷播放器团队的整体优化策略及计划。
自在视角是什么
图 1
上图 1 是自在视角视频每帧画面的款式,以下对立叫深度图。
自在视角原理:自在视角视频是在原有播放链路的根底上,新增自在视角算法 SDK 对每帧深度图进行解决,生成指定角度的画面最终展现给用户。
客户端架构设计
这部分次要会介绍自在视角实现的外围逻辑。两头由两个虚线框隔开的两个模块右边是自在视角在播放器 SDK 中实现的逻辑,左边是针对自在视角播放体验优化的策略,优化策略在前面会做具体的介绍。
播放业务层 :
- 用户外围交互包含角度旋转齿轮(次要生成角度信息供算方侧应用)、自在视角视频用户提醒、转场动画;
- 通过开关管制做到线上性能可随时关上或敞开。
播放器中间层: 次要包含两局部,一是中间层链路革新反对自在视角,二是下载自在视角视频所须要的算法文件,下载结束当前将文件门路传给算法层应用。
播放器内核层 :解决内核与算法层之间的数据交互,而后将算法 SDK 解决好的纹理数据合成当前间接上屏展现。
下载器 :负责优酷点播和直播视频文件的下载,不必针对自在视角做特地的革新,次要是应用到了下载器的多分片下载性能晋升下载效率。
算法: 这层次要的职责是基于算法将深度图重建生成指定角度的画面。
自在视角性能优化计划
- 优化方向: 首先咱们得搞清楚为什么卡顿能力晓得如何去优化。经调研,卡顿起因是因为播放器以后数据有余所导致的,播放器须要期待足够的数据当前能力持续播放,所以咱们得出结论,提前下载数据、多通道下载、升高视频的码率从这三个方面动手就能够升高卡顿率;
- 计划尝试: 后期咱们尝试了预缓存、视频流智能档、内核动静 Buffer、多通道下载、自在视角动静降角度、播放器双实例切换降码率、连播预加载、过狂飙模式、视频 AV1 编码降码率共 9 种计划。在通过理论可行性调研后,最终确定预缓存、视频流智能档、内核动静 Buffer、多通道下载这 4 种计划。
优化实际
卡顿率优化
视频流智能档
上图是智能成果示意图,智能档是依据智能档算法动静去决定下一个 TS 分片的码率,从而达到动静降低码率的成果。
智能档算法架构图
须要着重介绍的有这么几个点:
- 智能档控制器与数据源及其他模块的交互和管制: 收集视频元数据和播放状态信息(比方缓冲区时长 buffer)、网络信息,分片级别的码率 / 清晰度抉择,清晰度切换管制,还有其它数据源链路上的事件响应和超时管制等;
- 策略引擎框架: 反对多种策略实现运行的一个接口 / 环境 / 容器,每种算法策略实现依据从播放器内核和网络环境信息等输出,给定一个清晰度抉择的输入;
- 数据链路闭环: 客户端决策信息埋点上报,云端数据分析解决,优化后的配置更新或模型下发。其中,策略框架及各种清晰度抉择的算法策略实现是整个智能档的外围灵魂,策略框架提供了一个平台,目前,优酷的智能档应用 ABTest 的形式反对了从基于各项离散规定到基于强化学习神经网络模型的多种算法策略的实现,这些算法能够依据配置或模型下发动静调整算法参数,相互比照优化,相互补充。
内核动静 Buffer
通过策略配置平台对立下发指定策略动静设置内核 buffer 大小,以达到最大限度利用下载资源的目标。
多通道下载
如上图所示,多通道下载技术通过将每个独立的文件拆分成 N 个小块进行下载,每个小块对应右图一个下载通道,这样就能够通过多个通道并行下载,进步下载效率以达到升高卡顿的指标。
预缓存
- 实现可缓存播控信息和视频流文件;(如下图 2 所示)
- 反对策略动静下发视频预缓存大小;(如下图 2 所示)
- 自在视角能力大一统:将自在视角能力的配置对立收到播控后盾,去掉客户端自在视角能力配置项,这样防止当前播控后盾和客户端配置不统一导致产生不可预测的问题。(如下图 3 所示)
图 2
图 3
场景覆盖度
因为自在视角算法 SDK 反对两种渲染模式,基于 DIBR 的一般模式,以及敞开 DIBR 的切相机降级模式。在这个条件的根底上,对于性能有余能够良好反对 DIBR 的设施,通过降级模式进入自在视角,这在技术和产品角度都是可行的。
革新前
革新后
数据比照 & 成果
业务 & 技术优化成果:
街舞 4 自在视角视频(一个月)相较于去年同期街舞 3 点播总播放量晋升近 2 倍。晦涩度晋升近 70%。
场景笼罩收益:
- 并不是所有的低端机型都能够反对自在视角的降级模式,因为场景非凡,算法要求的视频输出源的清晰度须要不低于 4K,因而处于【4k 解码, 反对 DIBR】区间的设施才属于本次优化预期晋升的范畴;
- 通过这次新增的降级渲染技术改造,新增笼罩近 3 成低端机型,最终总覆盖度从原来 5 成(仅反对中高端机型)晋升至近 8 成;
总结
为用户提供更优质、更丰盛的观影体验始终是咱们优酷秉持的指标,也是咱们继续一直摸索和尝试的能源。如何让用户感触到技术的温度,而不是仅仅看到的是寒冷的字面和数字上的晋升,让更优质的体验是用户切身能感触到的,这是咱们将来的致力的一个方向。同时咱们也在打造直播自在视角,竭尽所能的去摸索更多更新的观影形式。
下周,咱们会公布本系列《基于 WebRTC 实现的直播 ” 云多视角 ” 技术解析》,感激关注【阿里巴巴挪动技术】,咱们下篇持续聊。
关注【阿里巴巴挪动技术】官网微信公众号,每周 3 篇挪动技术实际 & 干货给你思考!