视频播放方法及装置与流程

文档序号:12730498阅读:198来源:国知局
视频播放方法及装置与流程

本发明涉及多媒体领域,具体而言,涉及一种视频播放方法及装置。



背景技术:

在相关技术中,在播放多场景(如多剧情)视频时,一般采用多个播放器播放多路视频流的方式。具体地,不同的播放器播放不同的视频流,但是所有的播放器需要同时对相应的视频流进行解码。并且,客户端在渲染时,可以只渲染其中一个播放器播放的画面信息和音频信息,若用户选择了其他场景,则客户端需要切换至用于播放该场景的播放器上继续播放。

在上述方案中,用户启动播放时需要同时获取多路视频流的地址,然后同时启动多个播放器,但在客户端只对其中一个播放器播放的画面和音频进行渲染,而其他播放器则处于隐藏状态,但是所有播放器需要同步解码。当用户选择了其他场景时,则切换到其他播放器进行画面和音频渲染。

可见,上述方案在实现多场景播放时存在以下缺陷:

1、需要同时存储多路视频流,后台存储成本更高;

2、在网络出现抖动或者在弱网络情况下,客户端容易出现多个播放器不同步的现象,导致场景衔接时出现跳变或者重复,无法保证用户体验。

针对上述问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种视频播放方法及装置,以至少解决相关技术中在播放多场景时容易造成存储成本高且播放不同步的技术问题。

根据本发明实施例的一个方面,提供了一种视频播放方法,包括:获取服务器下发的目标视频流,其中,上述目标视频流是对不同场景下的音频信息和图像信息进行编码得到的,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;对上述目标视频流进行解码,得到解码后的视频流,其中,上述解码后的视频流包括:上述不同场景下的音频信息和图像信息;接收场景选择指令,上述场景选择指令用于指示播放上述解码后的视频流中的指定场景;响应于上述场景选择指令在上述播放界面中与上述指定场景对应的播放区域中播放上述指定场景下的图像信息,并同步播放上述音频信息。

根据本发明实施例的另一方面,还提供了另一种视频播放方法,包括:对不同场景下的音频信息和图像信息进行编码,得到目标视频流,其中,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;将上述目标视频流下发给客户端,其中,上述客户端用于接收并对上述目标视频流进行解码,得到解码后的视频流,其中,上述解码后的视频流包括:上述不同场景下的音频信息和图像信息,并接收场景选择指令,上述场景选择指令用于指示播放上述解码后的视频流中的指定场景,以及响应于上述场景选择指令在上述播放界面中与上述指定场景对应的播放区域中播放上述指定场景下的图像信息,并同步播放上述音频信息。

根据本发明实施例的一个方面,提供了一种视频播放装置,包括:获取单元,用于获取服务器下发的目标视频流,其中,上述目标视频流是对不同场景下的音频信息和图像信息进行编码得到的,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;解码单元,用于对上述目标视频流进行解码,得到解码后的视频流,其中,上述解码后的视频流包括:上述不同场景下的音频信息和图像信息;第一接收单元,用于接收场景选择指令,上述场景选择指令用于指示播放上述解码后的视频流中的指定场景;第一播放单元,用于响应于上述场景选择指令在上述播放界面中与上述指定场景对应的播放区域中播放上述指定场景下的图像信息,并同步播放上述音频信息。

根据本发明实施例的另一方面,还提供了另一种视频播放装置,包括:编码单元,用于对不同场景下的音频信息和图像信息进行编码,得到目标视频流,其中,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;发送单元,用于将上述目标视频流下发给客户端,其中,上述客户端用于接收并对上述目标视频流进行解码,得到解码后的视频流,其中,上述解码后的视频流包括:上述不同场景下的音频信息和图像信息,并接收场景选择指令,上述场景选择指令用于指示播放上述解码后的视频流中的指定场景,以及响应于上述场景选择指令在上述播放界面中与上述指定场景对应的播放区域中播放上述指定场景下的图像信息,并同步播放上述音频信息。

在本发明实施例中,采用将多个场景的视频流编码到一个视频流中的方式,通过获取服务器下发的目标视频流,其中,目标视频流是对不同场景下的音频信息和图像信息进行编码得到的,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息;接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景;响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息,由于服务器已经将不同场景的视频流预先编码在一个视频流中了,一方面可以节约存储空间,另一方面,由于客户端同时解码同一视频流中的所有场景,因此,用户在播放过程中若任意切换不同的播放场景,则都不会出现跳变或者重复,从而实现了在播放多场景视频时节约存储成本且同步播放不同场景的技术效果,进而解决了相关技术中在播放多场景时容易造成存储成本高且播放不同步的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的视频播放方法的硬件环境的示意图;

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

