广告视频拼接方法及视频服务器的制造方法

文档序号:10539506阅读:167来源:国知局
广告视频拼接方法及视频服务器的制造方法
【专利摘要】本发明实施例提供一种广告视频拼接方法及视频服务器,包括:获取客户端封装的多个广告对象,所述广告对象中包含广告的素材地址;根据广告对象中的素材地址查找对应的源视频文件,并获取所述源视频文件对应的M3U8文件;解析每个广告对象的源视频文件对应的M3U8文件,获取每个M3U8文件中的视频切片组内播放顺序以及播放总时长;根据所述客户端封装的多个广告对象,将对应的多个M3U8文件拼接生成一M3U8索引文件;将所述M3U8索引文件及相关的视频切片发送至所述客户端进行顺序播放。本发明实施例提供广告视频拼接方法及视频服务器解决了现有技术中播放器播放多支广告需多次起播的缺陷,显著提高了播放器的起播速度。
【专利说明】
广告视频拼接方法及视频服务器
技术领域
[0001]本发明实施例涉及视频技术领域,尤其涉及一种广告视频拼接方法及视频服务器。
【背景技术】
[0002]随着移动互联网的发展,人们在互联网上花费的时间越来越多,从互联网上获取信息已经成为了一种新常态,基于这种发展,越来越多的视频广告投入到互联网中,以实现更快地传播。
[0003]现有的视频广告一般采用单支播放的形式呈现在终端设备上,也就是视频服务器将单支广告单独投放至终端设备上进行播放,且对单支广告单独进行数据统计。单支广告单独投放需要终端设备多次起播,这样就造成了广告的播放效率低。

【发明内容】

