一种播放多视频的方法、装置及电子设备
技术领域
本发明涉及视频播放技术,尤其涉及一种播放多视频的方法、装置及电子设备。
背景技术
随着计算机通信以及互联网技术,尤其是4G通信技术的不断发展,电子设备,例如,智能移动电话、个人数字助理、掌上电脑、笔记本电脑等应用越来越广泛,电子设备中安装的应用程序(APP,Application)越来越多,提供的应用功能也越来越丰富。举例来说,作为文字与图片之后的第三大社交载体,短视频极有可能会成为社交的新发展趋势,用户可以通过社交平台分享短视频,也可以利用客户端的播放器,在播放器的播放界面中,播放好友分享的短视频进行观看,从而极大地增强和丰富了用户的体验。
目前,随着用户个性化需求的增强,用户希望在一播放界面中,能够同步播放多个视频,例如,对于同一奥运体育赛事,由于不同国家,以及同一国家的不同视频运营商,拍摄有不同的赛事视频,用户希望能在同一播放界面中,同步播放不同视频运营商拍摄的同一赛事的不同赛事视频,以全方位、多角度了解赛事过程,并在赛事视频播放完毕后,能够将该播放界面的各视频进行相关存储,以在后续需要重新浏览时,能够按照初始的播放方式进行播放,但目前还没有相关的技术方案,使得视频播放效率较低。
发明内容
有鉴于此,本发明实施例提供一种播放多视频的方法、装置及电子设备,能够提升视频播放效率,以解决现有的播放视频的方法不能使多个视频同步播放的问题。
第一方面,本发明实施例提供一种播放多视频的方法,包括:
在播放界面上设置多个播放视图窗口,分别为每一播放视图窗口设置一解码类;
获取待播放视频,调用播放所述待播放视频的播放视图窗口对应的解码类,对所述待播放视频进行解码,得到图像数据;
将所述图像数据渲染到播放所述待播放的视频的播放视图窗口中。
结合第一方面,在第一方面的第一种实施方式中,所述解码类为采用硬件解码技术的硬件解码类,各播放视图窗口设置的解码类相同。
结合第一方面,在第一方面的第二种实施方式中,所述方法还包括:
在预先设置的拼接文件中存储播放的多个视频;
分别构建每一所述播放视图窗口与对应存储的视频的映射关系;
将所述映射关系存储至所述拼接文件。
结合第一方面的第二种实施方式,在第一方面的第三种实施方式中,所述分别构建每一所述播放视图窗口与对应存储的视频的映射关系包括:
为所述播放界面设置播放界面标识;
获取播放所述待播放视频的播放视图窗口在所述播放界面中的播放视图窗口标识;
将所述播放界面标识和所述播放视图窗口标识链接至所述对应存储的视频。
结合第一方面、第一方面的第一种至第三种中任一种实施方式,在第一方面的第四种实施方式中,所述方法还包括:
接收拼接文件播放请求,展示播放界面,在展示的播放界面中,呈现所述映射关系映射的多个播放视图窗口,在每一所述播放视图窗口中,从所述拼接文件中,获取映射的视频进行解码播放。
第二方面,本发明实施例提供一种播放多视频的装置,包括:多窗口设置模块、解码模块以及渲染播放模块,其中,
多窗口设置模块,用于在播放界面上设置多个播放视图窗口,分别为每一播放视图窗口设置一解码类;
解码模块,用于获取待播放视频,调用播放所述待播放视频的播放视图窗口对应的解码类,对所述待播放视频进行解码,得到图像数据;
渲染播放模块,用于将所述图像数据渲染到播放所述待播放的视频的播放视图窗口中。
结合第二方面,在第二方面的第一种实施方式中,所述解码类为采用硬件解码技术的硬件解码类,各播放视图窗口设置的解码类相同。
结合第二方面,在第二方面的第二种实施方式中,所述装置还包括:
多视频存储模块,用于在预先设置的拼接文件中存储播放的多个视频;分别构建每一所述播放视图窗口与对应存储的视频的映射关系;将所述映射关系存储至所述拼接文件。
结合第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述分别构建每一所述播放视图窗口与对应存储的视频的映射关系包括:
为所述播放界面设置播放界面标识;
获取播放所述待播放视频的播放视图窗口在所述播放界面中的播放视图窗口标识;
将所述播放界面标识和所述播放视图窗口标识链接至所述对应存储的视频。
结合第二方面、第二方面的第一种至第三种中任一种实施方式,在第二方面的第四种实施方式中,所述装置还包括:
回播模块,用于接收拼接文件播放请求,展示播放界面,在展示的播放界面中,呈现所述映射关系映射的多个播放视图窗口,在每一所述播放视图窗口中,从所述拼接文件中,获取映射的视频进行解码播放。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行如下操作:
在播放界面上设置多个播放视图窗口,分别为每一播放视图窗口设置一解码类;
获取待播放视频,调用播放所述待播放视频的播放视图窗口对应的解码类,对所述待播放视频进行解码,得到图像数据;
将所述图像数据渲染到播放所述待播放的视频的播放视图窗口中。
第四方面,本发明实施例还提供了一种存储介质,用于存储应用程序,所述应用程序用于执行本发明实施例所提供的一种播放多视频的方法。
第五方面,本发明实施例还提供了一种应用程序,用于执行本发明实施例所提供的一种播放多视频的方法。
本发明实施例提供的一种播放多视频的方法、装置及电子设备,通过在播放界面上设置多个播放视图窗口,分别为每一播放视图窗口设置一解码类;获取待播放视频,调用播放所述待播放视频的播放视图窗口对应的解码类,对所述待播放视频进行解码,得到图像数据;将所述图像数据渲染到播放所述待播放的视频的播放视图窗口中,能够提升视频播放效率,以解决现有的播放视频的方法不能使多个视频同步播放的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明的实施例一播放多视频的方法流程示意图;
图2为本发明的实施例设置的播放界面结构示意图;
图3为本发明的实施例二播放多视频的装置结构示意图;
图4为本发明电子设备一个实施例的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
图1为本发明的实施例一播放多视频的方法流程示意图,如图1所示,本实施例的方法可以包括:
步骤101,在播放界面上设置多个播放视图窗口,分别为每一播放视图窗口设置一解码类;
本实施例中,作为一可选实施例,可以依据需要播放的视频数设置播放界面上的播放视图窗口数,每一播放视图窗口用于播放一视频。例如,对于不同频道的同一体育赛事的直播,可以依据直播同一体育赛事的频道数或用户需要观看的频道数设置播放视图窗口数。
图2为本发明的实施例设置的播放界面结构示意图。参见图2,假设需要播放的视频数为12个,则在播放界面上设置的播放视图窗口数也为12,其中,作为一可选实施例,每三个播放视图窗口组成一播放单元,各播放单元的尺寸可以相同,也可以不同,播放单元内的播放视图窗口(相当于网格,一网格对应一播放视图窗口)的位置和尺寸,可依据用户的实际播放需求进行设置,例如,对于一播放单元,可以将该播放单元进行居中竖向分屏,然后,再对右边分屏进行居中横向分屏,使之形成三个播放视图窗口。
本实施例中,由于需要在同一播放界面中实现多个视频的同步播放,为了保障每一播放的视频的流畅度,作为一可选实施例,为每一播放视图窗口设置一解码类,以加速对视频的解码。
本实施例中,作为一可选实施例,解码类为采用硬件解码技术的硬件解码类。其中,硬件解码类可以是一多媒体芯片,例如,设置有MediaCodec库的芯片。利用该底层特殊设计的多媒体芯片,在硬件层面完成将视频数据流转化为可以显示的图像数据流,从而可以实时完成对高清视频数据流的解码。当然,实际应用中,解码类也可以为采用软件解码技术的软件解码类,本实施例对此不作限定。
本实施例中,作为一可选实施例,各播放视图窗口设置的解码类相同。
本实施例中,作为另一可选实施例,还可以在播放视图窗口设置播放按钮,例如,开始播放按钮、停止播放按钮、中断播放按钮、快进、快退、高清播放请求按钮等,其中,后续用户如果点击高清播放请求按钮,则可以关联到构建的播放视图窗口与对应播放的视频的映射关系。
步骤102,获取待播放视频,调用播放所述待播放视频的播放视图窗口对应的解码类,对所述待播放视频进行解码,得到图像数据;
本实施例中,可以从网络或本地获取待播放视频。用户根据实际播放需要,将待播放的一视频置于对应的播放视图窗口中,则触发该播放视图窗口利用设置的解码类,对待播放视频进行解码。
本实施例中,对视频进行解码后,解码后的视频数据为图像数据。
步骤103,将所述图像数据渲染到播放所述待播放的视频的播放视图窗口中。
本实施例中,作为一可选实施例,利用硬件开放图形库(OpenGL,Open GraphicsLibrary),将图像数据渲染到对应的播放视图窗口中,该播放视图窗口即为接收待播放视频的播放视图窗口。这样,在每一播放视图窗口中,利用解码类对视频不断进行解码,得到图像数据,再利用硬件OpenGL不断将图像数据渲染到播放视图窗口中,由于每一播放视图窗口设置有一解码类以及一硬件OpenGL,从而可以显示一流畅的视频,并实现在同一播放界面中播放多个视频,有效提升用户的视频多样性浏览体验。
本实施例中,作为一可选实施例,该方法还可以包括:
在拼接文件中存储播放的多个视频;
分别构建每一所述播放视图窗口与对应存储的视频的映射关系;
将所述映射关系存储至所述拼接文件。
本实施例中,作为一可选实施例,分别构建每一所述播放视图窗口与对应存储的视频的映射关系包括:
A11,为所述播放界面设置播放界面标识;
本实施例中,用户构建不同的播放界面以播放不同的视频时,每一播放界面对应一播放界面标识。
A12,获取播放所述待播放视频的播放视图窗口在所述播放界面中的播放视图窗口标识;
本实施例中,播放界面中的不同播放视图窗口具有不同的播放视图窗口标识,每一播放视图窗口标识对应该播放视图窗口的位置、尺寸信息等。
A13,将所述播放界面标识和所述播放视图窗口标识链接至所述对应存储的视频。
本实施例中,将播放视频的播放视图窗口设置为一链接,即在后续播放拼接文件时,可以依据映射关系呈现包含相应播放视图窗口的播放界面,并将每一播放视图窗口链接到相应存储的视频,以对该视频进行重新解码播放。
本实施例中,作为一可选实施例,存储有映射关系的拼接文件为一视频播放格式的文件,例如,为一AV格式的文件或RM格式的文件或mp3格式的文件等。
本实施例中,作为一可选实施例,在拼接文件中存储播放的多个视频可以是将所述多个播放视图窗口分别播放的视频进行拼接,得到拼接视频后存储至拼接文件。关于将同步播放的多个视频进行拼接为公知技术,在此略去详述。
本实施例中,作为一可选实施例,将所述多个播放视图窗口分别播放的视频进行拼接包括:
利用硬件编码类的方式编译使用硬件OpenGL渲染到每一播放视图窗口中的数据。
本实施例中,作为另一可选实施例,该方法还可以包括:
接收拼接文件播放请求,展示播放界面,在展示的播放界面中,呈现所述映射关系映射的多个播放视图窗口,在每一所述播放视图窗口中,从所述拼接文件中,获取映射的视频进行解码播放。
本实施例中,用户在需要再次观看该播放界面中的多个视频时,可以通过播放存储的拼接文件,使得可以呈现包含多个播放视图窗口格局的播放界面,即映射关系中各播放视图窗口标识对应播放视图窗口的位置、尺寸信息,并在各播放视图窗口中,播放拼接文件中存储的对应视频,即映射关系中播放界面标识和播放视图窗口标识链接的视频,以便于用户对各播放的视频进行重新浏览。
本实施例播放多视频的方法,通过在播放界面上设置多个播放视图窗口,分别为每一播放视图窗口设置一解码类;获取待播放视频,调用播放所述待播放视频的播放视图窗口对应的解码类,对所述待播放视频进行解码,得到图像数据;将所述图像数据渲染到播放所述待播放的视频的播放视图窗口中。这样,通过构建多个播放视图窗口,并为每一播放视图窗口设置解码类,可以实现多个视频的同步播放,用户可以同时观看多个视频,有效提升了视频播放效率;进一步地,在进行视频存储时,可以将多个播放的视频组合成为一拼接视频,能够使得组合出的拼接视频包含更多的内容以满足用户的视频多样化需求,并在后续播放中,能够呈现与设置的播放界面相同的布局进行多视频播放,保障了回播的性能和用户体验。
实施例二
图3为本发明的实施例二播放多视频的装置结构示意图,如图3所示,本实施例的装置可以包括:多窗口设置模块31、解码模块32以及渲染播放模块33,其中,
多窗口设置模块31,用于在播放界面上设置多个播放视图窗口,分别为每一播放视图窗口设置一解码类;
本实施例中,作为一可选实施例,解码类为采用硬件解码技术的硬件解码类,各播放视图窗口设置的解码类相同。
本实施例中,作为一可选实施例,可以依据需要播放的视频数设置播放界面上的播放视图窗口数,每一播放视图窗口用于播放一视频。
本实施例中,作为另一可选实施例,还可以在播放视图窗口设置播放按钮,例如,开始播放按钮、停止播放按钮、中断播放按钮、快进、快退、高清播放请求按钮等。
解码模块32,用于获取待播放视频,调用播放所述待播放视频的播放视图窗口对应的解码类,对所述待播放视频进行解码,得到图像数据;
渲染播放模块33,用于将所述图像数据渲染到播放所述待播放的视频的播放视图窗口中。
本实施例中,作为一可选实施例,利用硬件开放图形库将图像数据渲染到对应的播放视图窗口中。
本实施例中,作为一可选实施例,该装置还可以包括:
多视频存储模块(图中未示出),用于在预先设置的拼接文件中存储播放的多个视频;分别构建每一所述播放视图窗口与对应存储的视频的映射关系;将所述映射关系存储至所述拼接文件。
本实施例中,作为一可选实施例,所述分别构建每一所述播放视图窗口与对应存储的视频的映射关系包括:
为所述播放界面设置播放界面标识;
获取播放所述待播放视频的播放视图窗口在所述播放界面中的播放视图窗口标识;
将所述播放界面标识和所述播放视图窗口标识链接至所述对应存储的视频。
本实施例中,播放界面中的不同播放视图窗口具有不同的播放视图窗口标识,每一播放视图窗口标识对应该播放视图窗口的位置、尺寸信息等。
本实施例中,作为一可选实施例,利用硬件编码类的方式编译使用硬件OpenGL渲染到每一播放视图窗口中的数据。
本实施例中,作为另一可选实施例,该装置还可以包括:
回播模块(图中未示出),用于接收拼接文件播放请求,展示播放界面,在展示的播放界面中,呈现所述映射关系映射的多个播放视图窗口,在每一所述播放视图窗口中,从所述拼接文件中,获取映射的视频进行解码播放。
本实施例中,用户在需要再次观看该播放界面中的多个视频时,可以通过播放存储的拼接文件,使得可以呈现包含多个播放视图窗口格局的播放界面,即映射关系中各播放视图窗口标识对应播放视图窗口的位置、尺寸信息,并在各播放视图窗口中,播放拼接文件中存储的对应视频,即映射关系中播放界面标识和播放视图窗口标识链接的视频,以便于用户对各播放的视频进行重新浏览。
本实施例的装置,可以用于执行图1和图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本发明实施例还提供一种电子设备,所述电子设备包含前述任一实施例所述的装置。
图4为本发明电子设备一个实施例的结构示意图,可以实现本发明图1-3所示实施例的流程,如图4所示,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行如下操作:
在播放界面上设置多个播放视图窗口,分别为每一播放视图窗口设置一解码类;
获取待播放视频,调用播放所述待播放视频的播放视图窗口对应的解码类,对所述待播放视频进行解码,得到图像数据;
将所述图像数据渲染到播放所述待播放的视频的播放视图窗口中。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-3所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本发明实施例还提供了一种存储介质,用于存储应用程序,所述应用程序用于执行本发明实施例所提供的一种播放多视频的方法。
本发明实施例还提供了一种应用程序,用于执行本发明实施例所提供的一种播放多视频的方法。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本
发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。