图3是根据本发明实施例的另一种可选的视频播放方法的流程图;

图4是根据本发明实施例的一种可选的视频播放装置的示意图;

图5是根据本发明实施例的一种优选的视频播放装置的示意图;

图6是根据本发明实施例的一种优选的视频播放装置的示意图;

图7是根据本发明实施例的另一种可选的视频播放装置的示意图;以及

图8是根据本发明实施例的一种终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:

多剧情(即多场景):同一个视频源有多个不同的图像(比如男女主角不同视角的图像,比赛中不同角度的画面图像等)。

实施例1

根据本发明实施例,提供了一种视频播放方法的方法实施例。

可选地,在本实施例中,上述视频播放方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的视频播放方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的视频播放方法也可以是由安装在其上的客户端来执行。

图2是根据本发明实施例的一种可选的视频播放方法的流程图,如图2所示,该方法可以包括以下步骤:

步骤S202,获取服务器下发的目标视频流,其中,目标视频流是对不同场景下的音频信息和图像信息进行编码得到的,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;

步骤S204,对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息;

步骤S206,接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景;

步骤S208,响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

通过上述步骤S202至步骤S208,通过获取服务器下发的目标视频流,其中,目标视频流是对不同场景下的音频信息和图像信息进行编码得到的,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息;接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景;响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息,由于服务器已经将不同场景的视频流预先编码在一个视频流中了,一方面可以节约存储空间,另一方面,由于客户端同时解码同一视频流中的所有场景,因此,用户在播放过程中若任意切换不同的播放场景,则都不会出现跳变或者重复,从而实现了在播放多场景视频时节约存储成本且同步播放不同场景的技术效果,进而解决了相关技术中在播放多场景时容易造成存储成本高且播放不同步的技术问题。

在步骤S202提供的技术方案中,获取服务器下发的目标视频流的方式可以包括但不限于:服务器向对应的客户端发送目标视频流之后,客户端接收该目标视频流;先获取视频播放地址,在获取该播放地址下的视频播放内容,即视频流。需要说明的是,服务器在下发目标视频流之前,需要对不同场景下的音频信息和图像信息进行编码,将其编写在一个视频流中,这样,每个场景下的图像信息可以被设置为在播放界面中的一个播放区域中播放。例如,在视频编码阶段,服务器需要将不同场景下的图像信息和音频信息编码到同一个视频流中,图像可按照两张图像拼接的方式,比如有两个场景,图像分辨率都是320*240,则可拼接成320*480的图像。

在步骤S204提供的技术方案中,为了节约存储空间,同时减小传输开销,服务器在下发视频流之前,都会进行编码压缩。因此,客户端在接收到目标视频流之后,需要先对其进行解码解压,得到解码后的包含了同场景下的音频信息和图像信息的视频流,在对其进行播放。

在步骤S206提供的技术方案中,场景选择指令可以是用户输入的,其输入方式可以包括但不限于:按钮点击、手势操作等。实施时,可以在播放界面设置一个入口,用于输入相关指令。例如,在视频开始播放后,在播放界面出现多场景的切换入口,播放器会按照预先设定的规则选择其中一个或者多个场景进行播放,当用户选择了其他场景后,播放界面会将当前正在播放的画面和音频切换到其他剧情对应的画面和音频进行播放。

在步骤S208提供的技术方案中,客户端响应于场景选择指令,在播放界面中与指定场景对应的播放区域中渲染出指定场景下的图像信息对应的画面,同时,渲染出上述音频信息对应的音频。

需要说明的是,由于不同场景是按照时间轴被编写在一个视频流中的,因此,用户选择不同的播放场景时,客户端可以实现无缝切换不同场景。

作为一种可选的实施例,响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息包括:获取指定场景的场景信息,其中,场景信息至少可以包括:指定场景下的图像的分辨率、起始坐标和音轨编号;响应于场景选择指令在播放界面中由分辨率和起始坐标确定的播放区域中播放指定场景下的图像信息,并同步播放由音轨编号确定的音频信息。

