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

视频的播放方法及装置、系统、存储介质、电子装置

文献发布时间:2024-04-18 19:53:33


视频的播放方法及装置、系统、存储介质、电子装置

技术领域

本发明实施例涉及计算机领域,具体而言,涉及一种视频的播放方法及装置、系统、存储介质、电子装置。

背景技术

现有技术中,机顶盒上有专门的视频层用于显示视频,图层用于显示图形。图层与视频层有严格的顺序,一般视频层在下,图层在上,进行叠加显示。但这种方法会导致没法进行多层视频的叠加。例如,在电子节目指南(electrical program guide,简称EPG)页面中播放一个全屏的视频,EPG页面展示相关图形信息,半透明的叠加在全屏视频之上,在播放的过程中,弹出一个广告视频进行播放,背景视频暂停播放,并不能进行广告视频、图层、背景视频的叠加显示。

由此可知,相关技术中并不能进行多层次视频的叠加显示。

发明内容

本发明实施例提供了一种视频的播放方法及装置、系统、存储介质、电子装置,以至少解决相关技术中不能进行多层次视频的叠加显示的问题。

根据本发明的一个实施例,提供了一种视频的播放方法,包括:将获取的目标页面的页面信息发送至播放器,以指示上述播放器确定上述目标页面对应的目标视频窗口信息;接收上述播放器发送的第一请求信息,其中,上述第一请求信息中包括上述目标视频窗口信息;响应上述第一请求信息,从N个视频窗口中确定与上述目标视频窗口信息对应的目标视频窗口,其中,N个上述视频窗口与主窗口叠加,上述主窗口用于显示上述目标页面,上述视频窗口用于播放视频,上述N是大于或等于1的自然数;将上述目标视频窗口的对象信息发送至上述播放器,以指示上述播放器利用上述对象信息在上述目标视频窗口播放上述目标页面中的目标视频。

根据本发明的另一个实施例,提供了一种视频的播放方法,包括:接收浏览器发送的目标页面的页面信息;基于上述页面信息确定上述目标页面对应的目标视频窗口信息;向上述浏览器发送第一请求信息,其中,上述第一请求信息中包括上述目标视频窗口信息;接收上述浏览器发送的目标视频窗口的对象信息,其中,上述目标视频窗口是上述浏览器从N个视频窗口中确定的与上述目标视频窗口信息对应的视频窗口,N个上述视频窗口与主窗口叠加,上述主窗口用于显示上述目标页面,上述视频窗口用于播放视频,上述N是大于或等于1的自然数;利用上述对象信息在上述目标视频窗口播放上述目标页面中的目标视频。

根据本发明的另一个实施例,提供了一种视频的播放装置,包括:发送模块,用于将获取的目标页面的页面信息发送至播放器,以指示上述播放器确定上述目标页面对应的目标视频窗口信息;第一接收模块,用于接收上述播放器发送的第一请求信息,其中,上述第一请求信息中包括上述目标视频窗口信息;第一响应模块,用于响应上述第一请求信息,从N个视频窗口中确定与上述目标视频窗口信息对应的目标视频窗口,其中,N个上述视频窗口与主窗口叠加,上述主窗口用于显示上述目标页面,上述视频窗口用于播放视频,上述N是大于或等于1的自然数;第二发送模块,用于将上述目标视频窗口的对象信息发送至上述播放器,以指示上述播放器利用上述对象信息在上述目标视频窗口播放上述目标页面中的目标视频。

在一个示例性实施例中,上述第一发送模块,包括:第一解析单元,用于解析加载的上述目标页面;第一获取单元,用于在确定上述目标页面中包括待播放的上述目标视频的情况下,获取上述目标页面的页面信息,其中,上述页面信息包括上述目标页面的位置信息和上述目标视频的视频信息;第一发送单元,用于将上述页面信息发送至上述播放器。

在一个示例性实施例中,上述第一响应模块,包括:第一查询单元,用于从上述N个视频窗口中查询与上述目标视频窗口信息中的窗口类型、窗口位置以及播放标识信息对应的视频窗口,得到上述目标视频窗口。

在一个示例性实施例中,上述第二发送模块,包括以下之一:第二发送单元,用于在确定上述目标视频窗口中包括播放标识信息的对象视口信息的情况下,将上述目标视频窗口的对象信息发送至上述播放器;第一创建单元,用于在确定上述目标视频窗口中未包括播放标识信息的对象视口信息的情况下,创建上述目标视频窗口的对象视口信息,绑定上述对象视口信息与上述播放标识信息,将上述目标视频窗口的对象信息发送至上述播放器;其中,上述播放标识信息包括在上述目标视频窗口信息中。

