掌桥专利:专业的专利平台
掌桥专利
首页

一种用于VR全景视频连续播放的方法

文献发布时间:2023-06-19 13:46:35


一种用于VR全景视频连续播放的方法

技术领域

本发明涉及计算机技术领域,尤其涉及一种用于VR全景视频连续播放的方法。

背景技术

目前,主流VR全景播放器连续播放是通过以下流程实现播放:将自定义好的播放器视图放置于布局文件中;在Activity或者Fragment中获取到布局文件中的视图,获取到封装播放器,然后设置播放器的播放参数和回调函数;控制播放器播放停止;如果需要播放下一个场景页面,需要切换场景后重新加载封装播放器(即从当前场景页面切换到下一个场景页面后,前一个场景的缓存已经不在,需要再次全部下载),进而导致出现卡顿,加载时间长,不连续播放等的问题,严重影响用户体验,同时如果多个场景连续切换,会不断请求播放器,内存不断负载,不能及时回收,最终内存溢出问题,导致软件闪退现象。

发明内容

本发明的目的在于提供一种用于VR全景视频连续播放的方法。

为实现上述发明目的,本发明提供一种用于VR全景视频连续播放的方法,包括以下步骤:

S1.初始化封装的VR视频播放器;

S2.为加载所述VR视频播放器的页面预设一个布局容器,用于设置所述VR视频播放器的参数和回调方法,以进行VR视频的播放;

S3.若要切换所播放的VR视频,则获取下一加载所述VR视频播放器的页面中预设的布局容器,将播放有上一VR视频的所述VR视频播放器加载至下一所述页面,按照下一所述页面的布局容器设置所述VR视频播放器的参数和回调方法;

S4.通过页面的继承接口调用相应的VR视频至所述VR视频播放器进行连续播放。

根据本发明的一个方面,步骤S2中,用于设置所述VR视频播放器的参数和回调方法,以进行VR视频的播放的步骤中,所述参数和回调方法包括:

S201.设置显示帧速率;

S202.设置场景切换渐变效果,其中,包括:设置场景切换渐变的颜色与持续时间;

S203.设置限制帧率;

S204.配置EyeBuffer大小;

S205.设置应用启动动画,

S206.设置注视点渲染和优化渲染场景的方法,其中,包括设置静态注视点渲染和动态注视点渲染;

S207.设置VR Compositor Layers的图像处理参数,用于在VR CompositorLayers中进行图像的畸变、采样和合成处理;

S208.设置Mesh Renderer组件,用于设置VR Compositor Layers的转换信息,其中,所述转换信息包括位置变换、旋转和缩放;

S209.设置脚本属性,用于设置VR Compositor Layers中图像的覆盖层类型、图层索引、覆盖层形状和纹理;

S210.设置运行输出,用于设置VR Compositor Layers中图像的基准坐标和输出坐标的转换关系。

根据本发明的一个方面,步骤S1中,所述VR视频播放器采用交互类型的基类播放控制器。

根据本发明的一个方面,步骤S1中,通过onCreate()方法里调用VRMediaPlayer.initPlayer()函数进行所述VR视频播放器的初始化。

根据本发明的一个方面,步骤S4中,通过页面的继承接口调用相应的VR视频至所述VR视频播放器进行连续播放的步骤中,基于缓存管理方法调用所述VR视频的数据。

根据本发明的一个方面,步骤S4中,包括:

S41.启用继承接口;

S42.判断当前打开的所述VR视频的数据版本号是否变更,若变更,则更新缓存的静态数据或动态数据;

S43.缓存新的数据版本号并反馈至所述继承接口;

S44.所述继承接口接收所述数据版本号后返回nextcallinterval字段决定下次执行步骤S42至S44的时间。

根据本发明的一个方面,步骤S42中,若当前数据版本号没有变更,则直接将当前数据版本号反馈至所述继承接口,且所述继承接口接收当前数据版本号后返回nextcallinterval字段决定下次执行步骤S42至S44的时间。

根据本发明的一个方面,步骤S2中,所述VR视频播放器中所采用的基类播放控制器获取所述VR视频播放器的播放信息与状态,填充到具体的View,并准备完成回调函数、播放进度回调函数以及播放错误回调函数。

根据本发明的一个方面,步骤S3中,将播放有上一VR视频的所述VR视频播放器加载至获取的所述页面,按照当前所述页面的布局容器设置所述VR视频播放器的参数和回调方法的步骤中,在播放有上一VR视频的所述VR视频播放器加载至获取的所述页面中时,同时把一个实体类传入到所述VR视频播放器的播放控制器中,用于控制连续播放地址、播放模式选择,以及通过播放控制器获取到TextureView播放器对象,实现连续播放控制。