也即,服务器在编码阶段,同时可以定义并存储目标视频流中所涉及的不同场景的相关场景信息,其中,根据这些场景信息中某个场景的图像的分辨率和起始坐标,可以计算出该场景在播放界面中对应的播放区域;根据这些场景信息中某个场景的音轨编号,可以确定该场景下需要播放的音频。进一步,上述分辨率可以用于确定该场景下所播放画面的宽和高各是多少。实施时,服务器在下发某一视频流时,同时会下发编码在该视频流中的各个场景的场景信息。需要说明的是,上述场景信息还可以包含对应的视频流中一共编码了几份不同的场景。

具体地,在解码完目标视频流中的每一帧数据后,客户端会根据当前的用户选择的场景找到与之对应的场景信息,以根据对应场景的图像的起始坐标和分辨率计算得到与该场景对应的播放区域,此时,客户端可以在这个播放区域中显示用户选择的场景。需要说明的是,在这种情况下,客户端可以只在播放界面上显示播放用户选择的场景的播放区域,而无需显示所有的播放区域。在播放画面的同时,客户端还可以选择对应音轨编号进行音频渲染,整个播放过程中的每一次绘制都需要根据用户最新的选择进行绘制。也即,播放过程中用户播放器(即客户端)提供的视频宽高信息需要根据场景来返回,而不能使用视频流的原始宽高信息。

作为一种可选的实施例,在指定场景包括多个场景的情况下,响应于场景选择指令在播放界面中由分辨率和起始坐标确定的播放区域中播放指定场景下的图像信息包括:响应于场景选择指令在播放界面中由分辨率和起始坐标确定的各播放区域中播放多个场景中每个场景下各自对应的图像信息,其中,各播放区域中任意一个播放区域与各播放区域中其他播放区域都不重合。

也即,用户在选择场景时,可以同时选定多个不同的场景进行播放,例如,服务器将场景1-4同时编码在一个视频流A中,在客户端播放视频流A对应的视频时,用户可以选择同时播放场景1-4中的任意一个或者多个,其中,同时播放多个场景包括同时播放场景1-4。以同时播放场景1-2为例,场景1在播放界面上的播放区域由场景1的场景信息中的图像分辨率1和起始坐标1确定,其同步播放的音频信息则由场景1的场景信息中的音轨编号1确定。同理,场景2在播放界面上的播放区域由场景2的场景信息中的图像分辨率2和起始坐标2确定,其同步播放的音频信息则由场景2的场景信息中的音轨编号2确定。为了防止客户端渲染画面或声音时可能出现画面变花或声音杂乱,定义不同场景下的图像的分辨率和起始位置以及音轨编号时需要避免画面重合或者声音重合的情况。需要说明的是,场景信息除了包含上述的相关信息之外,还可以包括默认场景。

作为一种可选的实施例,在指定场景包括一个场景的情况下,在响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息之后,上述方法还可以包括:接收播放区域调整指令,其中,播放区域调整指令用于指示对播放指定场景下的图像信息的播放区域进行调整;响应于播放区域调整指令在调整后的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

也即,在用户仅仅选择播放所有场景中的一个场景时,此时,用户可以调整播放该场景的播放区域,例如,用户可以通过输入播放区域调整指令,以指示在整个播放界面上播放该场景的相关画面。需要说明的是,上述播放区域调整指令即可以用于调整播放区域的大小,又可以用于调整播放区域的位置,还可以用于同时调整调整播放区域的大小和播放区域的位置。

作为一种可选的实施例,在响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息之后,上述方法还可以包括:接收场景切换指令,其中,场景切换指令用于指示将当前播放场景由指定场景切换至其他场景;响应于场景切换指令在播放界面中与其他场景对应的播放区域中播放其他场景下的图像信息,并同步播放其他场景下的音频信息。

也即,用户在选定场景后,还可以根据自身需要随意切换其他场景,例如,服务器将场景1-4同时编码在一个视频流A中,在客户端播放视频流A对应的视频时,用户可以先选择同时播放场景1,在经过一段时间后在将播放场景切换至播放场景2。由于播放场景2和播放场景1在服务器端是按照时间轴编码在一个视频流中的,因此,在播放时长为t时,将播放场景1切换至播放场景2时,播放器刚好可以从时长为t对应的时刻开始播放播放场景2,从而达到了无缝切换播放场景的目的。

根据本发明实施例,提供了另一种视频播放方法的方法实施例。

可选地,在本实施例中,上述视频播放方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的视频播放方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的视频播放方法也可以是由安装在其上的客户端来执行。

