实时视频转码任务无缝迁移方法与流程

文档序号:17656102发布日期:2019-05-15 22:01阅读:482来源:国知局
实时视频转码任务无缝迁移方法与流程

本发明涉及视频转码领域,尤其涉及一种实时视频转码的任务迁移方法。



背景技术:

实时视频转码节点在进行转码时,常常需要将一个节点上的转码任务迁移到另外一个转码节点之上。比如某个转码节点可能出现故障,因此需要迁移任务到另外一个节点之上。

现有的实时视频转码的任务迁移方法中,如图1所示,通过远程后台服务器向被替换节点2发送终止消息,同时给替换节点3发送开始消息。被替换节点2和替换节点3在任务迁移过程中,转码后发送的数据必须保证没有数据重复也没有数据缺失,否则会导致接收者出现视频马赛克。

但是,上述方法难以保证A和B是同时收到消息,即使是同时收到消息,也没有办法保证被替换节点2发送最后一帧视频数据后准备发送的视频帧,与替换节点3发送的第一帧视频数据是同一帧视频数据,因此,常常产生视频花屏或者马赛克。



技术实现要素:

本发明的目的在于提供一种实时视频转码任务无缝迁移方法,从而解决现有技术中存在的前述问题。

为了实现上述目的,本发明采用的技术方案如下:实时视频转码任务无缝迁移方法,包括以下步骤:

S1,控制服务器从被替换节点获取指定节目中的当前PCR;

S2,替换节点开始缓存所述指定节目内容;

S3,所述控制服务器同时发送切换PCR到所述被替换节点和所述替换节点,所述被替换节点从接收到的视频内容中检测到所述切换PCR后将切换PCR所在视频帧转码发送后停止转码,同时,所述替换节点从接收到的视频内容中检测到切换PCR后,从切换PCR所在视频帧的下一视频帧开始转码。

具体的,步骤S1为:

S11,所述控制服务器向所述被替换节点发出对所述指定节目终止工作的请求;

S12,所述被替换节点响应请求,并将所述指定节目的所述当前PCR和平均码率发送给所述控制服务器。

具体的,步骤S2为:

S21,所述控制服务器向所述替换节点发出对所述指定节目开始缓存数据并准备转码的请求;

S22,所述替换节点响应请求,所述替换节点开始缓存所述指定节目内容,并且告知所述控制服务器所述指定节目已经开始缓存。

具体的,切换PCR的计算公式为:

pcr_switch=pcr_current+t_cache×Npcr

其中,pcr_switch为所述切换PCR,pcr_current为所述当前PCR,t_cache为所述替换节点的缓存区可以存储内容的时间长度,Npcr为单位时间消耗掉的PCR计数。

具体的,步骤S3为:

S31,所述控制节点通知所述被替换节点和所述替换节点准备切换,并且发送所述切换PCR给所述被替换节点和所述替换节点;

S32,所述被替换节点从接收到的视频内容中检测到所述切换PCR后将切换PCR所在视频帧转码发送后停止转码;

S33,所述替换节点从接收到的视频内容中检测到切换PCR后,从切换PCR所在视频帧的下一视频帧开始转码。

更具体的,步骤S32为:

S321,所述被替换节点从接收到的视频内容中检测到所述切换PCR后,将含所述切换PCR的视频帧转码发送;

S322,所述被替换节点将最后转码数据帧编号发送到所述控制服务器;

S323,所述被替换节点停止转码。

更具体的,步骤S33为:

S331,所述替换节点从接收到的视频内容中检测到所述切换PCR后,将含所述切换PCR之前的视频帧全部丢弃;

S332,所述替换节点从切换PCR所在视频帧的下一视频帧开始转码和发送;

S333,所述替换节点将开始转码的数据帧编号发送给所述控制服务器。

本发明的有益效果是:本发明可以确保被替换节点和替换节点所发送的视频数据是无缝连接的,视频数据不会重叠或者缺失,因此,可以避免节点迁移时产生视频花屏或者马赛克。

附图说明

图1是现有技术通过控制服务器将节点A上的指定转码任务切换到节点B上示意图;

图2是本发明的转码节点迁移序列图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。

如图2所示,实时视频转码任务无缝迁移方法,包括以下步骤:

S1,控制服务器1从被替换节点2获取指定节目中的当前PCR;

S2,替换节点3开始缓存所述指定节目内容;

S3,所述控制服务器1同时发送切换PCR到所述被替换节点2和所述替换节点3,所述被替换节点从接收到的视频内容中检测到所述切换PCR后将切换PCR所在视频帧转码发送后停止转码,同时,所述替换节点从接收到的视频内容中检测到切换PCR后,从切换PCR所在视频帧的下一视频帧开始转码。

S1具体为:

S11,所述控制服务器1向所述被替换节点2发出对所述指定节目终止工作的请求;

S12,所述被替换节点2响应请求,并将所述指定节目的所述当前PCR和平均码率发送给所述控制服务器1。

S2具体为:

S21,所述控制服务器1向所述替换节点3发出对所述指定节目开始缓存数据并准备转码的请求;

S22,所述替换节点3响应请求,所述替换节点3开始缓存所述指定节目内容,并且告知所述控制服务器1所述指定节目已经开始缓存。

所述切换PCR的计算公式为:

pcr_switch=pcr_current+t_cache×Npcr

其中,pcr_switch为所述切换PCR,pcr_current为所述当前PCR,t_cache为所述替换节点3的缓存区可以存储内容的时间长度,Npcr为单位时间消耗掉的PCR计数。

S3具体为:

S31,所述控制节点S通知所述被替换节点2和所述替换节点3准备切换,并且发送所述切换PCR给所述被替换节点2和所述替换节点3;

S32,所述被替换节点从接收到的视频内容中检测到所述切换PCR后将切换PCR所在视频帧转码发送后停止转码;

S33,所述替换节点从接收到的视频内容中检测到切换PCR后,从切换PCR所在视频帧的下一视频帧开始转码。

S32具体为:

S321,所述被替换节点2从接收到的视频内容中检测到所述切换PCR后,将含所述切换PCR的视频帧转码发送;

S322,所述被替换节点2将最后转码数据帧编号发送到所述控制服务器;

S323,所述被替换节点2停止转码。

S33具体为:

S331,所述替换节点3从接收到的视频内容中检测到所述切换PCR后,将含所述切换PCR之前的视频帧全部丢弃;

S332,所述替换节点3从切换PCR所在视频帧的下一视频帧开始转码和发送;

S333,所述替换节点3将开始转码的数据帧编号发送给所述控制服务器1。

本发明的基本原理为:在实时视频流(MPEG2)ts流中,为了编码端和播放端同步,会定期在视频数据包中插入一个时间戳数据,叫做PCR(Program Clock Reference,节目时钟参考)。插入时间间隔少于50毫秒,PCR值代表相对时间,因此PCR值会不断增长,循环时间足够长(约为24小时)才会重新开始。转码节目一般为组播服务,因此指定节目的数据流的所有数据包都可以被替换节点2和替换节点3同时观察到。也就是说,PCR值可以作为分界线,被替换节点2和替换节点3同时将这个值作为分界线。节点A持续转码,直到将含有指定PCR的数据帧转码发送后停止转码,而节点B可以对含有指定PCR后的数据帧开始转码并且发送,这样就实现了替换节点A将转码任务迁移到替换节点3之上的目的。

如图2所示,本发明一种实施例的主要流程如下:

1)控制服务器1向被替换节点2发出对指定节目(节目号为pid)终止工作的请求;

2)被替换节点2响应请求,告知指定节目pid的当前pcr值记为:pcr_current,此节目的平均码率bitrate;

3)控制服务器1向替换节点3发出对指定节目(节目号为pid)开始缓存数据并准备转码的请求;

4)替换节点3响应请求,告知指定节目pid的数据缓存工作已经开始;

5)替换节点3开始缓存节目号为pid的内容,循环用新的内容替换老旧的内容,缓存区的可以存放内容的时间长度为:t_cache;

6)控制节点S通知被替换节点2和替换节点3准备切换,并且发送pcr_switch给A和B,

pcr_switch=pcr_current+t_cache*Npcr,

其中,pcr_switch即为切换PCR,表示在A和B在读取当前PCR后,在这个当前PCR进行任务迁移,Npcr表示单位时间消耗掉的pcr计数,在经过t_cache时间后,节点B已经存放了大量的数据,随时准备切换。节点A和B在一定的时间内从每个数据包中获得的pcr的读数一定远远小于pcr_switch,这可以保证A和B一定可以在相近的时间(考虑到网络延迟和处理延迟,得到时间会有毫秒级别的差异)获得pcr值为pcr_switch的数据包;

7)被替换节点2一直不停转码,直到检测到pcr_swi tch后,就将含pcr_switch数据包的视频帧转码发送后,被替换节点将最后转码数据帧编号发送到所述控制服务器1,停止转码。

8)替换节点3将含pcr_switch数据包之前的视频帧全部丢弃,之后的视频数据全部进行转码和发送,替换节点3将开始转码的数据帧编号发送给控制服务器1。

9)被替换节点2成功终止发送工作。

10)替换节点3成功开始发送工作。

通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明可以确保被替换节点2和替换节点3所发送的视频数据是无缝连接的,视频数据不会重叠或者缺失,因此,可以避免节点迁移时产生视频花屏或者马赛克。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

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