根据本发明的一种方案,本发明的方法既可以解决多个全景内容连续播放,内存溢出APP闪退问题,又可以利用VR缓存的管理,减少客户端的网络请求加快UI页面加载,减少对服务端的接口访问,节省服务端的性能开销,实现VR视频连续稳定播放。

根据本发明的一种方案,本发明的方法在全景视频播放过程中的用户体验更好,对设备的硬件要求更低,更有利于不同设备的使用,适用性广。

附图说明

图1是示意性表示根据本发明的一种实施方式的用于VR全景视频连续播放的方法的步骤框图;

图2是示意性表示根据本发明的一种实施方式的连续播放流程图;

图3是示意性表示根据本发明的一种实施方式的数据缓存流程图。

具体实施方式

为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

在针对本发明的实施方式进行描述时,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”所表达的方位或位置关系是基于相关附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术语不能理解为对本发明的限制。

下面结合附图和具体实施方式对本发明作详细地描述,实施方式不能在此一一赘述,但本发明的实施方式并不因此限定于以下实施方式。

下面结合附图和具体实施方式对本发明作详细地描述,实施方式不能在此一一赘述,但本发明的实施方式并不因此限定于以下实施方式。

如图1所示,根据本发明的一种实施方式,本发明的一种用于VR全景视频连续播放的方法,包括以下步骤:

S1.初始化封装的VR视频播放器;

S2.为加载VR视频播放器的页面预设一个布局容器,用于设置VR视频播放器的参数和回调方法,以进行VR视频的播放;

S3.若要切换所播放的VR视频,则获取下一加载VR视频播放器的页面中预设的布局容器,将播放有上一VR视频的VR视频播放器加载至下一页面,按照下一页面的布局容器设置VR视频播放器的参数和回调方法;

S4.通过页面的继承接口调用相应的VR视频至VR视频播放器进行连续播放。

根据本发明的一种实施方式,本发明的方法中VR视频播放器基于APP(或计算机程序)实现。在本实施方式中,启动APP,然后对封装的VR视频播放器(VRMediaPlayer)进行初始化和准备播放。

如图1所示,根据本发明的一种实施方式,步骤S1中,对VR视频播放器采用进行封装的过程中,在这个方法内部使用了dispatchOnce()方法来避免多线程访问导致创建多个实例的情况,由此,使用者无论何时、在应用何处调用该方法,都会获取到唯一一个VR播放器实例,对其进行操作,就可以完成全局播放的逻辑。

如图1所示,根据本发明的一种实施方式,步骤S1中,VR视频播放器采用交互类型的基类播放控制器(BaseVideoController)。在本实施方式中,VR视频播放器通过设置基类播放控制器,实现了在当前页面继承此类实现业务交互(即集成当前的播放器)。播放事件的UI刷新机制,均由VR视频播放器统一调度。

如图1所示,根据本发明的一种实施方式,步骤S1中,在APP当前页面通过onCreate()方法里调用VRMediaPlayer.initPlayer()函数进行VR视频播放器的初始化。

根据本发明的一种实施方式,步骤S2中,为加载所述VR视频播放器的页面预设一个布局容器的步骤中,在APP运行的Acivityh或Fragment页面中,准备一个布局(layout)容器,用来在界面上VR视频播放器的UI渲染。

根据本发明的一种实施方式,步骤S2中,用于设置VR视频播放器的参数和回调方法,以进行VR视频的播放的步骤中,参数和回调方法包括:

S201.设置显示帧速率。在本实施方式中,通过设置VR_UnitySDKManager的“ShowFPS”实现。

S202.设置场景切换渐变效果,在本实施方式中,通过设置Screen Fade以实现场景切换渐变的颜色Fade Color与持续时间Fade Time(时间单位为S)的设置。

S203.设置限制帧率;在本实施方式中,通过设置限制帧率Use Default FPS帧率值实现。

S204.配置EyeBuffer(V显示区)大小;在本实施方式中,通过Use DefaultRenderTexture设置Eyebuffer(V显示区)大小;RT设置过小,会带来性能的提升,减少延迟,但同时也导致了分辨率降低;RT设置过大,会带来性能的降低,增加延迟。因此,可根据需要对RT值进行相应设置。

S205.设置应用启动动画;在本实施方式中,所设置的SplashScreenType包含三种类型的值:UseUnitySplashScreen,UsePicoSplashScreen,UseDynamicSplashScreen。