图3是根据本发明实施例的另一种可选的视频播放方法的流程图,如图3所示,该方法可以包括以下步骤:

步骤S302,对不同场景下的音频信息和图像信息进行编码,得到目标视频流,其中,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;

步骤S304,将目标视频流下发给客户端,其中,客户端用于接收并对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息,并接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景,以及响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

通过上述步骤S302至步骤S304,通过对不同场景下的音频信息和图像信息进行编码,得到目标视频流,其中,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放,将目标视频流下发给客户端,其中,客户端用于接收并对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息,并接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景,以及响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息,由于服务器已经将不同场景的视频流预先编码在一个视频流中了,一方面可以节约存储空间,另一方面,由于客户端同时解码同一视频流中的所有场景,因此,用户在播放过程中若任意切换不同的播放场景,则都不会出现跳变或者重复,从而实现了在播放多场景视频时节约存储成本且同步播放不同场景的技术效果,进而解决了相关技术中在播放多场景时容易造成存储成本高且播放不同步的技术问题。

获取服务器下发的目标视频流的方式可以包括但不限于:服务器向对应的客户端发送目标视频流之后,客户端接收该目标视频流;先获取视频播放地址,在获取该播放地址下的视频播放内容,即视频流。需要说明的是,服务器在下发目标视频流之前,需要对不同场景下的音频信息和图像信息进行编码,将其编写在一个视频流中,这样,每个场景下的图像信息可以被设置为在播放界面中的一个播放区域中播放。例如,在视频编码阶段,服务器需要将不同场景下的图像信息和音频信息编码到同一个视频流中,图像可按照两张图像拼接的方式,比如有两个场景,图像分辨率都是320*240,则可拼接成320*480的图像。

为了节约存储空间,同时减小传输开销,服务器在下发视频流之前,都会进行编码压缩。因此,客户端在接收到目标视频流之后,需要先对其进行解码解压,得到解码后的包含了同场景下的音频信息和图像信息的视频流,在对其进行播放。

场景选择指令可以是用户输入的,其输入方式可以包括但不限于:按钮点击、手势操作等。实施时,可以在播放界面设置一个入口,用于输入相关指令。例如,在视频开始播放后,在播放界面出现多场景的切换入口,播放器会按照预先设定的规则选择其中一个或者多个场景进行播放,当用户选择了其他场景后,播放界面会将当前正在播放的画面和音频切换到其他剧情对应的画面和音频进行播放。

客户端响应于场景选择指令,在播放界面中与指定场景对应的播放区域中渲染出指定场景下的图像信息对应的画面,同时,渲染出上述音频信息对应的音频。

需要说明的是,由于不同场景是按照时间轴被编写在一个视频流中的,因此,用户选择不同的播放场景时,客户端可以实现无缝切换不同场景。

作为一种可选的实施例,在对不同场景下的音频信息和图像信息进行编码,得到目标视频流之前或者同时,方法还包括:存储不同场景的场景信息,其中,场景信息至少包括:目标视频流中包含的不同场景的份数,不同场景中各个场景下的图像的分辨率、起始坐标和音轨编号。

也即,服务器在编码阶段,同时可以定义并存储目标视频流中所涉及的不同场景的相关场景信息,其中,根据这些场景信息中某个场景的图像的分辨率和起始坐标,可以计算出该场景在播放界面中对应的播放区域;根据这些场景信息中某个场景的音轨编号,可以确定该场景下需要播放的音频。进一步,上述分辨率可以用于确定该场景下所播放画面的宽和高各是多少。实施时,服务器在下发某一视频流时,同时会下发编码在该视频流中的各个场景的场景信息。需要说明的是,上述场景信息还可以包含对应的视频流中一共编码了几份不同的场景。

具体地,在解码完目标视频流中的每一帧数据后,客户端会根据当前的用户选择的场景找到与之对应的场景信息,以根据对应场景的图像的起始坐标和分辨率计算得到与该场景对应的播放区域,此时,客户端可以在这个播放区域中显示用户选择的场景。需要说明的是,在这种情况下,客户端可以只在播放界面上显示播放用户选择的场景的播放区域,而无需显示所有的播放区域。在播放画面的同时,客户端还可以选择对应音轨编号进行音频渲染,整个播放过程中的每一次绘制都需要根据用户最新的选择进行绘制。也即,播放过程中用户播放器(即客户端)提供的视频宽高信息需要根据场景来返回,而不能使用视频流的原始宽高信息。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

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

实施例2

