发明内容
有鉴于此,本发明的目的在于提供一种用于视频广告插播的推流方法、装置、服务器及***,能够消除视频广告插播中正片与广告切换时出现的花屏现象。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明提供一种用于视频广告插播的推流方法,包括:
视频服务器获取播放列表,所述播放列表包含不同时间段播放的正片信息和广告信息;
根据所述播放列表依次获取正片TS流或广告TS流,以及所述正片TS流或所述广告TS流的PAT表、PMT表及PID信息,所述PID信息包括音频PID、视频PID及PCR的PID;
对所述正片TS流的PAT表、PMT表及PID信息进行第一置换和/或对所述广告TS流的PAT表、PMT表及PID信息进行第一置换,所述第一置换使得所述正片TS流的PAT表、PMT表及PID信息分别与所述广告TS流的PAT表、PMT表及PID信息相同;
将经过第一置换的正片TS流或广告TS流发送到IPQAM,使得所述IPQAM按照预设的规则对所述经过第一置换的正片TS流或广告TS流中的PAT表、PMT表及PID信息进行第二置换后传输至数字电视终端。
本发明还提供一种用于视频广告插播的推流装置,包括:
第一获取模块,用于获取播放列表,所述播放列表包含不同时间段播放的正片信息和广告信息;
第二获取模块,用于根据所述播放列表依次获取正片TS流或广告TS流,以及所述正片TS流或所述广告TS流的PAT表、PMT表及PID信息,所述PID信息包括音频PID、视频PID及PCR的PID;
置换模块,用于对所述正片TS流的PAT表、PMT表及PID信息进行第一置换和/或对所述广告TS流的PAT表、PMT表及PID信息进行第一置换,所述第一置换使得所述正片TS流的PAT表、PMT表及PID信息分别与所述广告TS流的PAT表、PMT表及PID信息相同;
发送模块,用于将经过第一置换的正片TS流或广告TS流发送到IPQAM,使得所述IPQAM按照预设的规则对所述经过第一置换的正片TS流或广告TS流中的PAT表、PMT表及PID信息进行第二置换后传输至数字电视终端。
本发明还提供一种视频服务器,包括上述用于视频广告插播的推流装置。
本发明还提供一种用于视频广告插播的推流***,包括上述所述的视频服务器,IPQAM及数字电视终端,
所述IPQAM,用于接收经过第一置换的正片TS流或广告TS流,分析出所述经过第一置换的正片TS流或广告TS流中的PAT表、PMT表及PID信息,按照预设的规则对所述经过第一置换的正片TS流或广告TS流中的PAT表、PMT表及PID信息进行第二置换后传输至数字电视终端;
所述数字电视终端,用于接收所述IPQAM传输的经过第二置换后的正片TS流或广告TS流。
由上述的技术方案可见,本发明中视频服务器在向IPQAM推送插播有广告的视频时,先将广告TS流和正片TS流中的PAT表、PMT表及PID信息置换为一致,使得正片与广告切换前后,IPQAM接收到的TS流的PAT表、PMT表及PID信息保持相同,不需要重新解析TS流中的PAT表、PMT表而丢失关键数据,进而保证了正片与广告切换时不会出现花屏,提高了用户体验。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
如图2所示,为本发明实施例提供的一种用于视频广告插播的推流方法的流程图,包括:
步骤S101,视频服务器获取播放列表,所述播放列表包含不同时间段播放的正片信息和广告信息;
用户通过数字电视终端发送某视频的点播请求至会话管理器,会话管理器根据接收到的点播请求,获取点播视频对应的播放列表,该播放列表包含不同时间段播放的正片信息和广告信息,将所述播放列表发送至视频服务器,请求视频服务器按照该播放列表进行推流。
步骤S102,根据所述播放列表依次获取正片TS流或广告TS流,以及所述正片TS流或所述广告TS流的PAT表、PMT表及PID信息,所述PID信息包括音频PID、视频PID及PCR的PID;
视频服务器根据播放列表按照时间先后顺序依次从多媒体内容分发平台获取正片TS流或者广告TS流,同时获取正片TS流或广告TS流的PAT表、PMT表及PID信息,其中,PID信息包括音频PID、视频PID及PCR的PID。
作为一种可选的实施方式,可以在获取正片TS流或广告TS流之后,解析所述正片TS流或广告TS流,从所述正片TS流或广告TS流中解析出PAT表、PMT表及PID信息。
作为另一种可选的实施方式,可以根据所述播放列表中携带的正片或广告的标识,从本地或外部服务器获取预先生成的所述正片或所述广告的PAT表、PMT表及PID信息。在这种实施方式中,当正片TS流或广告TS流注入到多媒体内容分发平台时,对TS流进行预解析,将解析出的PAT表、PMT表及PID信息存储在内容管理***中,由视频服务器根据正片的标识或广告的标识发送请求获取,或者由内容管理***提前分发至视频服务器。
步骤S103,对所述正片TS流的PAT表、PMT表及PID信息进行第一置换和/或对所述广告TS流的PAT表、PMT表及PID信息进行第一置换,所述第一置换使得所述正片TS流的PAT表、PMT表及PID信息分别与所述广告TS流的PAT表、PMT表及PID信息相同;
进一步,所述对所述正片TS流的PAT表、PMT表及PID信息进行第一置换和/或对所述广告TS流的PAT表、PMT表及PID信息进行第一置换包括:
将所述正片TS流的PAT表、PMT表及PID信息分别置换成所述广告TS流的PAT表、PMT表及PID信息,所述广告TS流的PAT表、PMT表及PID信息保持不变;或者,
将所述广告TS流的PAT表、PMT表及PID信息分别置换成所述正片TS流的PAT表、PMT表及PID信息,所述正片TS流的PAT表、PMT表及PID信息保持不变;或者,
将所述正片TS流的PAT表、PMT表及PID信息和所述广告TS流的PAT表、PMT表及PID信息分别置换成预设的PAT表、PMT表及PID信息。
具体的,如果播放列表时间轴的起始点是正片,可只将广告TS流的PAT表、PMT表及PID信息置换成正片TS流的PAT表、PMT表及PID信息;同理,如果播放列表时间轴的起始点是广告,可只将正片TS流的PAT表、PMT表及PID信息置换成广告TS流的PAT表、PMT表及PID信息。当然,不论播放列表时间轴的起始点是正片还是广告,都可以将广告TS流和正片TS流的PAT表、PMT表及PID信息统一置换成预设的PAT表、PMT表及PID信息后推送至IPQAM。
步骤S104,将经过第一置换的正片TS流或广告TS流发送到IPQAM,使得所述IPQAM按照预设的规则对所述经过第一置换的正片TS流或广告TS流中的PAT表、PMT表及PID信息进行第二置换后传输至数字电视终端。
需要指出的是,所述经过第一置换的正片TS流或广告TS流并不限定正片TS流和广告TS流都经过第一置换,只要其中有一个流进行了置换,使视频服务器输出的正片TS流中的PAT表、PMT表及PID信息与广告TS流中的PAT表、PMT表及PID信息相同,则认为是经过第一置换的正片TS流或广告TS流。
由于从外界传入的正片流或广告流中的PID信息可能有雷同,而不同的流若对应同一PID信息,可能导致无法播放,因此,IPQAM接收到经过了第一置换的正片TS流或广告TS流之后,需要按照IPQAM自定义的规则对经过了第一置换的正片TS流或广告TS流中的音频PID、视频PID和PCR的PID进行第二置换后再调制传输至数字电视终端。
进一步,步骤S103前还包括:
判断所述正片TS流的PAT表、PMT表和所述广告TS流的PAT表、PMT表是否对应相同;
若不同,则对所述正片TS流的PAT表、PMT表及PID信息进行第一置换和/或对所述广告TS流的PAT表、PMT表及PID信息进行第一置换;
否则,直接将所述正片TS流或广告TS流发送到所述IPQAM。
在DVB(digital video broadcasting,数字视频广播)标准中,PAT表用来记录TS流中包含的节目对应的PMT表,PMT表用来记录节目的音频PID、视频PID及PCR的PID。因此,若两个TS流的PAT表、PMT表对应相同,则音频PID、视频PID及PCR的PID也对应相同。
为了更详细地说明本发明的方案,下面以一个具体的例子进行描述,如,播放列表为:以正片开始播放时间点作为播放列表时间轴的起始点,在(0~t0)秒内播放正片,在[t0~t1)秒内播放广告,在[t1~t2]秒内再次播放正片,采用本发明的方案的流程为:
视频服务器解析播放列表,在(0~t0)秒内开始推送正片TS流到IPQAM。此时推送的正片TS流的视频PID为PID01,音频PID为PID02,PCR的PID为PID03,通常情况下PID01与PID03相同。PAT表为PAT0,PMT表为PMT0。
IPQAM接收到正片TS流,分析正片TS流中PAT0、PMT0得到音视频及PCR的PID,将PAT0、PMT0、PID01、PID02、PID03分别置换为PAT2、PMT2、PID21、PID22、PID23,然后经过调制传输给数字电视终端。
在t0-1时间点,视频服务器检测到应该停止推送正片TS流,遂分析t0-1时间点所在正片TS流所在的GOP(Group Of Picture,图像组)分组,定位出GOP最后一个帧的位置,然后推送完该帧数据,则停止继续推送正片TS流。
t0时间点,视频服务器分析广告TS流,得出其PAT表为PAT1,PMT表为PMT1,视频PID为PID11,音频PID为PID12,PCR的PID为PID13。视频服务器启动置换操作将广告的PAT1、PMT1、PID11、PID12、PID13分别置换为PAT0、PMT0、PID01、PID02、PID03,然后视频服务器定位到置换完后广告片的第一个关键I帧,从该帧起始数据开始推送数据到IPQAM。
IPQAM在t0时间点没有检测到接收的广告TS流的PAT表发生变化,不需要重新解析广告TS流,将PAT0、PMT0、PID01、PID02、PID03分别置换为PAT2、PMT2、PID21、PID22、PID23,然后经过调制传输给数字电视终端。
t1-1时间点,视频服务器检测到应该停止推送广告TS流,遂分析t1-1时间点所在广告TS流所在的GOP分组,定位出GOP最后一个帧的位置,然后推送完该帧数据,则停止继续推送广告TS流。依次类推。
本发明提供的实施例,视频服务器在向IPQAM推送插播有广告的视频时,先将广告TS流和正片TS流中的PAT表、PMT表及PID信息置换为一致,使得正片与广告切换前后,IPQAM接收到的TS流的PAT表、PMT表及PID信息保持相同,不需要重新解析TS流中的PAT表、PMT表而丢失关键数据,进而保证了正片与广告切换时不会出现花屏,提高了用户体验。
如图3所示,为本发明实施例提供的一种用于视频广告插播的推流装置的结构图,包括:
第一获取模块11,用于获取播放列表,所述播放列表包含不同时间段播放的正片信息和广告信息;
用户通过数字电视终端发送某视频的点播请求至会话管理器,会话管理器根据接收到的点播请求,获取点播视频对应的播放列表,该播放列表包含不同时间段播放的正片信息和广告信息,将所述播放列表发送至视频服务器,请求视频服务器按照该播放列表进行推流。
第二获取模块12,用于根据所述播放列表依次获取正片TS流或广告TS流,以及所述正片TS流或所述广告TS流的PAT表、PMT表及PID信息,所述PID信息包括音频PID、视频PID及PCR的PID;
视频服务器根据播放列表按照时间先后顺序依次从多媒体内容分发平台获取正片TS流或者广告TS流,同时获取正片TS流或广告TS流的PAT表、PMT表及PID信息,其中,PID信息包括音频PID、视频PID及PCR的PID。
进一步,第二获取模块12包括:
TS流获取单元,用于根据所述播放列表依次获取正片TS流或广告TS流;
信息获取单元,用于获取正片TS流或广告TS流之后,解析所述正片TS流或广告TS流,从所述正片TS流或广告TS流中解析出PAT表、PMT表及PID信息;或者,
根据所述播放列表中携带的正片或广告的标识,从本地或外部服务器获取预先生成的所述正片或所述广告的PAT表、PMT表及PID信息。
在后一种实施方式中,当正片TS流或广告TS流注入到多媒体内容分发平台时,对TS流进行预解析,将解析出的PAT表、PMT表及PID信息存储在内容管理***中,由视频服务器根据正片的标识或广告的标识发送请求获取,或者由内容管理***提前分发至视频服务器。
置换模块13,用于对所述正片TS流的PAT表、PMT表及PID信息进行第一置换和/或对所述广告TS流的PAT表、PMT表及PID信息进行第一置换,所述第一置换使得所述正片TS流的PAT表、PMT表及PID信息分别与所述广告TS流的PAT表、PMT表及PID信息相同;
具体的,置换模块13,用于将所述正片TS流的PAT表、PMT表及PID信息分别置换成所述广告TS流的PAT表、PMT表及PID信息,所述广告TS流的PAT表、PMT表及PID信息保持不变;或者,
用于将所述广告TS流的PAT表、PMT表及PID信息分别置换成所述正片TS流的PAT表、PMT表及PID信息,所述正片TS流的PAT表、PMT表及PID信息保持不变;或者,
用于将所述正片TS流的PAT表、PMT表及PID信息和所述广告TS流的PAT表、PMT表及PID信息分别置换成预设的PAT表、PMT表及PID信息。
具体的,如果播放列表时间轴的起始点是正片,可只将广告TS流的PAT表、PMT表及PID信息置换成正片TS流的PAT表、PMT表及PID信息;同理,如果播放列表时间轴的起始点是广告,可只将正片TS流的PAT表、PMT表及PID信息置换成广告TS流的PAT表、PMT表及PID信息。当然,不论播放列表时间轴的起始点是正片还是广告,都可以将广告TS流和正片TS流的PAT表、PMT表及PID信息统一置换成预设的PAT表、PMT表及PID信息后推送至IPQAM。
发送模块14,用于将经过第一置换的正片TS流或广告TS流发送到IPQAM,使得所述IPQAM按照预设的规则对所述经过第一置换的正片TS流或广告TS流中的PAT表、PMT表及PID信息进行第二置换后传输至数字电视终端。
需要指出的是,所述经过第一置换的正片TS流或广告TS流并不限定正片TS流和广告TS流都经过第一置换,只要其中有一个流进行了置换,使视频服务器输出的正片TS流中的PAT表、PMT表及PID信息与广告TS流中的PAT表、PMT表及PID信息相同,则认为是经过第一置换的正片TS流或广告TS流。
由于从外界传入的正片流或广告流中的PID信息可能有雷同,而不同的流若对应同一PID信息,可能导致无法播放,因此,IPQAM接收到经过了第一置换的正片TS流或广告TS流之后,需要按照IPQAM自定义的规则对经过了第一置换的正片TS流或广告TS流中的音频PID、视频PID和PCR的PID进行第二置换后再调制传输至数字电视终端。
进一步,所述装置还包括:
判断模块,用于判断所述正片TS流的PAT表、PMT表和所述广告TS流的PAT表、PMT表是否对应相同;
置换模块13,还用于当所述判断模块判断不同时,对所述正片TS流的PAT表、PMT表及PID信息进行第一置换和/或对所述广告TS流的PAT表、PMT表及PID信息进行第一置换;
发送模块14,还用于当所述判断模块判断相同时,直接将所述正片TS流或广告TS流发送到所述IPQAM。
本发明提供的实施例,视频服务器在向IPQAM推送插播有广告的视频时,先将广告TS流和正片TS流中的PAT表、PMT表及PID信息置换为一致,使得正片与广告切换前后,IPQAM接收到的TS流的PAT表、PMT表及PID信息保持相同,不需要重新解析TS流中的PAT表、PMT表而丢失关键数据,进而保证了正片与广告切换时不会出现花屏,提高了用户体验。
本发明还提供一种视频服务器,该视频服务器包括图3实施例中所述的装置。
如图4所示,本发明实施例提供的一种用于视频广告插播的推流***的结构图,包括视频服务器10,IPQAM20及数字电视终端30:
视频服务器10,为包括图3实施例中所述装置的服务器;
IPQAM20,用于接收经过第一置换的正片TS流或广告TS流,分析出所述经过第一置换的正片TS流或广告TS流的PAT表、PMT表及PID信息,按照预设的规则对所述经过第一置换的正片TS流或广告TS流中的PAT表、PMT表及PID信息进行第二置换后传输至数字电视终端30;
数字电视终端30,用于接收IPQAM20传输的经过第二置换后正片TS流或广告TS流。
本发明提供的实施例,视频服务器在向IPQAM推送插播有广告的视频时,先将广告TS流和正片TS流中的PAT表、PMT表及PID信息置换为一致,使得正片与广告切换前后,IPQAM接收到的TS流的PAT表、PMT表及PID信息保持相同,不需要重新解析TS流中的PAT表、PMT表而丢失关键数据,进而保证了正片与广告切换时不会出现花屏,提高了用户体验。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。