发明内容
本发明的目的在于提供一种流媒体视频广告投放方法,该方法不仅能为广告主开拓最有效的视频广告播放渠道,还可以最大限度的减少广告对用户体验造成的影响,提高用户广告满意度。
为实现上述目的,本发明是这样实现的:
一种流媒体视频广告投放方法,包括以下步骤:
a.确定广告计划:包括确定广告的投放期、投放时段、投放地域、投放频道(栏目)、投放频次(N+)、投放量六项内容,形成广告投放计划表,并提供广告素材。
b.进行广告排期,包括:I.对广告素材进行处理,将广告基本信息输入广告表和广告文件表,并上传广告文件;II.输入排期,构建广告排期数据库,该广告排期数据库包括广告排期主表、排期相关信息表、投放时间表、收看日志记录表。
c.控制广告播放,依次分为以下子步骤:①用户发出一个视频(VOD)点播;②媒介接到VOD点播请求后,向系统传送媒介标识和媒介节目类型标识,所述媒介标识是指定给各个媒介的唯一标识,所述媒介节目类型标识是每个节目类型的唯一标识;③当接收到传送的上述标识后,系统将查询并返回一个相应的广告接口,媒介调用此接口,并将此接口赋值给自定义的广告播放地址参数Adurl,并将自己节目的播放地址赋值给自定义参数url,并为广告和节目分别设置两个播放器;④判断返回的广告接口地址Adurl是否为空,如果为空则进行步骤⑤,如果不为空,则进入步骤⑥;⑤各媒介根据自己的情况设置一个广告等待时间值,一般建议为8秒到12秒之间的任意值。如果超过所述广告等待时间值,所述自定义的广告播放地址参数Adurl还为空,在该时间内不能取到广告地址,则进入步骤⑧直接播放节目,如果在所述广告等待时间值内取到了广告,即所述自定义的广告播放地址参数Adurl不为空,则转入步骤⑥;⑥启动广告播放器,开始播放广告;⑦广告开始播放后,同时启动节目播放器开始节目缓冲,若节目缓冲结束而广告播放未结束,则节目置暂停状态,等广告播放完毕后进行步骤⑧播放节目。若节目缓冲结束后广告也已播放结束,则直接进行步骤⑧播放节目。
d.记录播放日志:当广告播放完毕后,将该广告的ID(AdID)、媒介标识(CPID)、投放的节目类型(CPPgTypeID)和用户的相关参数(IP、收看时间、所在城市等)等信息写入广告收看日志表(AdVusitLog)。
进一步,本发明步骤c中的子步骤③中提到广告接口可通过以下过程获得:当用户点播VOD节目后,系统获得用户传递的参数包括媒介信息、节目类型、用户IP、用户COOKIE和所在城市等信息。首先,查询广告排期相关信息表(AdPlanInfo),根据媒介信息和节目类型匹配投放CP(CPID)和投放频道(PgTypeID),返回符合条件记录集合,并从中随机挑选一条记录。然后根据该记录的广告排期ID字段(AdPlanID),查询广告排期主表(AdPlan),获得广告的ID(AdID),根据AdID字段查询广告表(Advertisement),判断此广告是否符合地域投放条件,如果不符合则返回空地址,否则查询广告收看日志记录表(AdVusitLog),统计该用户收看该广告的次数。如果累计收看次数小于等于投放频次(NPlus)的值,则符合投放频次控制,返回此广告的接口地址(LinkUrl),否则返回空地址。
本发明的有益效果是:可以根据广告客户要求确定投放日期与投放量,使广告与节目类型相对应,用户点播某个视频节目,系统首先根据此节目的类型,发送请求以获取相应流媒体视频广告,经过时段、N+,地域等投放控制后,将相应的广告的调用接口返回给媒介调用,实现在节目进行缓冲的同时播放流媒体视频广告。在视频广告播放完毕后,系统自动切换到视频节目进行播放。并且可以进行广告点播人数、人次以及按媒介、按地域、按时间段、按频道的详细广告点播情况统计;在步骤c中,各媒介还可根据自己的情况设置一个广告等待时间值,如果超过等待时间,Adurl还为空,则说明在该时间内不能取到广告地址,则直接播放节目,如果在等待时间内取到了广告,即Adurl不为空,则按正常程序播放广告。这样在一些特殊情况取不到广告时,可以不用影响用户观看节目。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图所示,图1是本发明的广告投放的总流程图;
总流程图分步说明:
a.确定广告投放计划,如图2
广告商确定广告的投放期、投放时段、投放地域、投放频道(栏目)、投放频次(N+)、投放量六项内容,形成《广告投放计划表》,并提供广告素材
b.进行广告排期
广告排期分为两步:
I.对广告素材进行处理,如图3
处理素材的过程中,将广告基本信息输入相关信息表,包括广告表(Advertisement)和广告文件表(AdFile),表结构如下:
广告表[Advertisement]
字段名 | 数据类型 | 解释 |
AdID | Int | 广告ID |
Title | Varchar(100) | 广告标题 |
AdTypeID | Int | 广告类型 |
LinkUrl | Varchar(256) | 广告可以链接到的网址 |
CreateTime | Datetime | 广告创建时间 |
CompanyID | Int | 广告对应的公司ID |
BrandID | Int | 广告对应的品牌ID |
IfPay | Bit | 广告是否是收费广告 |
NPlus | Int | 广告的N+播放频次 |
广告文件表[AdFile]
字段名 | 数据类型 | 解释 |
AdFileID | Int | 广告文件ID |
AdID | Int | 广告文件对应的广告ID |
FileName | Varchar(64) | 文件的名称 |
FileSize | Int | 文件的大小 |
FileType | tinyint | 文件的类型 |
Path | Varchar(64) | 文件的发布路径 |
得到广告素材后,将广告的标题、类型以及链接等基本信息保存到广告表(Advertisement)中,该表以AdID字段为主键。广告文件上传后,将文件名称和路径信息保存在广告文件表(AdFile)中,该表通过AdID字段与广告表(Advertisement)相关联。
II.进行排期,如图4
广告素材处理完成后,根据计划表对广告进行排期,并将排期数据保存到广告排期数据库中的相关表中。排期相关的表包括广告排期主表(AdPlan)、广告排期相关信息表(AdPlanInfo)和广告排期投放时间表(AdPlanDate)。以上三个表均以广告排期ID字段为主键。广告排期主表(AdPlan)通过AdID字段与广告表(Advertisement)相关联,其中广告播放次数字段(TotalNum)和收看次数字段(HaveShowTimes)的初始值均为0。各表结构如下:
广告排期主表[AdPlan]
字段名 | 数据类型 | 解释 |
AdPlanID | Int | 广告排期ID |
AdID | Int | 广告排期对应的广告ID |
TotalNum | Int | 排期投放的广告播放次数 |
CreateTime | Datetime | 创建时间 |
Apply | Bit | 该排期是否有效 |
HaveShowTimes | Int | 已经被收看了几次 |
ShowMode | tinyint | 播放形式 |
广告排期相关信息表[AdPlanInfo]
字段名 | 数据类型 | 解释 |
AdPlanID | Int | 广告排期ID |
CPID | Varchar(2000) | 广告排期投放的CP |
PgTypeID | Varchar(2000) | 广告排期投放的频道 |
ShowTime | Varchar(2000) | 广告排期投放的时段 |
ShowRegion | Varchar(2000) | 广告排期投放的地区 |
广告排期投放时间表[AdPlanDate]
字段名 | 数据类型 | 解释 |
AdPlanID | Int | 广告排期ID |
StartDate | Datetime | 开始日期 |
endDate | Datetime | 结束日期 |
c.广告播放流程
参见附图6所示,下面具体说明各流程的情况:
①用户发出一个VOD点播。
②媒介接到VOD点播请求后,向系统传送媒介标识(CPID)和媒介节目类型标识(CPPgTypeID)等参数,前者是指定给各个媒介的唯一标识,后者是每个节目类型的唯一标识,比如,节目类型包括:影视、生活、体育、娱乐、新闻…等分别对应代码101、102…。
③当接收到传送的上述标识后,系统将返回一个相应的广告接口(系统返回广告接口过程见图5),媒介调用此接口,并将此接口赋值给Adurl,并将自己节目的播放地址赋值给url。并为广告和节目分别设置两个播放器(Adurl、url是两个自定义的普通参数,用于分别存放广告播放地址和节目播放地址,可另行定义)。
④判断返回的广告接口地址Adurl是否为空,如果为空则进行步骤⑤,如果不为空,则进入步骤⑥。
⑤各媒介可根据自己的情况设置一个广告等待时间值,一般建议为8秒到12秒之间的任意值。如果超过等待时间,Adurl还为空,则说明在该时间内不能取到广告地址,则直接播放节目(这样在一些特殊情况取不到广告时,可以不用影响用户观看节目)。如果在等待时间内取到了广告,即Adurl不为空,则转入步骤⑥。
⑥启动广告播放器,开始播放广告。
⑦广告开始播放后,启动节目播放器开始节目缓冲,若节目缓冲结束而广告播放未结束,则节目置暂停状态,等广告播放完毕后进行步骤⑧节目播放。若节目缓冲结束后广告已播放结束,则直接进行步骤⑧播放节目。
⑧播放节目。
步骤c中的子步骤③中提到的广告接口可通过以下过程(参见图5)获得:当用户点播VOD节目后,系统获得用户传递的参数包括媒介信息、节目类型、用户IP、用户COOKIE和所在城市等信息。首先,查询广告排期相关信息表(AdPlanInfo),根据媒介信息和节目类型匹配投放CP(CPID)和投放频道(PgTypeID),返回符合条件记录集合,并从中随机挑选一条记录。然后根据该记录的广告排期ID字段(AdPlanID),查询广告排期主表(AdPlan),获得广告的ID(AdID),根据AdID字段查询广告表(Advertisement),判断此广告是否符合地域投放条件,如果不符合则返回空地址,否则查询广告收看日志记录表(AdVusitLog),统计该用户收看该广告的次数。如果累计收看次数小于等于投放频次N+(NPlus)的值,则符合投放频次控制,返回此广告的接口地址(LinkUrl),否则返回空地址。
d.记录广告投放信息
当广告播放完毕后,更新广告排期主表(AdPlan),将该广告ID(AdID)对应的广告播放次数字段(TotalNum)和收看次数字段(HaveShowTimes)的值分别加1。然后将该广告的ID(AdID)、媒介标识(CPID)、投放的节目类型(CPPgTypeID)和用户的相关参数(IP、收看时间、所在城市等)等信息写入广告收看日志记录表(AdVusitLog),该表结构如下:
广告收看日志记录表[AdVusitLog]
字段名 | 数据类型 | 解释 |
AdVisitLogID | Bigint | 广告日志记录ID |
AdID | Int | 收看的广告ID |
Cookie | Varchar(50) | 收看人的COOKIE |
IP | Varchar(20) | 收看人的IP |
CreateTime | Datetime | 收看广告的时间 |
CPID | Int | 收看人是从哪个CP看到的广告 |
CPPgTypeID | Smallint | 收看的广告是通过哪个节目类型看到的 |
ShowMode | Tinyint | 收看模式,片头还是片尾或其他 |
CityID | int | 收看人的城市所在地 |
通过查询该表,可以统计各广告的点播人数和人次,并可以按媒介、按地域、按时间段、按频道分析广告点播情况,从而对调整广告排期提供帮助。
定义:
CP:Content Provider,是指接入到点视广告投放系统的各个内容提供商(宽频网站或者视频软件)的统称。
CPID:媒介标识(由点视指定给各个媒介的唯一标识)。
CPPgTypeID:媒介节目类型标识(每个节目类型的唯一标识,由点视提供给每个媒介一张列表)。
投放控制,即对广告的投放进行N+、地域、时段和频道的控制,包括:
投放频次(N+)控制:一个广告被同一观众的观看次数不超过N次,即该观众观看广告的次数<=N。
地域控制:能够根据观众的所在地域控制广告投放。也就是说,不同地域的观众在同一时间观看同一个节目看到的广告可能是不一样的。
时段控制:可以控制到广告投放的小时段,即从几点开始到几点结束。
频道控制:根据节目内容来确定广告投放的控制。不同的节目频道投放的广告可能不一致。