根据本发明实施例,还提供了一种用于实施上述视频播放方法的视频播放装置。图4是根据本发明实施例的一种可选的视频播放装置的示意图,如图4所示,该装置可以包括:获取单元402,用于获取服务器下发的目标视频流,其中,目标视频流是对不同场景下的音频信息和图像信息进行编码得到的,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;解码单元404,用于对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息;第一接收单元406,用于接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景;第一播放单元408,用于响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

上述单元,通过获取服务器下发的目标视频流,其中,目标视频流是对不同场景下的音频信息和图像信息进行编码得到的,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息;接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景;响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息,由于服务器已经将不同场景的视频流预先编码在一个视频流中了,一方面可以节约存储空间,另一方面,由于客户端同时解码同一视频流中的所有场景,因此,用户在播放过程中若任意切换不同的播放场景,则都不会出现跳变或者重复,从而实现了在播放多场景视频时节约存储成本且同步播放不同场景的技术效果,进而解决了相关技术中在播放多场景时容易造成存储成本高且播放不同步的技术问题。

对于获取单元402,获取服务器下发的目标视频流的方式可以包括但不限于:服务器向对应的客户端发送目标视频流之后,客户端接收该目标视频流;先获取视频播放地址,在获取该播放地址下的视频播放内容,即视频流。需要说明的是,服务器在下发目标视频流之前,需要对不同场景下的音频信息和图像信息进行编码,将其编写在一个视频流中,这样,每个场景下的图像信息可以被设置为在播放界面中的一个播放区域中播放。例如,在视频编码阶段,服务器需要将不同场景下的图像信息和音频信息编码到同一个视频流中,图像可按照两张图像拼接的方式,比如有两个场景,图像分辨率都是320*240,则可拼接成320*480的图像。

对于解码单元404,为了节约存储空间,同时减小传输开销,服务器在下发视频流之前,都会进行编码压缩。因此,客户端在接收到目标视频流之后,需要先对其进行解码解压,得到解码后的包含了同场景下的音频信息和图像信息的视频流,在对其进行播放。

对于第一接收单元406,场景选择指令可以是用户输入的,其输入方式可以包括但不限于:按钮点击、手势操作等。实施时,可以在播放界面设置一个入口,用于输入相关指令。例如,在视频开始播放后,在播放界面出现多场景的切换入口,播放器会按照预先设定的规则选择其中一个或者多个场景进行播放,当用户选择了其他场景后,播放界面会将当前正在播放的画面和音频切换到其他剧情对应的画面和音频进行播放。

对于第一播放单元408,客户端响应于场景选择指令,在播放界面中与指定场景对应的播放区域中渲染出指定场景下的图像信息对应的画面,同时,渲染出上述音频信息对应的音频。

需要说明的是,由于不同场景是按照时间轴被编写在一个视频流中的,因此,用户选择不同的播放场景时,客户端可以实现无缝切换不同场景。

作为一种可选的实施例,如图5所示,第一播放单元408包括:获取模块502,用于获取指定场景的场景信息,其中,场景信息至少包括:指定场景下的图像的分辨率、起始坐标和音轨编号;播放模块504,用于响应于场景选择指令在播放界面中由分辨率和起始坐标确定的播放区域中播放指定场景下的图像信息,并同步播放由音轨编号确定的音频信息。

也即,服务器在编码阶段,同时可以定义并存储目标视频流中所涉及的不同场景的相关场景信息,其中,根据这些场景信息中某个场景的图像的分辨率和起始坐标,可以计算出该场景在播放界面中对应的播放区域;根据这些场景信息中某个场景的音轨编号,可以确定该场景下需要播放的音频。进一步,上述分辨率可以用于确定该场景下所播放画面的宽和高各是多少。实施时,服务器在下发某一视频流时,同时会下发编码在该视频流中的各个场景的场景信息。需要说明的是,上述场景信息还可以包含对应的视频流中一共编码了几份不同的场景。

具体地,在解码完目标视频流中的每一帧数据后,客户端会根据当前的用户选择的场景找到与之对应的场景信息,以根据对应场景的图像的起始坐标和分辨率计算得到与该场景对应的播放区域,此时,客户端可以在这个播放区域中显示用户选择的场景。需要说明的是,在这种情况下,客户端可以只在播放界面上显示播放用户选择的场景的播放区域,而无需显示所有的播放区域。在播放画面的同时,客户端还可以选择对应音轨编号进行音频渲染,整个播放过程中的每一次绘制都需要根据用户最新的选择进行绘制。也即,播放过程中用户播放器(即客户端)提供的视频宽高信息需要根据场景来返回,而不能使用视频流的原始宽高信息。

