一种广告播放控制方法及***
技术领域
本发明涉及互联网多媒体领域,特别是指一种广告播放方法及***。
背景技术
互联网多媒体网站(视频网站)上,视频播放过程中一般会插播广告,如果播放器播放到广告插播时间点时才向服务器发送广告请求,由于服务器响应广告请求及播放器加载广告视频文件需要一段时间,在这段时间内,播放器要么暂停或者黑屏,要么继续播放视频等到广告加载完成时才播放广告。前者导致极差的用户体验;后者的广告播放时间点不可控,可能和预期的播放时间点相差比较大,也可能在不希望出现广告的时间点播放广告(譬如视频中的人物正在说话)。
发明内容
本发明提出一种广告播放方法,其能够解决现有技术中广告插播用户体验差和广告播放时间点不可控的问题。
本发明的技术方案是这样实现的:
一种广告播放控制方法,包括:
获取第一视频中的广告插播时间点;
根据第一视频的实时下载速度计算网络延时值;
根据所述网络延时值和所述广告插播时间点,下载所述待播放广告;
若所述第一视频播放到广告插播时间点,暂停播放所述第一视频,将所述第一视频的播放进度条设置为不可用状态,播放所述待播放广告。
优选的,还包括:
若无法播放所述待播放广告,显示错误信息;所述错误信息的显示时间与所述待播放广告的时长相同。
优选的,所述根据所述网络延时值和所述广告插播时间点,下载所述待播放广告,具体为:
根据所述网络延时值和广告插播时间点,计算提前发送广告请求时间;
在播放到所述提前发送广告请求时间时,发送广告下载请求,下载所述待播放广告。
优选的,还包括:
若所述提前发送广告请求时间与所述广告插播时间之间的时间差值大于预置最大提前时间阈值,将所述提前发送广告请求时间设置为所述最大提前时间阈值;
若所述提前发送广告请求时间与所述广告插播时间之间的时间差值小于预置最小提前时间阈值,将所述提前发送广告请求时间设置为所述最小提前时间阈值。
优选的,所述最大提前时间阈值和最小提前时间阈值都为3分钟。
优选的,在下载所述待播放广告之前,还包括:
接收返回的待播放广告的信息;
判断若所述待播放广告的信息对应的广告数据存在于本地缓存中,取消下载所述待播放广告;否则下载所述广告数据存储在本地缓存中。
优选的,还包括:
在下载所述广告数据时,将所述第一视频的播放进度条设置为不可用状态,在下载完成后将所述第一视频的播放进度条设置为可用状态。
一种广告播放控制***,包括:插播点获取模块、网络延时计算模块、广告下载模块和播放控制模块;
所述插播点获取模块,用于获取第一视频中的广告插播时间点;
所述网络延时计算模块,用于根据第一视频的实时下载速度计算网络延时值;
所述广告下载模块,用于根据所述网络延时值和所述广告插播时间点,下载所述待播放广告;
所述播放控制模块,用于若所述第一视频播放到广告插播时间点,暂停播放所述第一视频,将所述第一视频的播放进度条设置为不可用状态,播放所述待播放广告。
优选的,所述广告下载模块包括:提前请求时间计算子模块和广告请求子模块;
所述提前请求时间计算子模块,用于根据所述网络延时值和广告插播时间点,计算提前发送广告请求时间;
所述广告请求子模块,用于在播放到所述提前发送广告请求时间时,发送广告下载请求,下载所述待播放广告。
优选的,在所述提前请求时间计算子模块中还包括:最大提前值确定子模块和最小提前值确定子模块;
所述最大提前值确定子模块,用于判断若所述提前发送广告请求时间与所述广告插播时间之间的时间差值大于预置最大提前时间阈值,将所述提前发送广告请求时间设置为所述最大提前时间阈值;所述最大提前时间阈值为3分钟;
所述最小提前值确定子模块,用于判断若所述提前发送广告请求时间与所述广告插播时间之间的时间差值小于预置最小提前时间阈值,将所述提前发送广告请求时间设置为所述最小提前时间阈值;所述最小提前时间阈值都为3分钟。
本专利在广告插播时间点之前发送广告请求,提前进行广告加载,其利用视频播放的时间,并发地发送广告请求并下载广告文件,避免了在广告插播时间点实时请求广告和下载广告造成用户体验差和广告播放时间点不可控的问题,减少了用户等待时间,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种广告播放控制方法的第一实施例的流程图;
图2为本发明一种广告播放控制***的第一实施例的原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,该图为本发明提供的一种广告播放控制方法第一实施例的流程图。
在本实施例中,包括:
S101:获取第一视频中的广告插播时间点。
S102:根据第一视频的实时下载速度计算网络延时值。
S103:根据所述网络延时值和所述广告插播时间点,下载所述待播放广告。
S104:判断所述第一视频是否播放到广告插播时间点。
S105:若所述第一视频播放到广告插播时间点,暂停播放所述第一视频,将所述第一视频的播放进度条设置为不可用状态,播放所述待播放广告。
首先,获取到即将播放或正在播放的第一视频中的广告插播时间点。这里的时间点可以为以时间轴方式体现的时间点(如在播放进度条上标注的时间点),也可以为基于视频本身的具体的时间点(如在视频的第5分钟设置一个广告插播时间点,则第5分钟可以设置为广告插播时间点)。
而在现实中,由于用户所在环境的不同会导致从远端服务器下载第一视频和广告的速度不同。因此,为了保证能够在广告插播时间点之前能够完整的下载待播放广告,可以先通过检测获取到第一视频的实时下载速度,通过该实际测算的值来计算网络延时值。例如,发送一个数据包请求,但在10毫秒后才收到数据包,则认为数据包存在10毫秒的延迟。由于下载的速度是一个波动值,则可以选择若干个网速值之后取平均值计算网络延时值。
在得到广告插播时间和网络延时值后,就可以提前下载待播放广告。具体的,根据所述网络延时值和广告插播时间点,计算提前发送广告请求时间。如广告插播时间点为5分钟,检测到网络延时为10秒,则提前发送广告请求时间为4分50秒。
在确定提前发送广告请求时间后,在第一视频播放到该时间点时即向服务器端发送广告下载请求,并根据反馈的信息下载所述待播放广告。在这里还可以包括,远端服务器在接收到广告请求后,记录该广告下载请求的信息,以便为其他数据计算做准备(如曝光率、损耗率等)。同时,远端服务器返回对应或匹配的广告信息。由于广告的内容较大,格式较繁多复杂,远端服务器可以只反馈待播放广告的一些基本信息,例如包括广告个数、素材地址、检测地址等。而在本地端,在下载所述待播放广告之前,还可以先接收返回的待播放广告的信息。根据待播放广告的信息中的内容,判断若所述待播放广告的信息对应的广告数据存在于本地缓存中(即之前已经将该广告下载到本地端),取消下载所述待播放广告;否则根据待播放广告的信息中的地址从远端服务器或其它存储服务器上进行下载到本地端进行缓存。
在对第一视频进行正常播放时,若播放到广告插播时间点,则暂停播放第一视频,开始播放下载的待播放广告。同时,为了防止用户直接跳转第一视频进度将广告跳过,从而导致广告的曝光率下降的问题,可以将第一视频的播放进度条设置为不可用状态,待广告播放完毕后再将播放进度条恢复为可用状态。这样,可以保证用户能够浏览到广告,提高广告的曝光率。
在一些特殊情况下,如下载的待播放广告数据受损或未完成下载,会导致待广告播放失败。若无法播放所述待播放广告,则显示错误信息。同时,所述错误信息的显示时间与所述待播放广告的时长相同。这样,如果在某一个待播放广告出现问题,不会导致后面的待播放广告的提前下载请求时间和播放时间的重新计算,减少计算成本。
由于计算的发送广告请求时间是一个波动值,现实中如果提前时间过短,会导致待播放广告无法完成下载,不能起到缓冲的效果;如果提前时间过长,那么在发出广告请求和实际播放广告这段时间中,用户可能中止视频播放,广告曝光数为0,但此时远端服务器可能已经记录了广告请求容量日志,导致曝光损失率升高。因此,在本发明的另一个实施例中,还包括:
若所述提前发送广告请求时间与所述广告插播时间之间的时间差值大于预置最大提前时间阈值,将所述提前发送广告请求时间设置为所述最大提前时间阈值;若所述提前发送广告请求时间与所述广告插播时间之间的时间差值小于预置最小提前时间阈值,将所述提前发送广告请求时间设置为所述最小提前时间阈值。
根据实际应用中计算得到的经验,所述最大提前时间阈值和最小提前时间阈值都为3分钟。
另外,为了防止本地端已经发送了广告请求后用户拖动进度条跳过了广告插播点,但此时远端服务器已经记录了广告请求容量日志,本应曝光的广告却没有展现出来,导致曝光损失率上升。因此,在本实施例中还可以包括:
在下载所述广告数据时,将所述第一视频的播放进度条设置为不可用状态,在下载完成后将所述第一视频的播放进度条设置为可用状态。这样,用户就不能够通过操作播放进度从而跳过广告的播放,保证了广告的曝光率。
通过使用以上方法,可以实现在广告插播时间点之前发送广告请求,提前进行广告加载,同时利用技术手段规避了广告被人为跳过的的风险,避免了在广告插播时间点实时请求广告和下载广告造成用户体验差和广告播放时间点不可控的问题,减少了用户等待时间,提高了用户体验,保证了广告的曝光率。
以上为本发明提供的一种广告播放控制的方法专利,基于以上技术原理,在本发明中还提供了一种广告播放控制***。
参见图2,该图为本发明提供的一种广告播放控制***第一实施例的原理框图。
在本实施例中,包括:插播点获取模块10、网络延时计算模块20、广告下载模块30和播放控制模块40;
所述插播点获取模块10,用于获取第一视频中的广告插播时间点;
所述网络延时计算模块20,用于根据第一视频的实时下载速度计算网络延时值;
所述广告下载模块30,用于根据所述网络延时值和所述广告插播时间点,下载所述待播放广告;
所述播放控制模块40,用于若所述第一视频播放到广告插播时间点,暂停播放所述第一视频,将所述第一视频的播放进度条设置为不可用状态,播放所述待播放广告。
首先,获取到即将播放或正在播放的第一视频中的广告插播时间点。这里的时间点可以为以时间轴方式体现的时间点(如在播放进度条上标注的时间点),也可以为基于视频本身的具体的时间点(如在视频的第5分钟设置一个广告插播时间点,则第5分钟可以设置为广告插播时间点)。
而在现实中,由于用户所在环境的不同会导致从远端服务器下载第一视频和广告的速度不同。因此,为了保证能够在广告插播时间点之前能够完整的下载待播放广告,可以先通过检测获取到第一视频的实时下载速度,通过该实际测算的值来计算网络延时值。例如,发送一个数据包请求,但在10毫秒后才收到数据包,则认为数据包存在10毫秒的延迟。由于下载的速度是一个波动值,则可以选择若干个网速值之后取平均值计算网络延时值。
在得到广告插播时间和网络延时值后,所述广告下载模块30就可以提前下载待播放广告。具体的,所述广告下载模块包括:提前请求时间计算子模块和广告请求子模块。其中,所述提前请求时间计算子模块,用于根据所述网络延时值和广告插播时间点,计算提前发送广告请求时间。如广告插播时间点为5分钟,检测到网络延时为10秒,则提前发送广告请求时间为4分50秒。
在确定提前发送广告请求时间后,所述广告请求子模块在播放到所述提前发送广告请求时间时,发送广告下载请求,并根据反馈的信息下载所述待播放广告。在这里还可以包括,远端服务器在接收到广告请求后,记录该广告下载请求的信息,以便为其他数据计算做准备(如曝光率、损耗率等)。同时,远端服务器返回对应或匹配的广告信息。由于广告的内容较大,格式较繁多复杂,远端服务器可以只反馈待播放广告的一些基本信息,例如包括广告个数、素材地址、检测地址等。而在本地端,在下载所述待播放广告之前,还可以先接收返回的待播放广告的信息。根据待播放广告的信息中的内容,判断若所述待播放广告的信息对应的广告数据存在于本地缓存中(即之前已经将该广告下载到本地端),取消下载所述待播放广告;否则根据待播放广告的信息中的地址从远端服务器或其它存储服务器上进行下载到本地端进行缓存。
在对第一视频进行正常播放时,若播放到广告插播时间点,则暂停播放第一视频,开始播放下载的待播放广告。同时,为了防止用户直接跳转第一视频进度将广告跳过,从而导致广告的曝光率下降的问题,可以还包括有进度操作限制子模块,该子模块可以将第一视频的播放进度条设置为不可用状态,待广告播放完毕后再将播放进度条恢复为可用状态。这样,可以保证用户能够浏览到广告,提高广告的曝光率。
在一些特殊情况下,如下载的待播放广告数据受损或未完成下载,会导致待广告播放失败。若无法播放所述待播放广告,则显示错误信息。同时,所述错误信息的显示时间与所述待播放广告的时长相同。这样,如果在某一个待播放广告出现问题,不会导致后面的待播放广告的提前下载请求时间和播放时间的重新计算,减少计算成本。
由于计算的发送广告请求时间是一个波动值,现实中如果提前时间过短,会导致待播放广告无法完成下载,不能起到缓冲的效果;如果提前时间过长,那么在发出广告请求和实际播放广告这段时间中,用户可能中止视频播放,广告曝光数为0,但此时远端服务器可能已经记录了广告请求容量日志,导致曝光损失率升高。因此,在本发明的另一个实施例中,在所述提前请求时间计算子模块中还包括:最大提前值确定子模块和最小提前值确定子模块;
最大提前值确定子模块,用于判断若所述提前发送广告请求时间与所述广告插播时间之间的时间差值大于预置最大提前时间阈值,将所述提前发送广告请求时间设置为所述最大提前时间阈值;最小提前值确定子模块,用于判断若所述提前发送广告请求时间与所述广告插播时间之间的时间差值小于预置最小提前时间阈值,将所述提前发送广告请求时间设置为所述最小提前时间阈值。
根据实际应用中计算得到的经验,所述最大提前时间阈值和最小提前时间阈值都为3分钟。
另外,为了防止本地端已经发送了广告请求后用户拖动进度条跳过了广告插播点,但此时远端服务器已经记录了广告请求容量日志,本应曝光的广告却没有展现出来,导致曝光损失率上升。因此,在本实施例中还可以使用进度操作限制子模块限制用户的行为。
在下载所述广告数据时,进度操作限制子模块将所述第一视频的播放进度条设置为不可用状态,在下载完成后将所述第一视频的播放进度条设置为可用状态。这样,用户就不能够通过操作播放进度从而跳过广告的播放,保证了广告的曝光率。
通过使用以上***,可以实现在广告插播时间点之前发送广告请求,提前进行广告加载,同时利用技术手段规避了广告被人为跳过的的风险,避免了在广告插播时间点实时请求广告和下载广告造成用户体验差和广告播放时间点不可控的问题,减少了用户等待时间,提高了用户体验,保证了广告的曝光度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。