在一个示例性实施例中,上述装置还包括:第一处理模块,用于将获取的目标页面的页面信息发送至播放器,以指示上述播放器确定上述目标页面对应的目标视频窗口信息之前,初始化上述主窗口,以指示上述主窗口用于显示上述目标页面。

在一个示例性实施例中,上述装置还包括:第四接收模块,用于将获取的目标页面的页面信息发送至播放器,以指示上述播放器确定上述目标页面对应的目标视频窗口信息之前,上述方法还包括:第五接收模块,用于接收上述播放器发送的第二请求信息,其中,上述第二请求信息用于请求初始化N个上述视频窗口;第二处理模块,用于响应上述第二请求信息,对N个上述视频窗口执行初始化操作,其中,上述初始化操作包括以下至少之一:确定设置在上述主窗口之下的M个上述视频窗口,确定设置在上述主窗口之上的K个上述视频窗口,确定悬浮的P个上述视频窗口,上述M、上述K以及上述P均是小于上述N的自然数;第一定义模块,用于定义每个上述视频窗口之间的排列关系。

根据本发明的另一个实施例,提供了一种视频的播放装置,包括:第二接收模块,用于接收浏览器发送的目标页面的页面信息;第一确定模块,用于基于上述页面信息确定上述目标页面对应的目标视频窗口信息;第三发送模块,用于向上述浏览器发送第一请求信息,其中,上述第一请求信息中包括上述目标视频窗口信息;第三接收模块,用于接收上述浏览器发送的目标视频窗口的对象信息,其中,上述目标视频窗口是上述浏览器从N个视频窗口中确定的与上述目标视频窗口信息对应的视频窗口,N个上述视频窗口与主窗口叠加,上述主窗口用于显示上述目标页面,上述视频窗口用于播放视频,上述N是大于或等于1的自然数;第一播放模块,用于利用上述对象信息在上述目标视频窗口播放上述目标页面中的目标视频。

在一个示例性实施例中,上述第一确定模块,包括:第一确定单元,用于从上述页面信息中的视频信息中确定与上述视频信息对应的窗口类型、窗口位置信息以及播放标识信息,得到上述目标视频窗口信息。

在一个示例性实施例中,上述第一播放模块,包括:第一下载单元,用于按照上述对象信息下载上述目标视频;第三发送单元,用于将上述目标视频和上述对象信息发送至解码器,以指示上述解码器解码上述目标视频,并将解码后的目标视频回填至上述对象信息中;第一播放单元,用于利用回填的对象信息播放上述解码后的目标视频。

在一个示例性实施例中,上述装置还包括:第四发送模块,用于接收浏览器发送的目标页面的页面信息之前,向上述浏览器发送第二请求信息,其中,上述第二请求信息用于请求上述浏览器初始化N个上述视频窗口。

在一个示例性实施例中,上述装置还包括:第一设置模块,用于接收浏览器发送的目标页面的页面信息之前,设置N个上述视频窗口的数量。

根据本发明的另一个实施例,提供了一种视频的播放系统,包括:浏览器,其中,上述浏览器包括权利要求12中上述的视频的播放装置;播放器,其中,上述播放器包括权利要求13中上述的视频的播放装置。

在一个示例性实施例中,上述系统还包括:解码器,与上述播放器连接,用于解码上述目标视频。

在一个示例性实施例中,上述系统还包括:管理器,用于对N个上述视频窗口进行排序。

根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。

通过本发明,通过浏览器将获取的目标页面的页面信息发送至播放器,播放器确定目标页面对应的目标视频窗口信息;浏览器接收播放器发送的第一请求信息,其中,第一请求信息中包括目标视频窗口信息;浏览器响应第一请求信息,从N个视频窗口中确定与目标视频窗口信息对应的目标视频窗口,其中,N个视频窗口与主窗口叠加,主窗口用于显示目标页面,视频窗口用于播放视频;浏览器将目标视频窗口的对象信息发送至播放器,以指示播放器利用对象信息在目标视频窗口播放目标页面中的目标视频。由于在上述方法中,主窗口显示目标页面中的图形,多个视频窗口与主窗口叠加,显示视频。使得多个视频窗口可以叠加显示视频,可以实现图层与多个视频层动态叠加显示的目的。因此,可以解决相关技术中不能进行多层次视频的叠加显示的问题,达到实现多层次视频的叠加显示的效果。

