降低直播视频播放延迟的方法及装置与流程

文档序号:13739613阅读:1373来源:国知局
降低直播视频播放延迟的方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种降低直播视频播放延迟的方法及装置。



背景技术:

随着网络技术和移动智能终端的发展,网络视频直播由于综合了图像、声音和文字的优点,特别是向用户提供即时与互动的交流和沟通方式而受到用户的青睐,视频直播社区的活跃用户数量不断增加,观众的观看需求也不断多样化,越来越多的人不仅作为观众,而且开始作为主播进入直播行业。但是,直播视频发生延迟的现象极大地影响了用户作为主播的积极性,也降低了观众的体验和对直播视频网站的粘性,对直播视频网站的业务造成不良的影响。



技术实现要素:

本发明提供一种降低直播视频播放延迟的方法及装置,用以解决现有技术中用户在观看视频直播时延迟严重的技术问题。

本发明一方面提供一种降低直播视频播放延迟的方法,包括:

步骤101,向组服务器发送第一请求信息,第一请求信息中包括视频信息;

步骤102,接收组服务器返回的第一反馈信息,第一反馈信息包括服务器访问列表和时间戳;服务器访问列表包括服务器ip地址和对应的延迟评估值;

步骤103,将第一服务器设置为服务器访问列表中值最小的延迟评估值所对应的服务器ip地址所属的服务器;

步骤104,向第一服务器发送第二请求信息,第二请求信息中包括视频信息;

步骤105,判断接收到第一服务器发送的与视频信息对应的视频数据第一帧的时间是否大于时间戳,若不大于,转步骤106执行;

步骤106,对接收到的视频数据进行播放。

进一步的,若接收到第一服务器发送的与视频信息对应的视频数据第一帧的时间大于时间戳,删除服务器访问列表中值最小的延迟评估值,转步骤103执行。

进一步的,第二请求信息还包括第一切片,第一服务器将与视频信息对应的视频数据按照第一切片进行划分,第一切片为视频数据的两个关键帧之间的时间间隔;

步骤106具体包括:

步骤106’,判断视频数据是否能够正常播放,若不能够正常播放,转步骤1061’执行;

步骤1061’,向第一服务器发送第三请求信息,第三请求信息包括视频信息和第二切片,第二切片小于第一切片,转步骤105执行。

进一步的,步骤106’还包括,若视频数据能够正常播放;

判断视频数据在预设时间段内播放时的卡顿次数是否大于预设阈值,若大于,增加视频数据在本地的缓存时间段,否则,减少视频数据在本地的缓存时间段。

本发明另一方面提供一种降低直播视频播放延迟的装置,包括:

第一发送模块,用于向组服务器发送第一请求信息,第一请求信息中包括视频信息;

第一接收模块,用于接收组服务器返回的第一反馈信息,第一反馈信息包括服务器访问列表和时间戳;服务器访问列表包括服务器ip地址和对应的延迟评估值;

设置模块,用于将第一服务器设置为服务器访问列表中值最小的延迟评估值所对应的服务器ip地址所属的服务器;

第二发送模块,用于向第一服务器发送第二请求信息,第二请求信息中包括视频信息;

第一判断模块,用于判断接收到第一服务器发送的与视频信息对应的视频数据第一帧的时间是否大于时间戳,若不大于,触发视频播放模块;

视频播放模块,用于对接收到的视频数据进行播放。

进一步的,第一判断模块还用于,若接收到第一服务器发送的与视频信息对应的视频数据第一帧的时间大于时间戳,删除服务器访问列表中值最小的延迟评估值,并触发设置模块。

进一步的,第二请求信息还包括第一切片,第一服务器将与视频信息对应的视频数据按照第一切片进行划分,第一切片为视频数据的两个关键帧之间的时间间隔;

视频播放模块具体包括:

第二判断子模块,用于判断视频数据是否能够正常播放,若不能够正常播放,触发第三发送子模块;

第三发送子模块,用于向第一服务器发送第三请求信息,第三请求信息包括视频信息和第二切片,第二切片小于第一切片,触发第一判断模块。

进一步的,第二判断子模块还用于,若视频数据能够正常播放,触发第三判断子模块;

第三判断子模块,用于判断视频数据在预设时间段内播放时的卡顿次数是否大于预设阈值,若大于,触发缓存增加模块,否则,触发缓存减少模块;

缓存增加模块,用于增加视频数据在本地的缓存时间段;

缓存减少模块,用于减少视频数据在本地的缓存时间段。

本发明提供一种降低直播视频播放延迟的方法及装置,客户端首先向组服务器发送第一请求信息,由组服务器按照到客户端的延迟评估值来确定服务器ip地址,并选择延迟评估值最小的服务器ip地址作为客户端的请求地址,以实现数据源(即第一服务器)就近访问,减少视频数据传输延迟。然后对客户端接收到第一服务器发送的视频信息对应的视频数据第一帧的时间进行判断,若该时间不大于时间戳,说明客户端在规定时间内收到了视频数据,该视频数据是有效的,可以播放。