作为一种可选的实施例,在指定场景包括多个场景的情况下,播放模块还用于:响应于场景选择指令在播放界面中由分辨率和起始坐标确定的各播放区域中播放多个场景中每个场景下各自对应的图像信息,其中,各播放区域中任意一个播放区域与各播放区域中其他播放区域都不重合。

也即,用户在选择场景时,可以同时选定多个不同的场景进行播放,例如,服务器将场景1-4同时编码在一个视频流A中,在客户端播放视频流A对应的视频时,用户可以选择同时播放场景1-4中的任意一个或者多个,其中,同时播放多个场景包括同时播放场景1-4。以同时播放场景1-2为例,场景1在播放界面上的播放区域由场景1的场景信息中的图像分辨率1和起始坐标1确定,其同步播放的音频信息则由场景1的场景信息中的音轨编号1确定。同理,场景2在播放界面上的播放区域由场景2的场景信息中的图像分辨率2和起始坐标2确定,其同步播放的音频信息则由场景2的场景信息中的音轨编号2确定。为了防止客户端渲染画面或声音时可能出现画面变花或声音杂乱,定义不同场景下的图像的分辨率和起始位置以及音轨编号时需要避免画面重合或者声音重合的情况。需要说明的是,场景信息除了包含上述的相关信息之外,还可以包括默认场景。

作为一种可选的实施例,如图6所示,在指定场景包括一个场景的情况下,上述装置还包括:第二接收单元602,用于在响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息之后,接收播放区域调整指令,其中,播放区域调整指令用于指示对播放指定场景下的图像信息的播放区域进行调整;第二播放单元604,用于响应于播放区域调整指令在调整后的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

也即,在用户仅仅选择播放所有场景中的一个场景时,此时,用户可以调整播放该场景的播放区域,例如,用户可以通过输入播放区域调整指令,以指示在整个播放界面上播放该场景的相关画面。需要说明的是,上述播放区域调整指令即可以用于调整播放区域的大小,又可以用于调整播放区域的位置,还可以用于同时调整调整播放区域的大小和播放区域的位置。

作为一种可选的实施例,上述装置还包括:第三接收单元,用于在响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息之后,接收场景切换指令,其中,场景切换指令用于指示将当前播放场景由指定场景切换至其他场景;第三播放单元,用于响应于场景切换指令在播放界面中与其他场景对应的播放区域中播放其他场景下的图像信息,并同步播放其他场景下的音频信息。

也即,用户在选定场景后,还可以根据自身需要随意切换其他场景,例如,服务器将场景1-4同时编码在一个视频流A中,在客户端播放视频流A对应的视频时,用户可以先选择同时播放场景1,在经过一段时间后在将播放场景切换至播放场景2。由于播放场景2和播放场景1在服务器端是按照时间轴编码在一个视频流中的,因此,在播放时长为t时,将播放场景1切换至播放场景2时,播放器刚好可以从时长为t对应的时刻开始播放播放场景2,从而达到了无缝切换播放场景的目的。

根据本发明实施例,还提供了另一种用于实施上述视频播放方法的视频播放装置。图7是根据本发明实施例的另一种可选的视频播放装置的示意图,如图7所示,该装置可以包括:编码单元702,用于对不同场景下的音频信息和图像信息进行编码,得到目标视频流,其中,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;发送单元704,用于将目标视频流下发给客户端,其中,客户端用于接收并对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息,并接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景,以及响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

通过上述单元,通过对不同场景下的音频信息和图像信息进行编码,得到目标视频流,其中,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放,将目标视频流下发给客户端,其中,客户端用于接收并对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息,并接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景,以及响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息,由于服务器已经将不同场景的视频流预先编码在一个视频流中了,一方面可以节约存储空间,另一方面,由于客户端同时解码同一视频流中的所有场景,因此,用户在播放过程中若任意切换不同的播放场景,则都不会出现跳变或者重复,从而实现了在播放多场景视频时节约存储成本且同步播放不同场景的技术效果,进而解决了相关技术中在播放多场景时容易造成存储成本高且播放不同步的技术问题。

