《这!就是街舞》自由视角沉浸式体验黑科技揭秘-阿里云开发者社区

开发者社区> 开发者小助手-bz2> 正文

《这!就是街舞》自由视角沉浸式体验黑科技揭秘

简介: 《这!就是街舞》第四季大家看了吗?不知道有没有小伙伴跟笔者一样,“DNA”都要跟着舞动了起来。除了炸裂的舞台,堪比跨次元的真实观影体验,让用户在自由视角视频体验效果下身临其境:
+关注继续查看

《这!就是街舞》第四季大家看了吗?不知道有没有小伙伴跟笔者一样,“DNA”都要跟着舞动了起来。除了炸裂的舞台,堪比跨次元的真实观影体验,让用户在自由视角视频体验效果下身临其境:

截屏2021-12-02 下午9.24.14.png

是不是觉得很炫酷,so 还不赶快上优酷体验一把!

 

自由视角视频作为优酷内一种新颖的观看模式,给用户带来了全新的观影体验,在对外的众多合作中作为优酷的亮点内容也引起了较高的关注度。然而随着产品声量的不断扩大,当前自由视角在整体的播放体验及投放链路上还有很多诸如,播放不流畅、内容不清晰、设备覆盖较低等问题需要优化解决。

 

基于此,优酷技术团队在上半年对自由视角进行了一次全面的优化升级。接下来的内容,我们将从全面优化升级的整体目标,围绕播放体验及用户规模展开,详解优酷播放器团队的整体优化策略及方案。

 


一、自由视角是什么

截屏2021-12-02 下午9.24.29.png

图1

 

上图1是自由视角视频每帧画面的样式,以下统一叫深度图

自由视角原理:自由视角视频是在原有播放链路的基础上,新增自由视角算法SDK对每帧深度图进行处理,生成指定角度的画面最终展示给用户。


二、客户端架构设计

截屏2021-12-02 下午9.24.38.png


这部分主要会介绍自由视角实现的核心逻辑。中间由两个虚线框隔开的两个模块左边是自由视角在播放器SDK中实现的逻辑,右边是针对自由视角播放体验优化的策略,优化策略在后面会做详细的介绍。

 

播放业务层:

1.   用户核心交互包括角度旋转齿轮(主要生成角度信息供算方侧使用)、自由视角视频用户提示、转场动画;

2.   通过开关控制做到线上功能可随时打开或关闭。

 

播放器中间层:主要包括两部分,一是中间层链路改造支持自由视角,二是下载自由视角视频所需要的算法文件,下载完毕以后将文件路径传给算法层使用;

 

播放器内核层:处理内核与算法层之间的数据交互,然后将算法SDK处理好的纹理数据合成以后直接上屏展示;

 

下载器:负责优酷点播和直播视频文件的下载,不用针对自由视角做特别的改造,主要是使用到了下载器的多分片下载功能提升下载效率;

 

算法:这层主要的职责是基于算法将深度图重建生成指定角度的画面。

 


三、自由视角性能优化方案


1. 方案调研


  • 优化方向首先我们得搞清楚为什么卡顿才能知道如何去优化。经调研,卡顿原因是由于播放器当前数据不足所导致的,播放器需要等待足够的数据以后才能继续播放,所以我们得出结论,提前下载数据、多通道下载、降低视频的码率从这三个方面入手就可以降低卡顿率;
  • 方案尝试:前期我们尝试了预缓存、视频流智能档、内核动态Buffer、多通道下载、自由视角动态降角度、播放器双实例切换降码率、连播预加载、过狂飙模式、视频AV1编码降码率共9种方案。在通过实际可行性调研后,最终确定预缓存、视频流智能档、内核动态Buffer、多通道下载这4种方案;


四、优化实践


技术侧优化

  • 卡顿率优化:

1. 视频流智能档

截屏2021-12-02 下午9.24.48.png


上图是智能效果示意图,智能档是根据智能档算法动态去决定下一个TS分片的码率,从而达到动态降低码率的效果;

截屏2021-12-02 下午9.24.57.png

智能档算法架构图

 

需要着重介绍的有这么几个点:

 

智能档控制器与数据源及其他模块的交互和控制:收集视频元数据和播放状态信息(比如缓冲区时长buffer)、网络信息,分片级别的码率/清晰度选择,清晰度切换控制,还有其它数据源链路上的事件响应和超时控制等;

 

策略引擎框架:支持多种策略实现运行的一个接口/环境/容器,每种算法策略实现根据从播放器内核和网络环境信息等输入,给定一个清晰度选择的输出;

 

数据链路闭环:客户端决策信息埋点上报,云端数据分析处理,优化后的配置更新或模型下发。其中,策略框架及各种清晰度选择的算法策略实现是整个智能档的核心灵魂,策略框架提供了一个平台,目前,优酷的智能档使用 ABTest 的方式支持了从基于各项离散规则到基于强化学习神经网络模型的多种算法策略的实现,这些算法可以根据配置或模型下发动态调整算法参数,互相对比优化,互相补充。

 

2. 内核动态Buffer

通过策略配置平台统一下发指定策略动态设置内核buffer大小,以达到最大限度利用下载资源的目的。

 

3. 多通道下载

截屏2021-12-02 下午9.25.06.png


如上图所示,多通道下载技术通过将每个独立的文件拆分成N个小块进行下载,每个小块对应右图一个下载通道,这样就可以通过多个通道并行下载,提高下载效率以达到降低卡顿的目标。

 

4. 预缓存

1)   实现可缓存播控信息和视频流文件;(如下图1所示)

2)   支持策略动态下发视频预缓存大小;(如下图1所示)

3)   自由视角能力大一统:将自由视角能力的配置统一收到播控后台,去掉客户端自由视角能力配置项,这样避免以后播控后台和客户端配置不一致导致产生不可预测的问题。(如下图2所示)

 

截屏2021-12-02 下午9.25.17.png

图1

截屏2021-12-02 下午9.25.30.png

图2

 

  • 场景覆盖度:

由于自由视角算法SDK支持两种渲染模式,基于DIBR的普通模式,以及关闭DIBR的切相机降级模式。在这个条件的基础上,对于性能不足可以良好支持DIBR的设备,通过降级模式进入自由视角,这在技术和产品角度都是可行的。

截屏2021-12-02 下午9.25.41.png

改造前

截屏2021-12-02 下午9.25.49.png

改造后


五、数据对比 & 效果


播放体感优化效果:

截屏2021-12-02 下午9.26.07.png


优化前

截屏2021-12-02 下午9.26.23.png

优化后

 

业务&技术优化效果:

街舞4自由视角视频(一个月)相较于去年同期街舞3点播总播放量提升近2倍。流畅度提升近70%。

 

场景覆盖收益:

 

1.  并不是所有的低端机型都可以支持自由视角的降级模式,因为场景特殊,算法要求的视频输入源的清晰度需要不低于4K,因此处于【4k解码, 支持DIBR】区间的设备才属于本次优化预期提升的范围;

2.  通过这次新增的降级渲染技术改造,新增覆盖近3成低端机型,最终总覆盖度从原来5成(仅支持中高端机型)提升至近8成;

 


六、总结

为用户提供更优质、更丰富的观影体验一直是我们优酷秉持的目标,也是我们持续不断探索和尝试的动力。如何让用户感受到技术的温度,而不是仅仅看到的是冰冷的字面和数字上的提升,让更优质的体验是用户切身能感受到的,这是我们未来的努力的一个方向。同时我们也在打造直播自由视角,竭尽所能的去探索更多更新的观影方式

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10014 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
26776 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
11587 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
9154 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13814 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4484 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7339 0
692
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载