附图说明

在下文中将基于实施例并参考附图来对本发明进行更详细的描述。其中:

图1为本发明实施例一提供的降低直播视频播放延迟的方法的一流程示意图;

图2为本发明实施例一提供的降低直播视频播放延迟的方法的另一流程示意图;

图3为本发明实施例二提供的降低直播视频播放延迟的装置的一结构示意图;

图4为本发明实施例二提供的降低直播视频播放延迟的装置的另一结构示意图。

在附图中,相同的部件使用相同的附图标记。附图并未按照实际的比例绘制。

具体实施方式

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

实施例一

本实施例中的执行主体为客户端。

图1为本发明实施例一提供的降低直播视频播放延迟的方法的流程示意图;如图1所示,本实施例提供一种降低直播视频播放延迟的方法,包括步骤101-步骤105。

步骤101,向组服务器发送第一请求信息,第一请求信息中包括视频信息。

具体的,视频信息即为客户端请求的直播视频的视频名称,以便组服务器按照视频名称来确定要发送给客户端的视频。第一请求信息还包括客户端的ip地址、地理位置信息和运营商等。组服务器可视为域名服务器。

步骤102,接收组服务器返回的第一反馈信息,第一反馈信息包括服务器访问列表和时间戳;服务器访问列表包括服务器ip地址和对应的延迟评估值。

第一反馈信息中包括服务器访问列表,服务器访问列表中的延迟评估值为客户端与相应的服务器ip地址所对应的服务器之间传输数据时所花费的时间,延迟评估值越小,传输数据花费的时间越短,响应越迅速。为了提高对客户端请求的响应速度,组服务器按照服务器到客户端的延迟评估值从小到大进行排序,例如通过组服务器可筛选出延迟评估值排在前五的5个待选服务器,并将其服务器ip地址和对应的延迟评估值发送给客户端。时间戳用于计时。

步骤103,将第一服务器设置为服务器访问列表中值最小的延迟评估值所对应的服务器ip地址所属的服务器。

选择服务器访问列表中值最小的延迟评估值所对应的服务器ip地址所属的服务器作为第一服务器,即对拥有最小延迟评估值所对应的服务器ip地址进行请求。

步骤104,向第一服务器发送第二请求信息,第二请求信息中包括视频信息。

步骤105,判断接收到第一服务器发送的与视频信息对应的视频数据第一帧的时间是否大于时间戳,若不大于,转步骤106执行。

视频信息为客户端请求的直播视频的视频名称,每一个视频信息对应有相应的视频数据,视频数据包括多个关键帧,对于客户端的每次请求,将第一个到达客户端的关键帧视为第一帧。

步骤106,对接收到的所述视频数据进行播放。

在本步骤中,通过判断接收到第一服务器发送的与视频信息对应的视频数据第一帧的时间来确定第一服务器对客户端的响应时间,如果该响应时间小于时间戳,那么说明该数据在设定的时间内返回,是有效的,客户端直接进行播放即可。

进一步的,第一反馈信息中还包括第一密钥,第一服务器在发送视频数据给客户端时,还会发送第二密钥给客户端,将第一密钥与第二密钥进行对比,若相同,说明第一服务器发送的视频数据是正确的,否则,第一客户端不予接收。

在本实施例中,客户端首先向组服务器发送第一请求信息,由组服务器按照到客户端的延迟评估值来确定服务器ip地址,并选择延迟评估值最小的服务器ip地址作为客户端的请求地址,以实现数据源(即第一服务器)就近访问,减少视频数据传输延迟。然后对客户端接收到第一服务器发送的视频信息对应的视频数据第一帧的时间进行判断,若该时间不大于时间戳,说明客户端在规定时间内收到了视频数据,该视频数据是有效的,可以播放。

如图2所示,在本发明一个具体实施例中,若接收到第一服务器发送的与视频信息对应的视频数据第一帧的时间大于时间戳,转步骤107执行,否则,转步骤106执行。

步骤107,删除服务器访问列表中值最小的延迟评估值,转步骤103执行。

客户端在选择第一服务器时,是将服务器访问列表中值最小的延迟评估值所对应的服务器ip地址所属的服务器作为第一服务器,当客户端接收到第一服务器发送的与视频信息对应的视频数据第一帧的时间大于时间戳时,说明该第一服务器的响应速度太慢,为了优化对客户端请求信息的响应速度,需要更换第一服务器的ip地址,即需要重新从服务器访问列表中选择一个服务器ip地址作为第一服务器的访问地址,而当前第一服务器的访问地址已证实不是最优的访问地址,所以可将该地址从服务器访问列表中删除。当然,也可将该服务器ip地址设置为在预设时间段内不可用,而并不用将其删除。

在本发明另一个具体实施例中,第二请求信息还包括第一切片,第一服务器将与视频信息对应的视频数据按照第一切片进行划分,第一切片为视频数据的两个关键帧之间的时间间隔。