获取服务器下发的目标视频流的方式可以包括但不限于:服务器向对应的客户端发送目标视频流之后,客户端接收该目标视频流;先获取视频播放地址,在获取该播放地址下的视频播放内容,即视频流。需要说明的是,服务器在下发目标视频流之前,需要对不同场景下的音频信息和图像信息进行编码,将其编写在一个视频流中,这样,每个场景下的图像信息可以被设置为在播放界面中的一个播放区域中播放。例如,在视频编码阶段,服务器需要将不同场景下的图像信息和音频信息编码到同一个视频流中,图像可按照两张图像拼接的方式,比如有两个场景,图像分辨率都是320*240,则可拼接成320*480的图像。

为了节约存储空间,同时减小传输开销,服务器在下发视频流之前,都会进行编码压缩。因此,客户端在接收到目标视频流之后,需要先对其进行解码解压,得到解码后的包含了同场景下的音频信息和图像信息的视频流,在对其进行播放。

场景选择指令可以是用户输入的,其输入方式可以包括但不限于:按钮点击、手势操作等。实施时,可以在播放界面设置一个入口,用于输入相关指令。例如,在视频开始播放后,在播放界面出现多场景的切换入口,播放器会按照预先设定的规则选择其中一个或者多个场景进行播放,当用户选择了其他场景后,播放界面会将当前正在播放的画面和音频切换到其他剧情对应的画面和音频进行播放。

客户端响应于场景选择指令,在播放界面中与指定场景对应的播放区域中渲染出指定场景下的图像信息对应的画面,同时,渲染出上述音频信息对应的音频。

需要说明的是,由于不同场景是按照时间轴被编写在一个视频流中的,因此,用户选择不同的播放场景时,客户端可以实现无缝切换不同场景。

作为一种可选的实施例,上述装置还包括:存储单元,用于在对不同场景下的音频信息和图像信息进行编码,得到目标视频流之前或者同时,存储不同场景的场景信息,其中,场景信息至少包括:目标视频流中包含的不同场景的份数,不同场景中各个场景下的图像的分辨率、起始坐标和音轨编号。

也即,服务器在编码阶段,同时可以定义并存储目标视频流中所涉及的不同场景的相关场景信息,其中,根据这些场景信息中某个场景的图像的分辨率和起始坐标,可以计算出该场景在播放界面中对应的播放区域;根据这些场景信息中某个场景的音轨编号,可以确定该场景下需要播放的音频。进一步,上述分辨率可以用于确定该场景下所播放画面的宽和高各是多少。实施时,服务器在下发某一视频流时,同时会下发编码在该视频流中的各个场景的场景信息。需要说明的是,上述场景信息还可以包含对应的视频流中一共编码了几份不同的场景。

具体地,在解码完目标视频流中的每一帧数据后,客户端会根据当前的用户选择的场景找到与之对应的场景信息,以根据对应场景的图像的起始坐标和分辨率计算得到与该场景对应的播放区域,此时,客户端可以在这个播放区域中显示用户选择的场景。需要说明的是,在这种情况下,客户端可以只在播放界面上显示播放用户选择的场景的播放区域,而无需显示所有的播放区域。在播放画面的同时,客户端还可以选择对应音轨编号进行音频渲染,整个播放过程中的每一次绘制都需要根据用户最新的选择进行绘制。也即,播放过程中用户播放器(即客户端)提供的视频宽高信息需要根据场景来返回,而不能使用视频流的原始宽高信息。

通过上述模块/单元,可以解决了相关技术中在播放多场景时容易造成存储成本高且播放不同步的技术问题,进而达到节省存储成本且同步播放多场景的技术效果。

实施例3

根据本发明实施例,还提供了一种用于实施上述视频播放方法的服务器或终端。

图8是根据本发明实施例的一种终端的结构框图,如图8所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205(如上述实施例中的发送装置),如图8所示,该终端还可以包括输入输出设备207。

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

上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

其中,具体地,存储器203用于存储应用程序。

处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:获取服务器下发的目标视频流,其中,目标视频流是对不同场景下的音频信息和图像信息进行编码得到的,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息;接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景;响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

处理器201还用于执行下述步骤:响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息包括:获取指定场景的场景信息,其中,场景信息至少包括:指定场景下的图像的分辨率、起始坐标和音轨编号;响应于场景选择指令在播放界面中由分辨率和起始坐标确定的播放区域中播放指定场景下的图像信息,并同步播放由音轨编号确定的音频信息。