[0004]本发明实施例提供一种广告视频拼接方法及视频服务器,用以解决现有技术中多个单支广告分别播放造成的播放器起播速度慢,播放效率低的问题。
[0005]本发明实施例提供一种广告视频拼接方法,包括:
[0006]获取客户端封装的多个广告对象,所述广告对象中包含广告的素材地址;
[0007]根据广告对象中的素材地址查找对应的源视频文件,并获取所述源视频文件对应的M3U8文件;
[0008]解析每个广告对象的源视频文件对应的M3U8文件,获取每个M3U8文件中的视频切片组内播放顺序以及播放总时长;
[0009]根据所述客户端封装的多个广告对象,将对应的多个M3U8文件拼接生成一M3U8索引文件,其中,所述M3U8索引文件中的视频切片播放顺序包括所述多个M3U8文件对应的视频切片组的首尾相接关系,所述M3U8索引文件中的播放总时长为所述多个M3U8文件中的播放总时长之和;
[0010]将所述M3U8索引文件及相关的视频切片发送至所述客户端进行顺序播放。
[0011]本发明实施例提供一种视频服务器,包括:
[0012]请求对接模块,用于获取客户端封装的多个广告对象,所述广告对象中包含广告的素材地址;
[0013]查找模块,用于根据广告对象中的素材地址查找对应的源视频文件,并获取所述源视频文件对应的M3U8文件;
[0014]解析模块,用于解析每个广告对象的源视频文件对应的M3U8文件,获取每个M3U8文件中的视频切片组内播放顺序以及播放总时长;
[0015]拼接模块,用于根据所述客户端封装的多个广告对象,将对应的多个M3U8文件拼接生成一M3U8索引文件,其中,所述M3U8索引文件中的视频切片播放顺序包括所述多个M3U8文件对应的视频切片组的首尾相接关系,所述M3U8索引文件中的播放总时长为所述多个M3U8文件中的播放总时长之和;
[0016]数据发送模块,用于将所述M3U8索引文件及相关的视频切片发送至所述客户端进行顺序播放。
[0017]本发明实施例提供的广告视频拼接方法及视频服务器,通过建立M3U8索引文件,将多支待播放的广告进行串接,在保证单支广告正常播放的前提下,实现了多支广告的自动顺序连播,且客户端中的播放器仅需起播一次,解决了现有技术中播放器播放多支广告需多次起播的缺陷,显著提高了播放器的起播速度。
【附图说明】
[0018]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本发明广告视频拼接方法流程图;
[0020]图2为本发明广告视频拼接方法实施例流程图;
[0021 ]图3为本发明广告视频拼接方法另一实施例流程图;
[0022]图4为本发明中M3U8索引文件生成过程示意图;
[0023 ]图5为本发明中广告视频流生成过程示意图;
[0024]图6为本发明视频服务器结构示意图;
[0025]图7为本发明视频服务器实施例结构示意图。
【具体实施方式】
[0026]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027]在HLS协议中,视频切片和M3U8文件组成了HLS媒体流,被存储在服务器。相应的,客户端从服务器获取M3U8文件,之后根据得到的M3U8文件提供的资源地址信息,获取对应的视频切片进行播放。现有技术中,服务器会将每支广告作为独立的媒体流发送到客户端中的播放器,这就导致当在客户端中播放多支广告时需要多次进行播放器的起播,也就是需要多次获取M3U8文件及媒体流,这大大降低了广告播放的效率。本发明实施例提供的广告视频拼接方法及视频服务器可应用于广告播放场景中解决现有技术的上述缺陷,通过建立M3U8索引文件,将多支待播放的广告进行串接,使得客户端中的播放器只需起播一次即可根据M3U8索引文件顺序播放多支广告,以提高播放器的起播时间和广告播放效率。
[0028]另外,本发明实施例提供的广告拼接方法及视频服务器还可应用于其他视频播放场景中,在此不作限定。
[0029]参考图1,本发明实施例提供一种广告视频拼接方法,包括:
[0030]SlOl,获取客户端封装的多个广告对象,所述广告对象中包含广告的素材地址;
[0031]S102,根据广告对象中的素材地址查找对应的源视频文件,并获取所述源视频文件对应的M3U8文件;
[0032]S103,解析每个广告对象的源视频文件对应的M3U8文件,获取每个M3U8文件中的视频切片组内播放顺序以及播放总时长;
[0033]S104,根据所述客户端封装的多个广告对象,将对应的多个M3U8文件拼接生成一M3U8索引文件,其中,所述M3U8索引文件中的视频切片播放顺序包括所述多个M3U8文件对应的视频切片组的首尾相接关系,所述M3U8索引文件中的播放总时长为所述多个M3U8文件中的播放总时长之和;
[0034]S105,将所述M3U8索引文件及相关的视频切片发送至所述客户端进行顺序播放。
[0035]其中,步骤SlOl中,客户端发向广告数据服务器发起播放请求后,会获得广告数据服务器返回广告数据信息,广告数据信息中包含客户端需播放的一个或多个广告视频的主题、时长等属性信息,客户端从广告数据信息中抽象出单支广告的时长、ID、订单项、素材地址、点击跳转地址等属性信息并封装为广告对象,当广告对象为多个时,多个广告对象以及广告对象的播放顺序将被发送至视频服务器中。
[0036]根据步骤SlOl中获取的广告对象,步骤S102可查找出单支广告对应的源视频文件以及源视频文件对应的M3U8文件。单个源视频文件中的视频切片为一组,源视频文件对应的M3U8文件中包含视频切片组内播放顺序、播放总时长等信息。
[0037]在步骤S103中,通过解析M3U8文件可获知相应的源视频文件中的视频文件组内播放顺序和播放总时长。
[0038]而步骤S104利用步骤SlOl?103获取的各种数据,建立一 M3U8索引文件,所述M3U8索引文件将作为多个待播放广告的索引文件,客户端可按照M3U8索引文件提供的视频切片播放顺序按序提取相应的视频切片进行播放。
[0039]本发明实施例提供的广告视频拼接方法,以从客户端获取的多个广告对象为依据,将对应的多个源视频文件的M3U8文件拼接生成一 M3U8索引文件,从而可实现依据所述M3U8索引文件按序连播多个待播放广告视频,客户端的播放器只需起播一次,也即只需一次性请求获取到所述M3U8索引文件即可实现多支广告连播。
[0040]将对应的多个M3U8文件拼接生成一M3U8索引文件的具体实现方案是多种多样的,以下再以若干实施例对M3U8索引文件的生成方案进行说明。
[0041]I)按照从所述客户端获得的广告对象的排列顺序,设定所述广告对象的源视频文件对应的M3U8文件的推送顺序,并将所述M3U8文件的推送顺序及相邻M3U8文件的推送时间间隔写入所述M3U8索引文件中,其中相邻M3U8文件的推送时间间隔为在前M3U8文件中的播放总时长。
[0042]相对应地,视频服务器还需按照所述M3U8索引文件中的M3U8文件的推送顺序,在当前M3U8文件对应的视频切片组的播放时长达到所述相邻M3U8文件的推送时间间隔时,将下一 M3U8文件对应的视频切片组接续发送至所述客户端进行播放。
[0043]本实施例中,M3U8索引文件中的索引对象为多个M3U8文件,也即是客户端读取所述M3U8索引文件时,可直接查找到的是相应的M3U8文件,而且,当前M3U8文件对应的视频切片播放完成后,可通过M3U8索引文件直接查找到下一个待播放源视频文件的M3U8文件,并读取该M3U8文件以播放相应的视频切片。
[0044]2)将所述多个M3U8文件中的数据移植到所述M3U8索引文件中,并按照从所述客户端获得的广告对象的排列顺序,设定所述多个M3U8文件对应的视频切片组的首尾相接顺序,以及按照所述多个M3U8文件对应的视频切片组的首尾相接顺序调整所述M3U8索引文件中的视频切片播放顺序。
[0045]本实施例中,M3U8索引文件中的索引对象为视频切片,也即是客户端读取所述M3U8索引文件时,可直接查找到的是相应的视频切片J3U8索引文件中将多个M3U8文件中涉及的视频切片进行按组串接排序,保持每组视频切片的组内排序不变,并将多组视频切片按序进行首尾串接。按照M3U8索引文件中的视频切片播放顺序,客户端在播放完当前广告的最后一视频切片后可直接继续播放下一广告的第一个视频切片。
[0046]上述多个实施例中,M3U8索引文件以单个文件的形式发送至客户端,而源视频文件的发送形式则是多种多样的,例如可将多个源视频文件根据播放顺序分别发送至客户端、将多个源视频文件打包发送到客户端进行缓存或者将多个源视频文件的视频切片进行重组排列拼接生成一广告视频流发送至客户端,这些发送形式都可实现客户端播放器对视频切片的提取播放。其中,尤其以广告视频流的发送形式效果更佳。
[0047]以下再以一实施例对源视频文件以广告视频流的形式进行发送的方案做具体说明。
[0048]参考图2,在步骤S104之后S105之前,还包括:
[0049 ]步骤S106,根据所述客户端封装的多个广告对象,将对应的多个源视频文件拼接生成广告视频流,其中,所述广告视频流中的视频切片排列顺序为所述多个源视频文件对应的视频切片组按序首尾相接。
[0050]步骤S106中,将多个源视频文件拼接生成广告视频流,也即是将多支广告对应的视频流拼接合并为一路广告视频流,所述广告视频流中包含了所有源视频文件中的视频切片,这些视频切片按照多个广告对象的顺序进行排列,在保持组内排列顺序不变的情况下,视频切片组进行首尾相接排列。
[0051 ]其中,将多个源视频文件拼接生成广告视频流可采用以下方式:
[0052]将所述源视频文件的视频切片置入所述广告视频流的切片数据包中,并将所述视频切片在所述广告视频流的切片数据包中的地址写入所述M3U8索引文件中。这样客户端通过读取所述M3U8索引文件即可根据所述地址从所述广告视频流中提取视频切片进行播放。
[0053]本实施例中,步骤S106将多个源视频文件拼接合并为一广告视频流,视频服务器可在所述M3U8索引文件发送到客户端的同时开始持续发送广告视频流,而无需在客户端读取所述M3U8索引文件前预先将整个广告视频流发送至客户端,播放器在起播时无需花费大量的时间进行源视频文件的下载缓存。
[0054]在步骤SlOl?105的基础下,多支广告可在播放器一次起播后自动连播,这不仅可提高播放器的起播速度,还可方便广告播放过程中的精确数据统计。
[0055]现有的单支广告单独播放方式,导致数据统计中时常因网络延时等不可控因素而出现统计误差,例如,当前广告播放完成后,下一支广告的起播时间在网络延时的情况下是无法进行确定的,而服务器进行观看时长统计时也就无法确定出准确的计算基础,因此可能导致数据统计的误差。
[0056]参考图3,以下再以一实施例对获取精准数据统计的实现方案作出具体说明。
[0057]步骤S105之后,还包括:
[0058]S107,监听所述客户端返回的广告播放信息,并生成数据统计表;
[0059]其中,所述数据统计表中包含单支广告的播放时长、播放次数、点击率中的一种或多种。
[0060]步骤S107中,所述客户端返回的广告播放信息可以是鼠标点击时、客户端关闭时的视频切片的属性信息。
[0061]步骤S107中可监听的广告播放信息多种多样,数据统计表可统计的数据类型也多种多样,均可根据实际需求进行信息监听和数据统计,以下列举本实施例中可采用以下监听方式和统计方式,但本发明并不仅限于此。
[0062]步骤S107进一步包括:
[0063]监听所述客户端关闭时正在播放的视频切片,在所述M3U8索引文件中查找所述正在播放的视频切片对应的M3U8文件、所述正在播放的视频切片在其对应的M3U8文件中的播放时间点以及已经播放的视频切片对应的M3U8文件,并在所述数据统计表中累计所述M3U8文件对应的单支广告的播放时长和/或播放次数;
[0064]监听所述客户端中的点击访问指令以及所述点击访问指令对应的视频切片,在所述M3U8索引文件中查找所述点击访问指令对应的视频切片对应的M3U8文件,并在所述数据统计表中累计所述M3U8文件对应的单支广告的点击率。
[0065]通过本实施例,多支广告连续播放,播放器起播时的时间点可作为计算的基础,因此,可避免网络延时对时间统计的误差影响,而且通过监听客户端返回的视频切片的属性信息,可在M3U8索引文件中逐层查找到对应的广告对象,数据统计过程中精准到视频文件的层级,保证了数据统计的准确性,且非常便捷。
[0066]以下结合图4和图5,以播放3支广告作为应用场景,进行实施例的详细说明。
[0067]客户端将3支广告分别封装为广告对象,视频服务器从客户端中获取3个广告对象以及其播放顺序,例如3支广告的播放顺序为广告A-广告B-广告C。根据广告对象从视频服务器中分别查找广告A、B、C的源视频文件,并解析对应的M3U8文件A、M3U8文件B、M3U8文件C,获知视频切片组内播放顺序Al……A5,BI……B3,Cl……C3;建立如图4所示的M3U8索引文件,M3U8索引文件中将广告A、B、C的视频切片进行按组首尾串接排序,形成针对广告A、B、C相关的所有视频切片的新的视频切片播放顺序Al……A5B1……B3C1……C3。而对于源视频文件的拼接处理,如图5所示,将广告A的视频切片Al?A5、广告B的视频切片BI?B3以及广告C的视频切片Cl?C3按组首尾拼接合成以广告视频流,广告视频流中包含按序排列的视频切片Al……A5B1……B3C1……C3J3U8索引文件及广告视频流发送至客户端后,客户端可通过读取所述M3U8索引文件提取相应的视频切片进行播放。
[0068]参考图6,本发明实施例提供一种视频服务器,包括:
[0069]请求对接模块11,用于获取客户端封装的多个广告对象,所述广告对象中包含广告的素材地址;
[0070]查找模块12,用于根据广告对象中的素材地址查找对应的源视频文件,并获取所述源视频文件对应的M3U8文件;
[0071]解析模块13,用于解析每个广告对象的源视频文件对应的M3U8文件,获取每个M3U8文件中的视频切片组内播放顺序以及播放总时长;
[0072]拼接模块14,用于根据所述客户端封装的多个广告对象,将对应的多个M3U8文件拼接生成一 M3U8索引文件,其中,所述M3U8索引文件中的视频切片播放顺序包括所述多个M3U8文件对应的视频切片组的首尾相接关系,所述M3U8索引文件中的播放总时长为所述多个M3U8文件中的播放总时长之和;
[0073]数据发送模块15,用于将所述M3U8索引文件及相关的视频切片发送至所述客户端进行顺序播放。
[0074]其中,请求对接模块11中,客户端发向广告数据服务器发起播放请求后,会获得广告数据服务器返回广告数据信息,广告数据信息中包含客户端需播放的一个或多个广告视频的主题、时长等属性信息,客户端从广告数据信息中抽象出单支广告的时长、ID、订单项、素材地址、点击跳转地址等属性信息并封装为广告对象,当广告对象为多个时,多个广告对象以及广告对象的播放顺序将被发送至视频服务器中。
[0075]根据请求对接模块11中获取的广告对象,查找模块12可查找出单支广告对应的源视频文件以及源视频文件对应的M3U8文件。单个源视频文件中的视频切片为一组,源视频文件对应的M3U8文件中包含视频切片组内播放顺序、播放总时长等信息。
[0076]在解析模块13中,通过解析M3U8文件可获知相应的源视频文件中的视频文件组内播放顺序和播放总时长。
[0077]而拼接模块14利用对接请求模块11、查找模块12和解析模块13获取的各种数据,建立一 M3U8索引文件,所述M3U8索引文件将作为多个待播放广告的索引文件,客户端可按照M3U8索引文件提供的视频切片播放顺序按序提取相应的视频切片进行播放。
[0078]本发明实施例提供的视频服务器,以从客户端获取的多个广告对象为依据,将对应的多个源视频文件的M3U8文件拼接生成一 M3U8索引文件,从而可实现依据所述M3U8索引文件按序连播多个待播放广告视频,客户端的播放器只需起播一次,也即只需一次性请求获取到所述M3U8索引文件即可实现多支广告连播。
[0079]拼接模块14将对应的多个M3U8文件拼接生成一M3U8索引文件的具体实现方案是多种多样的,以下再以若干实施例对拼接模块14中M3U8索引文件的生成方案进行说明。
[0080]I)按照从所述客户端获得的广告对象的排列顺序,设定所述广告对象的源视频文件对应的M3U8文件的推送顺序,并将所述M3U8文件的推送顺序及相邻M3U8文件的推送时间间隔写入所述M3U8索引文件中,其中相邻M3U8文件的推送时间间隔为在前M3U8文件中的播放总时长。
[0081]相对应地,视频服务器还需按照所述M3U8索引文件中的M3U8文件的推送顺序,在当前M3U8文件对应的视频切片组的播放时长达到所述相邻M3U8文件的推送时间间隔时,将下一 M3U8文件对应的视频切片组接续发送至所述客户端进行播放。
[0082]本实施例中,M3U8索引文件中的索引对象为多个M3U8文件,也即是客户端读取所述M3U8索引文件时,可直接查找到的是相应的M3U8文件,而且,当前M3U8文件对应的视频切片播放完成后,可通过M3U8索引文件直接查找到下一个待播放源视频文件的M3U8文件,并读取该M3U8文件以播放相应的视频切片。
[0083]2)将所述多个M3U8文件中的数据移植到所述M3U8索引文件中,并按照从所述客户端获得的广告对象的排列顺序,设定所述多个M3U8文件对应的视频切片组的首尾相接顺序,以及按照所述多个M3U8文件对应的视频切片组的首尾相接顺序调整所述M3U8索引文件中的视频切片播放顺序。
[0084]本实施例中,M3U8索引文件中的索引对象为视频切片,也即是客户端读取所述M3U8索引文件时,可直接查找到的是相应的视频切片J3U8索引文件中将多个M3U8文件中涉及的视频切片进行按组串接排序,保持每组视频切片的组内排序不变,并将多组视频切片按序进行首尾串接。按照M3U8索引文件中的视频切片播放顺序,客户端在播放完当前广告的最后一视频切片后可直接继续播放下一广告的第一个视频切片。
[0085]上述多个实施例中,M3U8索引文件以单个文件的形式发送至客户端,而源视频文件的发送形式则是多种多样的,例如可将多个源视频文件根据播放顺序分别发送至客户端、将多个源视频文件打包发送到客户端进行缓存或者将多个源视频文件的视频切片进行重组排列拼接生成一广告视频流发送至客户端,这些发送形式都可实现客户端播放器对视频切片的提取播放。其中,尤其以广告视频流的发送形式效果更佳。
[0086]以下再以一实施例对源视频文件以广告视频流的形式进行发送的方案做具体说明。
[0087]参考图6,拼接模块14,还用于:
[0088]根据所述客户端封装的多个广告对象,将对应的多个源视频文件拼接生成广告视频流,其中,所述广告视频流中的视频切片排列顺序为所述多个源视频文件对应的视频切片组按序首尾相接。
[0089]拼接模块14中,将多个源视频文件拼接生成广告视频流,也即是将多支广告对应的视频流拼接合并为一路广告视频流,所述广告视频流中包含了所有源视频文件中的视频切片,这些视频切片按照多个广告对象的顺序进行排列,在保持组内排列顺序不变的情况下,视频切片组进行首尾相接排列。
[0090]其中,将多个源视频文件拼接生成广告视频流可采用以下方式:
[0091 ]将所述源视频文件的视频切片置入所述广告视频流的切片数据包中,并将所述视频切片在所述广告视频流的切片数据包中的地址写入所述M3U8索引文件中。这样客户端通过读取所述M3U8索引文件即可根据所述地址从所述广告视频流中提取视频切片进行播放。
[0092]本实施例中,拼接模块14将多个源视频文件拼接合并为一广告视频流,视频服务器可在所述M3U8索引文件发送到客户端的同时开始持续发送广告视频流,而无需在客户端读取所述M3U8索引文件前预先将整个广告视频流发送至客户端,播放器在起播时无需花费大量的时间进行源视频文件的下载缓存。
[0093]通过上述请求对接模块11、查找模块12、解析模块13、拼接模块14和数据发送模块15,多支广告可在播放器一次起播后自动连播,这不仅可提高播放器的起播速度,还可方便广告播放过程中的精确数据统计。
[0094]现有的单支广告单独播放方式,导致数据统计中时常因网络延时等不可控因素而出现统计误差,例如,当前广告播放完成后,下一支广告的起播时间在网络延时的情况下是无法进行确定的,而服务器进行观看时长统计时也就无法确定出准确的计算基础,因此可能导致数据统计的误差。
[0095]参考图7,以下再以一实施例对获取精准数据统计的实现方案作出具体说明。
[0096]视频服务器,还包括:
[0097]数据统计模块16,用于监听所述客户端返回的广告播放信息,并生成数据统计表;
[0098]其中,所述数据统计表中包含单支广告的播放时长、播放次数、点击率中的一种或多种。
[0099]数据统计模块16中,所述客户端返回的广告播放信息可以是鼠标点击时、客户端关闭时的视频切片的属性信息。
[0100]数据统计模块16中可监听的广告播放信息多种多样,数据统计表可统计的数据类型也多种多样,均可根据实际需求进行信息监听和数据统计,以下列举本实施例中数据统计模块16可采用的监听方式和统计方式,但本发明并不仅限于此。
[0101 ]数据统计模块16进一步用于:
[0102]监听所述客户端关闭时正在播放的视频切片,在所述M3U8索引文件中查找所述正在播放的视频切片对应的M3U8文件、所述正在播放的视频切片在其对应的M3U8文件中的播放时间点以及已经播放的视频切片对应的M3U8文件,并在所述数据统计表中累计所述M3U8文件对应的单支广告的播放时长和/或播放次数;
[0103]监听所述客户端中的点击访问指令以及所述点击访问指令对应的视频切片,在所述M3U8索引文件中查找所述点击访问指令对应的视频切片对应的M3U8文件,并在所述数据统计表中累计所述M3U8文件对应的单支广告的点击率。
[0104]通过本实施例,多支广告连续播放,可避免网络延时对时间统计的误差影响,而且通过监听客户端返回的视频切片的属性信息,可在M3U8索引文件中逐层查找到对应的广告对象,数据统计过程中精准到视频文件的层级,保证了数据统计的准确性,且非常便捷。
[0105]本发明实施例提供的广告视频拼接方法及视频服务器,通过建立M3U8索引文件,将多支待播放的广告进行串接,在保证单支广告正常播放的前提下,实现了多支广告的自动顺序连播,且客户端中的播放器仅需起播一次,解决了现有技术中播放器播放多支广告需多次起播的缺陷,显著提高了播放器的起播速度。而且,基于M3U8索引文件,还可实现对广告播放中的精准数据统计,避免了现有统计方式在网络延迟情况下的误差。
[0106]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0107]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0108]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种广告视频拼接方法,其特征在于,包括: 获取客户端封装的多个广告对象,所述广告对象中包含广告的素材地址; 根据广告对象中的素材地址查找对应的源视频文件,并获取所述源视频文件对应的M3U8文件; 解析每个广告对象的源视频文件对应的M3U8文件,获取每个M3U8文件中的视频切片组内播放顺序以及播放总时长; 根据所述客户端封装的多个广告对象,将对应的多个M3U8文件拼接生成一 M3U8索引文件,其中,所述M3U8索引文件中的视频切片播放顺序包括所述多个M3U8文件对应的视频切片组的首尾相接关系,所述M3U8索引文件中的播放总时长为所述多个M3U8文件中的播放总时长之和; 将所述M3U8索引文件及相关的视频切片发送至所述客户端进行顺序播放。2.根据权利要求1所述的方法,其特征在于,还包括: 根据所述客户端封装的多个广告对象,将对应的多个源视频文件拼接生成广告视频流,其中,所述广告视频流中的视频切片排列顺序为所述多个源视频文件对应的视频切片组按序首尾相接。3.根据权利要求2所述的方法,其特征在于,所述将对应的多个源视频文件拼接生成广告视频流,进一步包括: 将所述源视频文件的视频切片置入所述广告视频流的切片数据包中,并将所述视频切片在所述广告视频流的切片数据包中的地址写入所述M3U8索引文件中。4.根据权利要求1所述的方法,其特征在于,所述获取客户端封装的多个广告对象,进一步包括: 所述广告对象中还包括单支广告的时长、ID、订单项、点击跳转地址中的一项或多个项?目息O5.根据权利要求1所述的方法,其特征在于,所述将对应的多个M3U8文件拼接生成一M3U8索引文件,进一步包括: 按照从所述客户端获得的广告对象的排列顺序,设定所述广告对象的源视频文件对应的M3U8文件的推送顺序,并将所述M3U8文件的推送顺序及相邻M3U8文件的推送时间间隔写入所述M3U8索引文件中,其中相邻M3U8文件的推送时间间隔为在前M3U8文件中的播放总时长。6.根据权利要求5所述的方法,其特征在于,所述将所述M3U8索引文件及相关的视频切片发送至所述客户端进行顺序播放,进一步包括: 按照所述M3U8索引文件中的M3U8文件的推送顺序,在当前M3U8文件对应的视频切片组的播放时长达到所述相邻M3U8文件的推送时间间隔时,将下一 M3U8文件对应的视频切片组接续发送至所述客户端进行播放。7.根据权利要求1所述的方法,其特征在于,所述将对应的多个M3U8文件拼接生成一M3U8索引文件,进一步包括: 将所述多个M3U8文件中的数据移植到所述M3U8索引文件中,并按照从所述客户端获得的广告对象的排列顺序,设定所述多个M3U8文件对应的视频切片组的首尾相接顺序,以及按照所述多个M3U8文件对应的视频切片组的首尾相接顺序调整所述M3U8索引文件中的视频切片播放顺序。8.根据权利要求1所述的方法,其特征在于,还包括: 监听所述客户端返回的广告播放信息,并生成数据统计表; 其中,所述数据统计表中包含单支广告的播放时长、播放次数、点击率中的一种或多种。9.根据权利要求8所述的方法,其特征在于,所述监听所述客户端返回的广告播放信息,并生成数据统计表,进一步包括: 监听所述客户端关闭时正在播放的视频切片,在所述M3U8索引文件中查找所述正在播放的视频切片对应的M3U8文件、所述正在播放的视频切片在其对应的M3U8文件中的播放时间点以及已经播放的视频切片对应的M3U8文件,并在所述数据统计表中累计所述M3U8文件对应的单支广告的播放时长和/或播放次数; 监听所述客户端中的点击访问指令以及所述点击访问指令对应的视频切片,在所述M3U8索引文件中查找所述点击访问指令对应的视频切片对应的M3U8文件,并在所述数据统计表中累计所述M3U8文件对应的单支广告的点击率。10.一种视频服务器,其特征在于,包括: 请求对接模块,用于获取客户端封装的多个广告对象,所述广告对象中包含广告的素材地址; 查找模块,用于根据广告对象中的素材地址查找对应的源视频文件,并获取所述源视频文件对应的M3U8文件; 解析模块,用于解析每个广告对象的源视频文件对应的M3U8文件,获取每个M3U8文件中的视频切片组内播放顺序以及播放总时长; 拼接模块,用于根据所述客户端封装的多个广告对象,将对应的多个M3U8文件拼接生成一M3U8索引文件,其中,所述M3U8索引文件中的视频切片播放顺序包括所述多个M3U8文件对应的视频切片组的首尾相接关系,所述M3U8索引文件中的播放总时长为所述多个M3U8文件中的播放总时长之和; 数据发送模块,用于将所述M3U8索引文件及相关的视频切片发送至所述客户端进行顺序播放。11.根据权利要求10所述的视频服务器,其特征在于,所述拼接模块,还用于: 根据所述客户端封装的多个广告对象,将对应的多个源视频文件拼接生成广告视频流,其中,所述广告视频流中的视频切片排列顺序为所述多个源视频文件对应的视频切片组按序首尾相接。12.根据权利要求11所述的视频服务器,其特征在于,所述拼接模块,进一步用于: 将所述源视频文件的视频切片置入所述广告视频流的切片数据包中,并将所述视频切片在所述广告视频流的切片数据包中的地址写入所述M3U8索引文件中。13.根据权利要求10所述的视频服务器,其特征在于,所述对接请求模块中: 所述广告对象中还包括单支广告的时长、ID、订单项、点击跳转地址中的一项或多个项?目息O14.根据权利要求10所述的视频服务器,其特征在于,所述将对应的多个M3U8文件拼接生成一 M3U8索引文件,进一步包括: 按照从所述客户端获得的广告对象的排列顺序,设定所述广告对象的源视频文件对应的M3U8文件的推送顺序,并将所述M3U8文件的推送顺序及相邻M3U8文件的推送时间间隔写入所述M3U8索引文件中,其中相邻M3U8文件的推送时间间隔为在前M3U8文件中的播放总时长。15.根据权利要求14所述的视频服务器,其特征在于,所述将所述M3U8索引文件及相关的视频切片发送至所述客户端进行顺序播放,进一步包括: 按照所述M3U8索引文件中的M3U8文件的推送顺序,在当前M3U8文件对应的视频切片组的播放时长达到所述相邻M3U8文件的推送时间间隔时,将下一 M3U8文件对应的视频切片组接续发送至所述客户端进行播放。16.根据权利要求10所述的视频服务器,其特征在于,所述将对应的多个M3U8文件拼接生成一 M3U8索引文件,进一步包括: 将所述多个M3U8文件中的数据移植到所述M3U8索引文件中,并按照从所述客户端获得的广告对象的排列顺序,设定所述多个M3U8文件对应的视频切片组的首尾相接顺序,以及按照所述多个M3U8文件对应的视频切片组的首尾相接顺序调整所述M3U8索引文件中的视频切片播放顺序。17.根据权利要求10所述的视频服务器,其特征在于,还包括: 监听所述客户端返回的广告播放信息,并生成数据统计表; 其中,所述数据统计表中包含单支广告的播放时长、播放次数、点击率中的一种或多种。18.根据权利要求17所述的视频服务器,其特征在于,所述监听所述客户端返回的广告播放信息,并生成数据统计表,进一步包括: 监听所述客户端关闭时正在播放的视频切片,在所述M3U8索引文件中查找所述正在播放的视频切片对应的M3U8文件、所述正在播放的视频切片在其对应的M3U8文件中的播放时间点以及已经播放的视频切片对应的M3U8文件,并在所述数据统计表中累计所述M3U8文件对应的单支广告的播放时长和/或播放次数; 监听所述客户端中的点击访问指令以及所述点击访问指令对应的视频切片,在所述M3U8索引文件中查找所述点击访问指令对应的视频切片对应的M3U8文件,并在所述数据统计表中累计所述M3U8文件对应的单支广告的点击率。
【文档编号】H04N21/845GK105898527SQ201510794417
【公开日】2016年8月24日
【申请日】2015年11月18日
【发明人】李志勇, 敖伟波
【申请人】乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1