附图说明

图1是本发明实施例的一种视频的播放方法的移动终端的硬件结构框图;

图2是根据本发明实施例的视频的播放方法的流程图(一);

图3是本发明实施例的窗口排列关系的示意图;

图4是根据本发明实施例的视频的播放方法的流程图(二);

图5是根据本发明实施例的视频的播放系统中的各个模块的工作流程;

图6是根据本发明实施例的初始化流程;

图7是根据本发明实施例的页面播放流程;

图8是根据本发明实施例的Surface的申请流程;

图9是根据本发明实施例的全屏播放视频的流程;

图10是根据本发明实施例的四路小视屏播放及停止流程;

图11是根据本发明实施例的视频的播放装置的结构框图(一);

图12是根据本发明实施例的视频的播放装置的结构框图(二)。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明的实施例。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种视频的播放方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的视频的播放方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种视频的播放方法,图2是根据本发明实施例的视频的播放方法的流程图(一),如图2所示,该流程包括如下步骤:

步骤S202,将获取的目标页面的页面信息发送至播放器,以指示播放器确定目标页面对应的目标视频窗口信息;

步骤S204,接收播放器发送的第一请求信息,其中,第一请求信息中包括目标视频窗口信息;

步骤S206,响应第一请求信息,从N个视频窗口中确定与目标视频窗口信息对应的目标视频窗口,其中,N个视频窗口与主窗口叠加,主窗口用于显示目标页面,视频窗口用于播放视频,N是大于或等于1的自然数;

步骤S208,将目标视频窗口的对象信息发送至播放器,以指示播放器利用对象信息在目标视频窗口播放目标页面中的目标视频。

本实施例包括但不限于应用于IPTV智能机顶盒或Android系统中有多视频叠加显示需求的业务场景中,例如,全屏视频显示、广告视频显示、预览视频显示、业务展示等场景。可选地,IPTV智能机顶盒上设置有视频层和图层,视频层可以在图层之上、之下灵活展示,已实现视频层与图层的叠加显示。

在本实施例中,目标页面的页面信息包括先不限于是目标页面的页面位置信息、目标页面中需要播放的目标视频的视频信息、目标视频在目标页面中的位置信息、目标视频的播放类型(例如,大窗口播放,或者,小窗口播放,或者,按照预一定的窗口比例播放)。播放器在接收到页面信息后,从页面信息中确定与目标视频的播放类型对应的目标视频窗口信息,目标视频窗口信息包括但不限于是目标视频窗口的标识信息、目标视频窗口的类型信息(例如,小窗口或者是大窗口)。例如,播放广告视频对应的窗口类型是小窗口。播放业务展示视频对应的窗口类型是大窗口。

在本实施例中,N的取值是不做限定的,可以基于实际情况进行选取,N个视频窗口中包括大视频窗口和小视频窗口。例如,在如图3所示,设置2个大视频窗口,置于图像窗口之下的4个小视频窗口,置于图像窗口之上的4个小视频窗口,显示EPG页面的图像窗口,以及悬浮窗口。窗口时间的层次关系由浏览器确定。可选地,播放器可设置小视频窗口的最大个数。

在本实施例中,对象信息包括但不限于是目标视频窗口的Surface信息。Surface信息用于获取缓冲器中的目标视频。

其中,上述步骤的执行主体可以服务器或服务器中设置的具体处理器,或者与服务器相对独立设置的处理器或者处理设备(例如,浏览器)等,但不限于此。

通过上述步骤,通过浏览器将获取的目标页面的页面信息发送至播放器,播放器确定目标页面对应的目标视频窗口信息;浏览器接收播放器发送的第一请求信息,其中,第一请求信息中包括目标视频窗口信息;浏览器响应第一请求信息,从N个视频窗口中确定与目标视频窗口信息对应的目标视频窗口,其中,N个视频窗口与主窗口叠加,主窗口用于显示目标页面,视频窗口用于播放视频;浏览器将目标视频窗口的对象信息发送至播放器,以指示播放器利用对象信息在目标视频窗口播放目标页面中的目标视频。由于在上述方法中,主窗口显示目标页面中的图形,多个视频窗口与主窗口叠加,显示视频。使得多个视频窗口可以叠加显示视频,可以实现图层与多个视频层动态叠加显示的目的。因此,可以解决相关技术中不能进行多层次视频的叠加显示的问题,达到实现多层次视频的叠加显示的效果。