处理器201还用于执行下述步骤:在指定场景包括多个场景的情况下,响应于场景选择指令在播放界面中由分辨率和起始坐标确定的播放区域中播放指定场景下的图像信息包括:响应于场景选择指令在播放界面中由分辨率和起始坐标确定的各播放区域中播放多个场景中每个场景下各自对应的图像信息,其中,各播放区域中任意一个播放区域与各播放区域中其他播放区域都不重合。

处理器201还用于执行下述步骤:在指定场景包括一个场景的情况下,在响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息之后,方法还包括:接收播放区域调整指令,其中,播放区域调整指令用于指示对播放指定场景下的图像信息的播放区域进行调整;响应于播放区域调整指令在调整后的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

处理器201还用于执行下述步骤:在响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息之后,方法还包括:接收场景切换指令,其中,场景切换指令用于指示将当前播放场景由指定场景切换至其他场景;响应于场景切换指令在播放界面中与其他场景对应的播放区域中播放其他场景下的图像信息,并同步播放其他场景下的音频信息。

处理器201还用于执行下述步骤:对不同场景下的音频信息和图像信息进行编码,得到目标视频流,其中,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;将目标视频流下发给客户端,其中,客户端用于接收并对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息,并接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景,以及响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

处理器201还用于执行下述步骤:在对不同场景下的音频信息和图像信息进行编码,得到目标视频流之前或者同时,方法还包括:存储不同场景的场景信息,其中,场景信息至少包括:目标视频流中包含的不同场景的份数,不同场景中各个场景下的图像的分辨率、起始坐标和音轨编号。

采用本发明实施例,提供了一种视频播放方法的方案。通过获取服务器下发的目标视频流,其中,目标视频流是对不同场景下的音频信息和图像信息进行编码得到的,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息;接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景;响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息,由于服务器已经将不同场景的视频流预先编码在一个视频流中了,一方面可以节约存储空间,另一方面,由于客户端同时解码同一视频流中的所有场景,因此,用户在播放过程中若任意切换不同的播放场景,则都不会出现跳变或者重复,从而实现了在播放多场景视频时节约存储成本且同步播放不同场景的技术效果,进而解决了相关技术中在播放多场景时容易造成存储成本高且播放不同步的技术问题。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图8所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,终端还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。

实施例4

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行视频播放方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

S1,获取服务器下发的目标视频流,其中,目标视频流是对不同场景下的音频信息和图像信息进行编码得到的,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;

S2,对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息;

S3,接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景;

S4,响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息包括:获取指定场景的场景信息,其中,场景信息至少包括:指定场景下的图像的分辨率、起始坐标和音轨编号;响应于场景选择指令在播放界面中由分辨率和起始坐标确定的播放区域中播放指定场景下的图像信息,并同步播放由音轨编号确定的音频信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在指定场景包括多个场景的情况下,响应于场景选择指令在播放界面中由分辨率和起始坐标确定的播放区域中播放指定场景下的图像信息包括:响应于场景选择指令在播放界面中由分辨率和起始坐标确定的各播放区域中播放多个场景中每个场景下各自对应的图像信息,其中,各播放区域中任意一个播放区域与各播放区域中其他播放区域都不重合。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在指定场景包括一个场景的情况下,在响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息之后,方法还包括:接收播放区域调整指令,其中,播放区域调整指令用于指示对播放指定场景下的图像信息的播放区域进行调整;响应于播放区域调整指令在调整后的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息之后,方法还包括:接收场景切换指令,其中,场景切换指令用于指示将当前播放场景由指定场景切换至其他场景;响应于场景切换指令在播放界面中与其他场景对应的播放区域中播放其他场景下的图像信息,并同步播放其他场景下的音频信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:对不同场景下的音频信息和图像信息进行编码,得到目标视频流,其中,每个场景下的图像信息被设置为在播放界面中的一个播放区域中播放;将目标视频流下发给客户端,其中,客户端用于接收并对目标视频流进行解码,得到解码后的视频流,其中,解码后的视频流包括:不同场景下的音频信息和图像信息,并接收场景选择指令,场景选择指令用于指示播放解码后的视频流中的指定场景,以及响应于场景选择指令在播放界面中与指定场景对应的播放区域中播放指定场景下的图像信息,并同步播放音频信息。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在对不同场景下的音频信息和图像信息进行编码,得到目标视频流之前或者同时,方法还包括:存储不同场景的场景信息,其中,场景信息至少包括:目标视频流中包含的不同场景的份数,不同场景中各个场景下的图像的分辨率、起始坐标和音轨编号。

可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1