发明内容
为克服上述缺陷,本发明的目的即在于提供一种根据硬件设备的播放能力来调整流媒体码流的最大传输码率的方法及其播放设备以及其系统。
本发明的目的是通过以下技术方案来实现的:
本发明是一种基于设备能力的流媒体码流自适应传输方法,包括:
基于服务器提供的多组视频数据片段,从单位时间的传输数据量小于等于当前网络带宽的至少一组视频数据片段中选择一组视频数据片段,所述被选择的视频数据片段,其视频分辨率小于等于硬件设备自身支持的最大屏幕分辨率以及其视频刷新率小于等于硬件设备自身支持的最大屏幕刷新率;
向服务器发送对应所述选定的视频数据片段的播放请求。
在本发明中,所述从单位时间的传输数据量小于等于当前网络带宽的至少一组视频数据片段中选择一组视频数据片段,具体包括:
根据当前网络的带宽得到服务器支持传输的视频数据片段的最大视频分辨率和最大视频刷新率;
若所述最大视频分辨率大于所述最大屏幕分辨率和/或最大视频刷新率大于所述屏幕刷新率;则选择比所述最大视频分辨率和/或视频刷新率视低一个级别的视频数据片段再次比较,直到所选择的视频数据片段,其视频分辨率小于等于所述最大屏幕分辨率以及其视频刷新率小于等于所述最大屏幕刷新率。
在本发明中,所述若所述最大视频分辨率大于所述最大屏幕分辨率和/ 或最大视频刷新率大于所述屏幕刷新率;则选择比所述最大视频分辨率和/ 或视频刷新率视低一个级别的视频数据片段再次比较,直到所选择的视频数据片段,其视频分辨率小于等于所述最大屏幕分辨率以及其视频刷新率小于等于所述最大屏幕刷新率,具体包括:
将所述最大视频分辨率与所述最大屏幕分辨率进行比较;
若大于,则选择比所述最大视频分辨率低一个级别的视频数据片段再次比较,直到被选择的视频数据片段的目标视频分辨率小于等于所述最大屏幕分辨率;
将具备所述目标视频分辨率的视频数据片段的最大视频刷新率与所述最大屏幕刷新率进行比较;
若大于,则在所述目标视频分辨率不变的情况下,选择比所述最大视频刷新率低一个级别的视频数据片段再次比较,直到被选择的视频数据片段的目标视频刷新率小于等于所述最大屏幕刷新率。
在本发明中,所述根据当前网络的带宽得到服务器支持传输的视频数据片段的最大视频分辨率和最大视频刷新率之后还包括:
若所述最大视频分辨率不大于所述最大屏幕分辨率和/或最大视频刷新率不大于所述屏幕刷新率;则对具有最大屏幕分辨率和最大视频刷新率的视频数据片段进行选定。
在本发明中,所述向服务器发送对应所述选定的视频数据片段的播放请求之后包括:
下载所述选定的视频数据片段,并对所述视频数据片段进行播放。
在本发明中,所述下载所述选定的视频数据片段包括:
获取被选定视频数据片段所对应的网络存放地址,根据所述网络存放地址对所述视频数据片进行提取并下载。
本发明是一种基于设备能力的流媒体码流自适应播放设备,包括:
硬件参数检测模块,所述硬件参数检测模块用于获取硬件设备自身支持的最大屏幕分辨率以及最大屏幕刷新率;
网络带宽检测模块,所述网络带宽检测模块与互联网络相连接,用于获取当前网络的带宽参数;
视频数据选定模块,所述视频数据选定模块分别与所述硬件参数检测模块、所述网络带宽检测模块和互联网络相连接,用于根据当前网络的带宽参数、最大屏幕分辨率和最大屏幕刷新率从互联网中选择一组视频数据片段,所述被选择的视频数据片段,其视频分辨率小于等于硬件设备自身支持的最大屏幕分辨率以及其视频刷新率小于等于硬件设备自身支持的最大屏幕刷新率;
视频数据请求模块,所述视频数据请求模块分别与所述视频数据选定模块和互联网络相连接,用于通过互联网络向服务器发送对应所述选定的视频数据片段的播放请求。
在本发明中,所述播放设备还包括:
视频数据下载模块,所述视频数据下载模块与所述视频数据选定模块相连接,用于对被选定视频数据片段进行下载;
视频数据播放模块,所述视频数据播放模块与所述视频数据下载模块相连接,用于对下载的视频数据片进行播放。
在本发明中,所述视频数据选定模块包括:
视频质量降级单元,所述视频质量降级单元用于根据当前网络的带宽得到服务器支持传输的视频数据片段的最大视频分辨率和最大视频刷新率;若所述最大视频分辨率大于所述最大屏幕分辨率和/或最大视频刷新率大于所述屏幕刷新率;则选择比所述最大视频分辨率和/或视频刷新率视低一个级别的视频数据片段再次比较,直到所选择的视频数据片段,其视频分辨率小于等于所述最大屏幕分辨率以及其视频刷新率小于等于所述最大屏幕刷新率。
本发明是一种基于设备能力的流媒体码流自适应播放系统,包括:服务器以及如上所述的播放设备;
所述播放设备与所述服务器之间通过互联网络相连接,所述服务器中存储多组视频数据片段,每组视频数据片段之间的视频分辨率或视频刷新率互不相同。
本发明将获取接收视频设备的最大屏幕分辨率以及最大屏幕刷新率,并根据其最大屏幕分辨率以及最大屏幕刷新率,选择合适分辨率和刷新率的视频数据片段进行下载,使得所下载的视频数据片段的分辨率和刷新率不会超过硬件自身支持的最大屏幕分辨率以及最大屏幕刷新率,有效地避免了所下载的数据出现冗余和浪费现象的发生,并提高了网络资源的有效利用率。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接。可以是机械连接,也可以是电连接。可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
下面以一个实施例对本发明的一种基于设备能力的流媒体码流自适应传输方法进行具体描述,请参阅图1,其包括:
S101.选择一组视频数据片段;
基于服务器提供的多组视频数据片段,从单位时间的传输数据量小于等于当前网络带宽的至少一组视频数据片段中选择一组视频数据片段,所述被选择的视频数据片段,其视频分辨率小于等于硬件设备自身支持的最大屏幕分辨率以及其视频刷新率小于等于硬件设备自身支持的最大屏幕刷新率;
其具体为:在服务器中,存储有多组内容相同,但视频分辨率和视频刷新率不相同的视频数据片段,如:1080P/60Hz、1080P/30Hz、720P/30Hz、 360P/30Hz等;按照目前的标准码率,要满足基本流畅播放的需求,1080P 需要达到30Mbps以上的传输速度,720P需要达到6Mbps以上的传输速度,而360P则需要达到1.5Mbps以上的传输速度。服务器上的同一视频资源分成不同质量的视频数据片段,如其将一段30分钟的视频按其时长拆分为6组,每组时长为5分钟,而在一组视频中又按其分辨率与刷新率的不同,分别形成1080P/60Hz、1080P/30Hz、720P/30Hz、360P/30Hz的四段视频数据片段,在一组视频中,每段视频数据片段的内容相同;播放设备根据实时的网络带宽参数,实时对需要下载的视频数据片段进行选择;若当前的带宽参数大大高于30Mbps以上,则将1080P/60Hz选定为当前可供传输视频数据片段的最大视频分辨率和最大视频刷新率;若当前的带宽参数在30Mbps与6Mbps之间,则将720P/30Hz选定为当前可供传输视频数据片段的最大视频分辨率和最大视频刷新率;再根据硬件设备自身支持的最大屏幕分辨率以及最大屏幕刷新率,如:最大屏幕分辨率和最大屏幕刷新率分别为720P和30Hz,其意味着该播放设备只能播放屏幕分辨率和屏幕刷新率不大于720P和30Hz的视频数据片段;故服务器中只有720P/30Hz、360P/30Hz两段视频数据片段符合要求,对上述两段视频数据中的一段进行选定。
S102.发送播放请求;
向服务器发送对应所述选定的视频数据片段的播放请求。若选定了 720P/30Hz的视频数据片段,则向服务器发送相应的播放请求,服务器收到播放请求后,将向硬件设备发送720P/30Hz的视频数据片段,同样地,若选定了360P/30Hz的视频数据片段,则向服务器发送相应的播放请求,服务器收到播放请求后,将向硬件设备发送360P/30Hz的视频数据片段;为满足用户对视频画面的需求,优先选定更高分辨率与刷新率的视频数据片段。
示例的,终端向服务器请求播放名称为“战狼2”的视频片源,服务器会下发给终端一份服务器所能提供的说明性文件,这个文件会告诉终端,当前服务器可以提供的多组视频片源,这些多组视频片源均为相同的播放内容,但每个视频片源的视频分辨率和视频刷新率均不相同,终端收到该文件后,会基于自己的网络带宽以及设备处理能力,去选择一组合适的片源,然后去向服务器发请求,服务器对应就提供这个片源的下载地址给终端即可。
下面以另一个实施例对本发明的一种基于设备能力的流媒体码流自适应传输方法进行具体描述,请参阅图2,其包括:
S201.获取硬件的最大屏幕分辨率和屏幕刷新率;
获取硬件播放设备自身支持的最大屏幕分辨率以及最大屏幕刷新率;其中,本实施例中所述的硬件播放设备包括:具有视频播放功能的数字电视、平板电脑、多媒体播放器等;当硬件播放设备的最大屏幕分辨率和最大屏幕刷新率分别为720P和30Hz,其意味着该播放设备只能播放屏幕分辨率和屏幕刷新率不大于720P和30Hz的视频数据。
S202.得到视频的最大视频分辨率和视频刷新率;
根据当前网络的带宽得到服务器支持传输的视频数据片段的最大视频分辨率和最大视频刷新率;硬件播放设备获取当前网络的带宽参数,并根据该带宽参数得到当前可供传输视频数据片段的最大视频分辨率和最大视频刷新率;其中,按照目前的标准码率,要满足基本流畅播放的需求,1080P需要达到30Mbps以上的传输速度,720P需要达到6Mbps以上的传输速度,而360P 则需要达到1.5Mbps以上的传输速度。服务器上的同一视频资源分成不同质量的视频数据片段,如其将一段30分钟的视频按其时长拆分为6组,每组时长为5分钟,而在一组视频中又按其分辨率的不同,分别形成1080P、720P 和360P的三段视频数据片段,在一组视频中,每段视频数据片段的内容相同;播放设备根据实时的网络带宽参数,实时对需要下载的视频数据片段进行选择;如:当前的带宽参数大于30Mbps以上,则当前可供传输视频数据片段的视频分辨率则为1080P,如当前的带宽参数在6Mbps到1.5Mbps之间,则当前可供传输视频数据片段的视频分辨率则为360P。
S203.判断最大视频分辨率是否大于最大屏幕分辨率;
将所述最大视频分辨率与所述最大屏幕分辨率进行比较;将当前可供传输视频数据片段的视频最大视频分辨率与最大屏幕分辨率进行比较,若视频最大分辨率大于最大屏幕分辨率;在本实施例中将播放设备的最大屏幕分辨率设定为720P,如当前视频最大分辨率为1080P,则进行步骤S204。
S204.将最大视频分辨率降低一个级别;
若最大视频分辨率大于最大屏幕分辨率,则选择比所述最大视频分辨率低一个级别的视频数据片段,即,若最大视频分辨率为1080P大于最大屏幕分辨率720P,则将最大视频分辨率降低一个级别,降低至720P,并再次进行步骤S203.判断最大视频分辨率是否大于最大屏幕分辨率,直到被选择的视频数据片段的目标视频分辨率小于等于所述最大屏幕分辨率。
S205.判断最大视频刷新率是否大于最大屏幕刷新率;
若最大视频分辨率不大于最大屏幕分辨率,则将具备所述目标视频分辨率的视频数据片段的最大视频刷新率与所述最大屏幕刷新率进行比较;将当前可供传输视频数据片段的最大视频刷新率与最大屏幕刷新率进行比较,在本实施例中将硬件播放设备的最大屏幕刷新率设定为30Hz,若最大视频刷新率不大于最大屏幕刷新率,如最大视频刷新率为30Hz,则判断结果为最大刷新率不大于屏幕刷新率,并进行步骤S207选择当前最大视频分辨率和刷新率的视频数据片段;若最大视频刷新率大于屏幕刷新率,如最大视频刷新率为60Hz,则进行步骤S206.将最大视频刷新率降低一个级别。
S206.将最大视频刷新率降低一个级别;
若最大视频刷新率大于最大屏幕刷新率,则在所述目标视频分辨率不变的情况下,选择比所述最大视频刷新率低一个级别的视频数据片段,即,若最大视频刷新率为60Hz大于最大屏幕刷新率30Hz,则将最大视频刷新率降低一个级别,降低至30Hz,并再次进行步骤S205.判断最大视频刷新率是否大于最大屏幕刷新率,直到被选择的视频数据片段的目标视频刷新率小于等于所述最大屏幕刷新率。
S207.选择当前最大视频分辨率和刷新率的视频数据片段;
对当前状态下具有最大屏幕分辨率和最大视频刷新率的视频数据片段进行选定;如硬件播放设备的最大屏幕分辨率和最大屏幕刷新率分别为720P 和30Hz,而从网络中获得的视频片段的原始最大视频分辨率和最大视频刷新率1080P和60Hz,经过S204与S206两步骤分别将视频分辨率和视频刷新率进行降级后,新的最大视频分辨率和最大视频刷新率将为720P和30Hz,如根据当前网络的带宽参数获取视频最大分辨率和最大刷新率分别为360P和 30Hz,则其最大分辨率和最大刷新率均不大于屏幕分辨率和屏幕刷新率,则直接对该最大分辨率和最大刷新率所对应的视频数据片段进行选定。
S208.下载所述选定的视频数据片段;
获取被选定视频数据片段所对应的网络存放地址,根据所述网络存放地址对所述视频数据片进行提取并下载。
S209.对所述视频数据片段进行播放;
对所述视频数据片段进行播放;其所下载的视频数据片段不需要进行降低分辨率和舍弃部分刷新率数据即可进行播放,其有效地避免了所下载的数据出现冗余和浪费现象的发生,并提高了网络资源的有效利用率。
下面以一个实施例对本发明的一种基于设备能力的流媒体码流自适应播放设备进行具体描述,请参阅图3,该播放设备包括:具有视频播放功能的数字电视、平板电脑、多媒体播放器等,其包括:
硬件参数检测模块301,所述硬件参数检测模块301用于获取硬件设备自身支持的最大屏幕分辨率以及最大屏幕刷新率;
网络带宽检测模块302,所述网络带宽检测模块302与互联网络相连接,用于获取当前网络的带宽参数;
视频数据选定模块303,所述视频数据选定模块303分别与所述硬件参数检测模块301、所述网络带宽检测模块302和互联网络相连接,用于根据当前网络的带宽参数、最大屏幕分辨率和最大屏幕刷新率从互联网中选择一组视频数据片段,所述被选择的视频数据片段,其视频分辨率小于等于硬件设备自身支持的最大屏幕分辨率以及其视频刷新率小于等于硬件设备自身支持的最大屏幕刷新率;其中,按照目前的标准码率,要满足基本流畅播放的需求,1080P需要达到30Mbps以上的传输速度,720P需要达到6Mbps以上的传输速度,而360P则需要达到1.5Mbps以上的传输速度;故结合网络带宽检测模块302通过对当前网络的带宽参数进行检测,即可得到当前可供传输视频数据片段的最大视频分辨率和最大视频刷新率;如当前视频最大分辨率和最大刷新率分别为1080P和60Hz,而播放设备自身的屏幕分辨率和屏幕刷新率720P和30Hz时,对分辨率和刷新率均不大于720P和30Hz的视频数据片段进行选定;
视频数据请求模块304,所述视频数据请求模块304分别与所述视频数据选定模块303和互联网络相连接,用于通过互联网络向服务器发送对应所述选定的视频数据片段的播放请求。
在本实施例中,所述播放设备还包括:
视频数据下载模块305,所述视频数据下载模块305与所述视频数据选定模块304相连接,用于对被选定视频数据片段进行下载;其通过获取被选定视频数据片段所对应的网络存放地址,根据所述网络存放地址对所述视频数据片进行提取并下载;
视频数据播放模块306,所述视频数据播放模块306与所述视频数据下载模块305相连接,用于对下载的视频数据片进行播放。
请参阅图4,在本发明中,所述视频数据选定模块303包括:
视频质量降级单元3031,所述视频质量降级单元3031用于根据当前网络的带宽得到服务器支持传输的视频数据片段的最大视频分辨率和最大视频刷新率;若所述最大视频分辨率大于所述最大屏幕分辨率和/或最大视频刷新率大于所述屏幕刷新率;则选择比所述最大视频分辨率和/或视频刷新率视低一个级别的视频数据片段再次比较,直到所选择的视频数据片段,其视频分辨率小于等于所述最大屏幕分辨率以及其视频刷新率小于等于所述最大屏幕刷新率。在网络服务器端中,同一段视频数据有多种不同屏幕分辨率和屏幕刷新率的片段,如:1080P/60Hz、1080P/30Hz、720P/30Hz、360P/30Hz等;若播放设备的屏幕分辨率是360P/30Hz,而当前视频的最大视频分辨率是 1080P,则其将通过两次降级,选定360P的视频数码片段,使其满足播放设备的屏幕分辨率要求;又如当前网络中可供传输视频数据片段的最大图像质量参数为1080P/60Hz,而播放设备的屏幕分辨率是1080P/30Hz,则其将选定1080P/30Hz的视频数码片段,以实现在不浪费网络资源的情况下最大限度地保证了硬件设备所播放视频的图像质量。
请参阅图5,本发明是一种基于设备能力的流媒体码流自适应播放系统,包括:服务器501以及如上所述的播放设备502;
所述播放设备502与所述服务器501之间通过互联网络相连接,所述服务器501中存储多组视频数据片段,每组视频数据片段之间的视频分辨率或视频刷新率互不相同。
现有的技术仅考虑网络实时的带宽情况,其在带宽条件满足的情况下选用最高质量的视频资源进行下载,并未考虑到播放设备的处理能力,盲目下载高质量的视频资源,对于低处理能力的播放设备来说无疑是资源的浪费;本发明结合播放设备自身的硬件处理能力,选择满足播放设备图像处理能力参数下的选择最高质量的视频资源进行下载播放;其在不浪费网络资源的情况下,也最大限度度地保证了观看效果。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。