在一个示例性实施例中,将获取的目标页面的页面信息发送至播放器,包括:

S1,解析加载的目标页面;

S2,在确定目标页面中包括待播放的目标视频的情况下,获取目标页面的页面信息,其中,页面信息包括目标页面的位置信息和目标视频的视频信息;

S3,将页面信息发送至播放器。

在本实施例中,解析加载的目标页面包括:解析目标页面中的视频信息、JS脚本信息、以及其他播放元素(例如,目标页面的位置、目标视频的位置等)。

在本实施例,通过将页面信息发送至播放器,可以指示播放器快速的确定目标视频对应播放的窗口类型。

在一个示例性实施例中,响应第一请求信息,从N个视频窗口中确定与目标视频窗口信息对应的目标视频窗口,包括:

S1,从N个视频窗口中查询与目标视频窗口信息中的窗口类型、窗口位置以及播放标识信息对应的视频窗口,得到目标视频窗口。

在本实施例中,目标视频窗口播放的视频类型与目标视频的类型是对应的。例如,在目标视频是广告视频的情况下,适合选择小窗口进行播放。使得不同的视频信息对应不同的播放窗口,可以实现叠加显示多个视频的目的。

在一个示例性实施例中,将目标视频窗口的对象信息发送至播放器,包括以下之一:

S1,在确定目标视频窗口中包括播放标识信息的对象视口信息的情况下,将目标视频窗口的对象信息发送至播放器;

S2,在确定目标视频窗口中未包括播放标识信息的对象视口信息的情况下,创建目标视频窗口的对象视口信息,绑定对象视口信息与播放标识信息,将目标视频窗口的对象信息发送至播放器;

其中,播放标识信息包括在目标视频窗口信息中。

在本实施例中,对象视口信息包括但不限于是SurfaceView,SurfaceView是Surface的View,通过SurfaceView可以看到Surface的部分或者全部的内容。也就是说,Surface是用通过SurfaceView展示内容的。本实施例通过对象视口信息可以快速的实现对目标视频的播放。

在一个示例性实施例中,将获取的目标页面的页面信息发送至播放器,以指示播放器确定目标页面对应的目标视频窗口信息之前,方法还包括:

S1,初始化主窗口,以指示主窗口用于显示目标页面。

在本实施例中,浏览器进程启动时,初始化主窗口用于图形页面的展示,并启动与播放器交互的服务进行通信使用。

在一个示例性实施例中,将获取的目标页面的页面信息发送至播放器,以指示播放器确定目标页面对应的目标视频窗口信息之前,方法还包括:

S1,接收播放器发送的第二请求信息,其中,第二请求信息用于请求初始化N个视频窗口;

S2,响应第二请求信息,对N个视频窗口执行初始化操作,其中,初始化操作包括以下至少之一:确定设置在主窗口之下的M个视频窗口,确定设置在主窗口之上的K个视频窗口,确定悬浮的P个视频窗口,M、K以及P均是小于N的自然数;

S3,定义每个视频窗口之间的排列关系。

在本实施例中,浏览器对视频窗口的初始化操作包括,通过AddView的方式添加主窗口(TYPE_APPLICATION_MEDIA)、置于主窗口之下的子窗口(TYPE_APPLICATION_MEDIA)、置于主窗口之上的子窗口、悬浮窗口(TYPE_SYSTEM_OVERLAY)的FrameLayout,由FrameLayout来定义各个视频窗口的Z序关系。后续在相应的FrameLayout中可进一步添加多个SurfaceView,设置SurfaceView的回调。不同的FrameLayout中可以添加多个SurfaceView用于视频的展示。

本实施例通过初始化主窗口和视频窗口,可以确定主窗口和视频窗口之间的排列关系,以在视频播放时,快速的确定处于待播放视频的类型对应的视频窗口类型。

在本实施例中提供了一种视频的播放方法,图4是根据本发明实施例的视频的播放方法的流程图(二),如图4所示,该流程包括如下步骤:

步骤S402,接收浏览器发送的目标页面的页面信息;

步骤S404,基于页面信息确定目标页面对应的目标视频窗口信息;