两个关键帧可形成动态视频画面,因此,如果第一切片过大,获得两个关键帧所需要传输的数据量大,在网络质量不佳或者服务器响应较慢的情况下,获得两个关键帧所需要的时间越长,会造成卡顿,使得视频不能正常播放。

如图2所示,步骤106具体包括步骤106’-步骤1062’。

其中,步骤106’,判断视频数据是否能够正常播放,若不能够正常播放,转步骤1061’执行。

步骤1061’,向第一服务器发送第三请求信息,第三请求信息包括视频信息和第二切片,第二切片小于第一切片,转步骤105执行。

当视频不能正常播放时,再次向第一服务器发送第三请求信息,第三请求信息中除了要请求的视频信息外,还包括第二切片,此时第二切片小于第一切片,即在第三请求信息中减少了视频数据的两个关键帧之间的时间间隔,从而缩短获取两个关键帧所需要的时间,减少卡顿,使得视频正常播放。

如图2所示,在本发明又一个具体实施例中,步骤106’还包括,若视频数据能够正常播放,转步骤1063’执行。

步骤1063’,判断视频数据在预设时间段内播放时的卡顿次数是否大于预设阈值,若大于,转步骤1064’执行,否则,转步骤1065’执行。

具体的,预设时间段和预设阈值均可根据实际情况进行设置,在此不做限定。

步骤1064’,增加视频数据在本地的缓存时间段。卡顿次数太多,说明网络直播的效果不佳,为了提高用户体验,应增加视频数据在本地的缓存时间段,以保证客户端直播视频播放的流畅性。

步骤1065’,减少视频数据在本地的缓存时间段。卡顿次数在预设阈值范围内,说明此时的直播视频播放效果良好,因此可适当减少视频数据在本地的缓存时间段,以保证客户端直播视频播放的实时性。

实施例二

本实施例为装置实施例,用于执行上述实施例一中的方法。

图3为本发明实施例二提供的降低直播视频播放延迟的装置的一结构示意图,如图3所示,本实施例提供一种降低直播视频播放延迟的装置,包括第一发送模块201、第一接收模块202、设置模块203、第二发送模块204、第一判断模块205和视频播放模块206。

其中,第一发送模块201,用于向组服务器发送第一请求信息,第一请求信息中包括视频信息。

第一接收模块202,用于接收组服务器返回的第一反馈信息,第一反馈信息包括服务器访问列表和时间戳;服务器访问列表包括服务器ip地址和对应的延迟评估值。

设置模块203,用于将第一服务器设置为服务器访问列表中值最小的延迟评估值所对应的服务器ip地址所属的服务器。

第二发送模块204,用于向第一服务器发送第二请求信息,第二请求信息中包括视频信息。

第一判断模块205,用于判断接收到第一服务器发送的与视频信息对应的视频数据第一帧的时间是否大于时间戳,若不大于,触发视频播放模块206。

视频播放模块206,用于对接收到的视频数据进行播放。

进一步的,如图4所示,第一判断模块205还用于:若接收到第一服务器发送的与视频信息对应的视频数据第一帧的时间大于时间戳,触发删除模块207,删除模块207用于删除服务器访问列表中值最小的延迟评估值,并触发设置模块203。

进一步的,第二请求信息还包括第一切片,第一服务器将与视频信息对应的视频数据按照第一切片进行划分,第一切片为视频数据的两个关键帧之间的时间间隔;

视频播放模块206具体包括第二判断子模块2061和第三发送子模块2062。

其中,第二判断子模块2061,用于判断视频数据是否能够正常播放,若不能够正常播放,触发第三发送子模块;

第三发送子模块2062,用于向第一服务器发送第三请求信息,触发第一判断模块205,第三请求信息包括视频信息和第二切片,第二切片小于第一切片。

进一步的,第二判断子模块2061还用于:若视频数据能够正常播放,触发第三判断子模块2063;

第三判断子模块2063,用于判断视频数据在预设时间段内播放时的卡顿次数是否大于预设阈值,若大于,触发缓存增加模块2064,否则,触发缓存减少模块2065;

缓存增加模块2064,用于增加视频数据在本地的缓存时间段;

缓存减少模块2065,用于减少视频数据在本地的缓存时间段。

本实施例是与方法实施例一对应的装置实施例,具体可参见实施例一中的描述,在此不再赘述。

应该理解的是,本发明所公开的实施例不限于这里所公开的特定结构、处理步骤或材料,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。

说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。

此外,所描述的特征、结构或特性可以任何其他合适的方式结合到一个或多个实施例中。在上面的描述中,提供一些具体的细节,例如材料等,以提供对本发明的实施例的全面理解。然而,相关领域的技术人员将明白,本发明无需上述一个或多个具体的细节便可实现,或者也可采用其它方法、组件、材料等实现。在其它示例中,周知的结构、材料或操作并未详细示出或描述以免模糊本发明的各个方面。

虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。

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