S206.设置注视点渲染和优化渲染场景的方法,其中,包括设置静态注视点渲染(FFR)和动态注视点渲染(DFR);

S207.设置VR Compositor Layers(VR合成器层)的图像处理参数,用于在VRCompositor Layers中进行图像的畸变、采样和合成处理;在本实施方式中,设置VRCompositor Layers(又称“透传层技术”),是对ATW线程进行畸变、采样、合成等处理参数的设置;

S208.设置Mesh Renderer(网格渲染器)组件,用于设置VR Compositor Layers(VR合成器层)的转换信息,其中,转换信息包括位置变换、旋转和缩放;

S209.设置脚本属性,用于设置VR Compositor Layers(VR合成器层)中图像的覆盖层类型、图层索引、覆盖层形状和纹理;其中,设置覆盖层类型(Overlay Type)为Overlay;设置图层索引(Layer Index)的索引值,将被用于覆盖层合成顺序(数值越小,则优先合成);设置覆盖层形状(Overlay Shape)为Equirect;设置纹理(Textures)为左右眼透传360全景纹理。

S210.设置运行输出,用于设置VR Compositor Layers中图像的基准坐标和输出坐标的转换关系。

根据本发明的一种实施方式,步骤S3中,若要切换所播放的VR视频,获取所要跳转的页面的布局容器,并且不停止当前VR视频播放器中的播放画面即转移到下一页面。通过与下一页面相对应设置的布局容器对VR视频播放器进行参数和回调方法的设置。

如图2所示,为进一步说明本发明,对本发明的连续播放流程做进一步阐述,流程如下:

a.接收VR视频播放器页面请求;

b.判断当前页面是否有播放器;

c.若有播放器,则判断是否需要连续播放VR视频,若是,则不停止当前页面的VR视频播放器中的播放画面,并使VR视频播放器以加载的当前页面的布局容器进行VR视频的播放,若否,则停止当前页面的VR视频播放器中的播放画面,并保持VR视频播放器加载的当前页面的布局容器;

d.获取下一页面(即目标页面)的布局容器;

e.将VR视频播放器加入下一页面(即目标页面)的布局容器;

f.通过Acivityh或Fragment页面继承接口调用数据,基于缓存管理方法调用数据,实现连续播放。

在本实施方式中,在步骤b中,当前页面若没有播放器,则加载VR视频播放器后执行步骤d至f。

根据本发明的一种实施方式,步骤S4中,通过页面的继承接口调用相应的VR视频至VR视频播放器进行连续播放的步骤中,基于缓存管理方法调用VR视频的数据。

如图3所示,根据本发明的一种实施方式,步骤S4中,包括:

S41.启用继承接口;在本实施方式中,该继承接口可采用在线心跳上报接口(OnlineHeartbeat)。

S42.判断当前打开的VR视频的数据版本号是否变更,若变更,则更新缓存的静态数据或动态数据;

S43.缓存新的数据版本号并反馈至继承接口;

S44.继承接口接收数据版本号后返回nextcallinterval字段决定下次执行步骤S42至S44的时间。在本实施方式中,该时间可设置为15分钟,当然还可以根据需要对其进行调整。

如图2所示,根据本发明的一种实施方式,步骤S42中,若当前数据版本号没有变更,则直接将当前数据版本号反馈至继承接口,且继承接口接收当前数据版本号后返回nextcallinterval字段决定下次执行步骤S42至S44的时间。在本实施方式中,该时间可设置为15分钟,当然还可以根据需要对其进行调整。

根据本发明的一种实施方式,步骤S2中,VR视频播放器中所采用的基类播放控制器获取VR视频播放器的播放信息与状态,填充到具体的View,并准备完成回调函数、播放进度回调函数以及播放错误回调函数,实现了播放下一个VR视频调用对应数据的过程。

根据本发明的一种实施方式,步骤S3中,将播放有上一VR视频的VR视频播放器加载至获取的页面,按照当前页面的布局容器设置VR视频播放器的参数和回调方法的步骤中,在播放有上一VR视频的VR视频播放器加载至获取的页面中时,同时要把一个实体类传入到VR视频播放器的播放控制器中,用于控制连续播放地址、播放模式选择,以及通过播放控制器获取到TextureView播放器对象,实现连续播放控制。

上述内容仅为本发明的具体方案的例子,对于其中未详尽描述的设备和结构,应当理解为采取本领域已有的通用设备及通用方法来予以实施。

以上所述仅为本发明的一个方案而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种用于VR全景视频连续播放的方法
  • 一种基于肢体识别的VR全景视频交互播放方法
技术分类

06120113804433