步骤S406,向浏览器发送第一请求信息,其中,第一请求信息中包括目标视频窗口信息;

步骤S408,接收浏览器发送的目标视频窗口的对象信息,其中,目标视频窗口是浏览器从N个视频窗口中确定的与目标视频窗口信息对应的视频窗口,N个视频窗口与主窗口叠加,主窗口用于显示目标页面,视频窗口用于播放视频,N是大于或等于1的自然数;

步骤S410,利用对象信息在目标视频窗口播放目标页面中的目标视频。

本实施例包括但不限于应用于IPTV智能机顶盒或Android系统中有多视频叠加显示需求的业务场景中,例如,全屏视频显示、广告视频显示、预览视频显示、业务展示等场景。可选地,IPTV智能机顶盒上设置有视频层和图层,视频层可以在图层之上、之下灵活展示,已实现视频层与图层的叠加显示。

在本实施例中,目标页面的页面信息包括先不限于是目标页面的页面位置信息、目标页面中需要播放的目标视频的视频信息、目标视频在目标页面中的位置信息、目标视频的播放类型(例如,大窗口播放,或者,小窗口播放,或者,按照预一定的窗口比例播放)。播放器在接收到页面信息后,从页面信息中确定与目标视频的播放类型对应的目标视频窗口信息,目标视频窗口信息包括但不限于是目标视频窗口的标识信息、目标视频窗口的类型信息(例如,小窗口或者是大窗口)。例如,播放广告视频对应的窗口类型是小窗口。播放业务展示视频对应的窗口类型是大窗口。

在本实施例中,N的取值是不做限定的,可以基于实际情况进行选取,N个视频窗口中包括大视频窗口和小视频窗口。例如,在如图3所示,设置2个大视频窗口,置于图像窗口之下的4个小视频窗口,置于图像窗口之上的4个小视频窗口,显示EPG页面的图像窗口,以及悬浮窗口。窗口时间的层次关系由浏览器确定。可选地,播放器可设置小视频窗口的最大个数。

在本实施例中,对象信息包括但不限于是目标视频窗口的Surface信息。Surface信息用于获取缓冲器中的目标视频。

其中,上述步骤的执行主体可以服务器或服务器中设置的具体处理器,或者与服务器相对独立设置的处理器或者处理设备(例如,播放器)等,但不限于此。

通过上述步骤,通过接收浏览器发送的目标页面的页面信息;基于页面信息确定目标页面对应的目标视频窗口信息;向浏览器发送第一请求信息,其中,第一请求信息中包括目标视频窗口信息;接收浏览器发送的目标视频窗口的对象信息,其中,目标视频窗口是浏览器从N个视频窗口中确定的与目标视频窗口信息对应的视频窗口,N个视频窗口与主窗口叠加,主窗口用于显示目标页面,视频窗口用于播放视频,N是大于或等于1的自然数;利用对象信息在目标视频窗口播放目标页面中的目标视频。由于在上述方法中,主窗口显示目标页面中的图形,多个视频窗口与主窗口叠加,显示视频。使得多个视频窗口可以叠加显示视频,可以实现图层与多个视频层动态叠加显示的目的。因此,可以解决相关技术中不能进行多层次视频的叠加显示的问题,达到实现多层次视频的叠加显示的效果。

在一个示例性实施例中,基于页面信息确定目标页面对应的目标视频窗口信息,包括:

S1,从页面信息中的视频信息中确定与视频信息对应的窗口类型、窗口位置信息以及播放标识信息,得到目标视频窗口信息。

本实施例通过页面信息播放器可以快速的确定目标视频对应播放的窗口类型。

在一个示例性实施例中,利用对象信息在目标视频窗口播放目标页面中的目标视频,包括:

S1,按照对象信息下载目标视频;

S2,将目标视频和对象信息发送至解码器,以指示解码器解码目标视频,并将解码后的目标视频回填至对象信息中;

S3,利用回填的对象信息播放解码后的目标视频。

在本实施例中,解码器对目标视频解码完之后将相应的图像信息回填到对象信息Surface中。播放器可以继续请求浏览器对SurfaceView进行显示/隐藏、大小位置调整等设置。以实现对所有的Surface进行叠加显示。

在一个示例性实施例中,接收浏览器发送的目标页面的页面信息之前,方法还包括:

S1,向浏览器发送第二请求信息,其中,第二请求信息用于请求浏览器初始化N个视频窗口。

在本实施例中,浏览器对视频窗口的初始化操作包括,通过AddView的方式添加主窗口(TYPE_APPLICATION_MEDIA)、置于主窗口之下的子窗口(TYPE_APPLICATION_MEDIA)、置于主窗口之上的子窗口、悬浮窗口(TYPE_SYSTEM_OVERLAY)的FrameLayout,由FrameLayout来定义各个视频窗口的Z序关系。后续在相应的FrameLayout中可进一步添加多个SurfaceView,设置SurfaceView的回调。不同的FrameLayout中可以添加多个SurfaceView用于视频的展示。

本实施例通过初始化主窗口和视频窗口,可以确定主窗口和视频窗口之间的排列关系,以在视频播放时,快速的确定处于待播放视频的类型对应的视频窗口类型。

在一个示例性实施例中,接收浏览器发送的目标页面的页面信息之前,方法还包括:

S1,设置N个视频窗口的数量。通过设置多个视频窗口可以实现视频的叠加显示。

在本实施例中提供了一种视频的播放系统,该系统包括:

浏览器,其中,浏览器用于执行上述图2中的步骤;

播放器,其中,播放器用于执行上述图4中的步骤。

在本实施例中,目标页面可以是Web页面,Web页面中描述了要展示的内容,定义了视频业务流程,以及定义了播放视频相关的元素信息。

在本实施例中,浏览器主要负责解析、展示Web页面,并完成相关的JS脚本的调用。提供SurfaceView的相关接口的具体实现、视频窗口管控、与播放器之间的surface传递。

播放器,用于负责相关音视频文件的获取,并进行播放。在本实施例中还提供播放标识信息aidl与浏览器进行交互,申请surfaceview、显示或隐藏窗口、大小或位置控制等相关业务逻辑。

在一个示例性实施例中,上述系统还包括:

解码器,与播放器连接,用于解码目标视频。

在本实施例中,解码器主要负责音视频的解码。还用于通过播放器,拿到Surface进行图形信息的回填。

在一个示例性实施例中,上述系统还包括:

管理器,用于对N个视频窗口进行排序。

在本实施例中,管理器AndroidWindowManager可以是Android系统进行窗口管理的模块,负责将各个窗口的内容按照Z序进行叠加展示。

例如,如图5所示,视频的播放系统中的各个模块的工作流程,包括以下交互步骤:

S1,浏览器向管理器Android WindowManager申请创建窗口的请求,AndroidWindowManager响应请求创建窗口后,向浏览器返回创建的窗口的surface信息;

S2,浏览器解析web页面中的信息,以加载web页面的页面信息;

S3,播放器向浏览器请求获取各种类型的窗口的surface信息,浏览器向播放器返回各种类型的窗口的surface信息;

S4,播放器在接收到播放视频的surface信息后,将surface信息发送至解码器。

S5,解码器对视频信息解码。并通过播放器,拿到Surface进行图形信息的回填。

进一步的,本系统对视频图层的调整方法包括以下流程:

1)初始化流程

如图6所示,是本实施例中初始化流程的具体步骤:

S601,播放器启动后请求绑定浏览器。

S602,浏览器进程启动时,初始化主窗口用于图形页面的展示,并启动与播放器交互的服务进行通信使用。

S603,播放器进程启动,通过Android接口定义语言(Android InterfaceDefinition Language,AIDL)绑定浏览器的服务,请求浏览器进行视频播放窗口的初始化操作。

S604,浏览器收到请求后完成视频窗口的初始化操作,通过addView的方式添加主窗口(TYPE_APPLICATION_MEDIA)、置于图形主窗口之下的子窗口(TYPE_APPLICATION_MEDIA)、置于图形主窗口之上的子窗口、悬浮窗口(TYPE_SYSTEM_OVERLAY)的FrameLayout,由FrameLayout来定义各个视频窗口的Z序关系。

S605,在相应的FrameLayout中可进一步添加多个SurfaceView,设置SurfaceView的回调。不同的FrameLayout中可以添加多个SurfaceView用于视频的展示。

S606,播放器可设置小视屏窗口最大个数,并将小视屏窗口可以展示的小视频个数发送至浏览器;

S607,浏览器向播放器返回各个视频窗口的Surface。

2)页面播放流程

如图7所示,是本实施例中页面播放流程的具体步骤:

S701,浏览器加载页面,解析到页面进行播放元素相关的初始化时,将相关的位置、播放信息透传给播放器,请求播放器进行相应视频的播放。播放器拿到相应信息,进行内部处理,决定采用何种类型窗口来进行视频展示。播放器传送playerid、窗口类型、窗口位置信息给浏览器,请求为其返回Surface。

S702,浏览器收到播放器请求surface的请求后,查询相应窗口类型具有该playerid的SurfaceView是否已经创建,如果已经创建,则返回相应的Surface给播放器,否则进行SurfaceView的创建和添加,并完成SurfaceView与特定playerid的绑定。

S703,系统相应Surface创建成功后,调用回调surfaceCreated。浏览器在回调中将Surface以及其对应的playerid透传给播放器。

在本实施例中,Surface的申请流程如图8所示,包括以下步骤:

S801,确定窗口类型是否存在,如果不存在,转至S802,确定是非法窗口类型,返回NULL;

S803,窗口类型存在的情况下,判断相应窗口类型是否已有SurfaceView列表;

S804,相应窗口类型没有SurfaceView列表的情况下,创建SurfaceView;

S805,将SurfaceView添加到相应窗口的SurfaceView列表中;

S806,绑定SurfaceView的playerid;

S807,相应窗口类型已有SurfaceView列表的情况下,判断SurfaceView列表是否具有相同playerid的SurfaceView;

S808,在具有相同playerid的SurfaceView的情况下,判断是否有空闲的SurfaceView;

S809,在有空闲的SurfaceView的情况下,使用空闲的SurfaceView;

S810,绑定SurfaceView的playerid;

S811,在没有空闲的SurfaceView的情况下,判断是否可添加的SurfaceView个数是否已达到当前可添加的上限;

S812,在未达到上限的情况下,创建SurfaceView;

S813,添加SurfaceView到相应窗口的SurfaceView列表中;

S814,绑定SurfaceView的playerid;

S815,在达到上限的情况下,返回NULL;

S816,SurfaceView列表没有具有相同playerid的SurfaceView的情况下,复用响应playerid的Surface,根据需要变更状态。

在本实施例中,全屏播放视频的流程如图9所示,四路小视屏播放及停止流程如图10所示,与上述实施例中浏览器与播放器的交互流程相同,在此不再赘述。

3)其它流程(例如,编码器的解码过程)

S1,播放器进一步把Surface返回给解码器。

S2,播放器下载相关视频,请求解码器进行解码。

S3,解码器解码完之后将相应的图像信息回填到Surface中。

S4,播放器可以继续请求浏览器对SurfaceView进行显示或隐藏、大小或位置调整等设置。

S5,系统对所有的Surface进行叠加显示。

综上所述,本实施例能更灵活地控制单个视频的展示,对其大小、位置,甚至alpha进行控制,能满足更多的应用场景,且不影响当前图形窗口的刷新性能。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种光轴的调整装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图11是根据本发明实施例的视频的播放装置的结构框图(一),如图11所示,该装置包括:

第一发送模块1102,用于将获取的目标页面的页面信息发送至播放器,以指示上述播放器确定上述目标页面对应的目标视频窗口信息;

第一接收模块1104,用于接收上述播放器发送的第一请求信息,其中,上述第一请求信息中包括上述目标视频窗口信息;

第一响应模块1106,用于响应上述第一请求信息,从N个视频窗口中确定与上述目标视频窗口信息对应的目标视频窗口,其中,N个上述视频窗口与主窗口叠加,上述主窗口用于显示上述目标页面,上述视频窗口用于播放视频,上述N是大于或等于1的自然数;

第二发送模块1108,用于将上述目标视频窗口的对象信息发送至上述播放器,以指示上述播放器利用上述对象信息在上述目标视频窗口播放上述目标页面中的目标视频。

在一个示例性实施例中,上述第一发送模块,包括:

第一解析单元,用于解析加载的上述目标页面;

第一获取单元,用于在确定上述目标页面中包括待播放的上述目标视频的情况下,获取上述目标页面的页面信息,其中,上述页面信息包括上述目标页面的位置信息和上述目标视频的视频信息;

第一发送单元,用于将上述页面信息发送至上述播放器。

在一个示例性实施例中,上述第一响应模块,包括:

第一查询单元,用于从上述N个视频窗口中查询与上述目标视频窗口信息中的窗口类型、窗口位置以及播放标识信息对应的视频窗口,得到上述目标视频窗口。

在一个示例性实施例中,上述第二发送模块,包括以下之一:

第二发送单元,用于在确定上述目标视频窗口中包括播放标识信息的对象视口信息的情况下,将上述目标视频窗口的对象信息发送至上述播放器;

第一创建单元,用于在确定上述目标视频窗口中未包括播放标识信息的对象视口信息的情况下,创建上述目标视频窗口的对象视口信息,绑定上述对象视口信息与上述播放标识信息,将上述目标视频窗口的对象信息发送至上述播放器;

其中,上述播放标识信息包括在上述目标视频窗口信息中。

在一个示例性实施例中,上述装置还包括:

第一处理模块,用于将获取的目标页面的页面信息发送至播放器,以指示上述播放器确定上述目标页面对应的目标视频窗口信息之前,初始化上述主窗口,以指示上述主窗口用于显示上述目标页面。

在一个示例性实施例中,上述装置还包括:

第四接收模块,用于将获取的目标页面的页面信息发送至播放器,以指示上述播放器确定上述目标页面对应的目标视频窗口信息之前,上述方法还包括:

第五接收模块,用于接收上述播放器发送的第二请求信息,其中,上述第二请求信息用于请求初始化N个上述视频窗口;

第二处理模块,用于响应上述第二请求信息,对N个上述视频窗口执行初始化操作,其中,上述初始化操作包括以下至少之一:确定设置在上述主窗口之下的M个上述视频窗口,确定设置在上述主窗口之上的K个上述视频窗口,确定悬浮的P个上述视频窗口,上述M、上述K以及上述P均是小于上述N的自然数;

第一定义模块,用于定义每个上述视频窗口之间的排列关系。

图12是根据本发明实施例的视频的播放装置的结构框图(二),如图12所示,该装置包括:

第二接收模块1202,用于接收浏览器发送的目标页面的页面信息;

第一确定模块1204,用于基于上述页面信息确定上述目标页面对应的目标视频窗口信息;

第三发送模块1206,用于向上述浏览器发送第一请求信息,其中,上述第一请求信息中包括上述目标视频窗口信息;

第三接收模块1208,用于接收上述浏览器发送的目标视频窗口的对象信息,其中,上述目标视频窗口是上述浏览器从N个视频窗口中确定的与上述目标视频窗口信息对应的视频窗口,N个上述视频窗口与主窗口叠加,上述主窗口用于显示上述目标页面,上述视频窗口用于播放视频,上述N是大于或等于1的自然数;

第一播放模块,用于利用上述对象信息在上述目标视频窗口播放上述目标页面中的目标视频。

在一个示例性实施例中,上述第一确定模块,包括:

第一确定单元,用于从上述页面信息中的视频信息中确定与上述视频信息对应的窗口类型、窗口位置信息以及播放标识信息,得到上述目标视频窗口信息。

在一个示例性实施例中,上述第一播放模块,包括:

第一下载单元,用于按照上述对象信息下载上述目标视频;

第三发送单元,用于将上述目标视频和上述对象信息发送至解码器,以指示上述解码器解码上述目标视频,并将解码后的目标视频回填至上述对象信息中;

第一播放单元,用于利用回填的对象信息播放上述解码后的目标视频。

在一个示例性实施例中,上述装置还包括:

第四发送模块,用于接收浏览器发送的目标页面的页面信息之前,向上述浏览器发送第二请求信息,其中,上述第二请求信息用于请求上述浏览器初始化N个上述视频窗口。

在一个示例性实施例中,上述装置还包括:

第一设置模块,用于接收浏览器发送的目标页面的页面信息之前,设置N个上述视频窗口的数量。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。

在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以上各步骤的计算机程序。

在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。

本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。

在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以上各步骤。

本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

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

相关技术
  • 一种电动汽车控制方法、电动汽车及计算机可读存储介质
  • 一种汽车碰撞检测方法、汽车及计算机可读存储介质
  • 共享汽车的控制方法、装置、服务器及计算机可读存储介质
  • 汽车碳税交易方法、云平台及计算机可读存储介质
  • 汽车限速提示方法、装置、可读存储介质及汽车
  • 汽车安全辅助系统、方法、汽车及计算机可读存储介质
  • 汽车导航投影系统、方法、汽车及计算机可读存储介质
技术分类

06120116337890