视频流转码迁移方法、装置和系统转让专利
申请号 : CN201910257354.7
文献号 : CN110213617B
文献日 : 2022-03-18
发明人 : 陈钦基
申请人 : 腾讯科技(深圳)有限公司
摘要 :
权利要求 :
1.一种视频流转码迁移方法,其特征在于,所述方法包括:实时监控第一转码服务器对原始视频进行转码时所产生的资源消耗量;
当所述资源消耗量符合转码迁移条件时,触发转码迁移指令;
响应于所述转码迁移指令,查询第一转码服务器将原始视频流转码为第一转码流的基准时间戳;所述基准时间戳,是指所述第一转码服务器对所述原始视频流进行转码时,对所述原始视频流中各视频帧的时间戳进行重排时所需的基准时间点;所述第一转码服务器对所述原始视频流进行转码的转码方式为切片式转码方式;
获取所述原始视频流在触发转码迁移时的末尾时间戳;所述末尾时间戳,是指触发转码迁移时,所述原始视频流中最后一个视频帧的时间戳;
发送携带所述基准时间戳和末尾时间戳的转码指令至第二转码服务器;所述转码指令,用于指示所述第二转码服务器从所述原始视频流的所述末尾时间戳起进行切片转码,得到第二转码流;
拉取所述第二转码流,并保持从所述第一转码服务器拉取所述第一转码流;所述第二转码流具有基于所述基准时间戳确定的时间戳;
保持输出所述第一转码流,并将所述第一转码流与所述第二转码流的相同的视频帧的时间戳进行比对,直到监测到所述第一转码流与所述第二转码流在相同的视频帧存在相同的时间戳时,将输出的所述第一转码流切换为所述第二转码流。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当监测到即将输出所述第一转码流的关键视频帧时,从所述第二转码流中查找与即将输出的关键视频帧相同的目标关键视频帧;
将查找到的目标关键视频帧的时间戳与即将输出的关键视频帧的时间戳进行比对;
当所述目标关键视频帧的时间戳与即将输出的关键视频帧的时间戳相同时,确定所述第一转码流与所述第二转码流在相同的视频帧存在相同的时间戳。
3.根据权利要求1‑2任一项所述的方法,其特征在于,所述基准时间戳为所述原始视频流的起始时间戳;所述原始视频流中的视频帧在转码为第一转码流中的视频帧时,视频帧类型保持一致;所述原始视频流中的视频帧在转码为第二转码流中的视频帧时,视频帧类型保持一致。
4.一种视频流转码迁移方法,其特征在于,所述方法包括:接收转码指令,所述转码指令携带有第一转码服务器将原始视频流转码为第一转码流的基准时间戳,以及原始视频流在触发转码迁移时的末尾时间戳;所述基准时间戳,是指所述第一转码服务器对所述原始视频流进行转码时,对所述原始视频流中各视频帧的时间戳进行重排时所需的基准时间点;所述末尾时间戳,是指触发转码迁移时,所述原始视频流中最后一个视频帧的时间戳;所述第一转码服务器对原始视频流进行转码的转码方式为切片式转码方式;所述转码指令,是当转码迁移指令被触发后生成的;所述转码迁移指令,是当监控到所述第一转码服务器对所述原始视频进行转码时所产生的资源消耗量符合转码迁移条件时触发生成的;
从所述原始视频流的所述末尾时间戳起,按照所述基准时间戳对所述原始视频流进行切片转码,得到第二转码流;所述第二转码流具有基于所述基准时间戳确定的时间戳;
发送所述第二转码流至通道管理服务器,使得所述通道管理服务器将所述第一转码流与所述第二转码流的相同的视频帧的时间戳进行比对,并在监测到所述第一转码流与所述第二转码流在相同的视频帧存在相同的时间戳时,将输出的所述第一转码流切换为所述第二转码流。
5.根据权利要求4所述的方法,其特征在于,所述从所述原始视频流的所述末尾时间戳起,按照所述基准时间戳对所述原始视频流进行切片转码,得到第二转码流包括:从所述原始视频流的所述末尾时间戳起,获取原始视频流中各个视频帧的原始时间戳;
确定所述原始时间戳与所述基准时间戳的时间差值;
按照所述时间差值确定对应视频帧的时间戳;
基于确定的所述时间戳对所述原始视频流进行转码,得到第二转码流。
6.根据权利要求4‑5中任一项所述的方法,其特征在于,所述基准时间戳为所述原始视频流的起始时间戳;所述原始视频流中的视频帧在转码为第一转码流中的视频帧时,视频帧类型保持一致;所述原始视频流中的视频帧在转码为第二转码流中的视频帧时,视频帧类型保持一致。
7.一种视频流转码迁移装置,其特征在于,所述装置包括:基准时间戳查询模块,用于实时监控第一转码服务器对原始视频进行转码时所产生的资源消耗量;当所述资源消耗量符合转码迁移条件时,触发转码迁移指令;响应于所述转码迁移指令,查询第一转码服务器将原始视频流转码为第一转码流的基准时间戳;所述基准时间戳,是指所述第一转码服务器对所述原始视频流进行转码时,对所述原始视频流中各视频帧的时间戳进行重排时所需的基准时间点;所述第一转码服务器对所述原始视频流进行转码的转码方式为切片式转码方式;
基准时间戳发送模块,用于获取所述原始视频流在触发转码迁移时的末尾时间戳;所述末尾时间戳,是指触发转码迁移时,所述原始视频流中最后一个视频帧的时间戳;发送携带所述基准时间戳和末尾时间戳的转码指令至第二转码服务器;所述转码指令,用于指示所述第二转码服务器从所述原始视频流的所述末尾时间戳起进行切片转码,得到第二转码流;
转码流拉取模块,用于拉取所述第二转码流,并保持从所述第一转码服务器拉取所述第一转码流;所述第二转码流具有基于所述基准时间戳确定的时间戳;
转码流输出模块,用于保持输出所述第一转码流,并将所述第一转码流与所述第二转码流的相同的视频帧的时间戳进行比对,直到监测到所述第一转码流与所述第二转码流在相同的视频帧存在相同的时间戳时,将输出的所述第一转码流切换为所述第二转码流。
8.根据权利要求7所述的装置,其特征在于,所述视频流转码迁移装置还包括:视频流监测模块,用于当监测到即将输出所述第一转码流的关键视频帧时,从所述第二转码流中查找与即将输出的关键视频帧相同的目标关键视频帧;将查找到的目标关键视频帧的时间戳与即将输出的关键视频帧的时间戳进行比对;当所述目标关键视频帧的时间戳与即将输出的关键视频帧的时间戳相同时,确定所述第一转码流与所述第二转码流在相同的视频帧存在相同的时间戳。
9.根据权利要求7‑8任一项所述的装置,其特征在于,所述基准时间戳为所述原始视频流的起始时间戳;所述原始视频流中的视频帧在转码为第一转码流中的视频帧时,视频帧类型保持一致;所述原始视频流中的视频帧在转码为第二转码流中的视频帧时,视频帧类型保持一致。
10.一种视频流转码迁移装置,其特征在于,所述装置包括:转码指令接收模块,用于接收转码指令,所述转码指令携带有第一转码服务器将原始视频流转码为第一转码流的基准时间戳,以及原始视频流在触发转码迁移时的末尾时间戳;所述基准时间戳,是指所述第一转码服务器对所述原始视频流进行转码时,对所述原始视频流中各视频帧的时间戳进行重排时所需的基准时间点;所述末尾时间戳,是指触发转码迁移时,所述原始视频流中最后一个视频帧的时间戳;所述第一转码服务器对原始视频流进行转码的转码方式为切片式转码方式;所述转码指令,是当转码迁移指令被触发后生成的;所述转码迁移指令,是当监控到所述第一转码服务器对所述原始视频进行转码时所产生的资源消耗量符合转码迁移条件时触发生成的;
转码模块,用于从所述原始视频流的所述末尾时间戳起,按照所述基准时间戳对所述原始视频流进行切片转码,得到第二转码流;所述第二转码流具有基于所述基准时间戳确定的时间戳;
第二转码流发送模块,用于发送所述第二转码流至通道管理服务器,使得所述通道管理服务器将所述第一转码流与所述第二转码流的相同的视频帧的时间戳进行比对,并在监测到所述第一转码流与所述第二转码流在相同的视频帧存在相同的时间戳时,将输出的所述第一转码流切换为所述第二转码流。
11.根据权利要求10所述的装置,其特征在于,所述转码模块还用于从所述原始视频流的所述末尾时间戳起,获取原始视频流中各个视频帧的原始时间戳;确定所述原始时间戳与所述基准时间戳的时间差值;按照所述时间差值确定对应视频帧的时间戳;基于确定的所述时间戳对所述原始视频流进行转码,得到第二转码流。
12.根据权利要求10‑11任一项所述的装置,其特征在于,所述基准时间戳为所述原始视频流的起始时间戳;所述原始视频流中的视频帧在转码为第一转码流中的视频帧时,视频帧类型保持一致;所述原始视频流中的视频帧在转码为第二转码流中的视频帧时,视频帧类型保持一致。
13.一种视频流转码迁移系统,所述系统包括接入服务器、第一转码服务器、控制服务器、通道管理服务器、第二转码服务器和内容分发网络服务器,所述控制服务器实时监控第一转码服务器对原始视频进行转码时所产生的资源消耗量;当所述资源消耗量符合转码迁移条件时,触发转码迁移指令;响应于所述转码迁移指令,查询所述第一转码服务器将原始视频流转码为第一转码流的基准时间戳;所述基准时间戳,是指所述第一转码服务器对所述原始视频流进行转码时,对所述原始视频流中各视频帧的时间戳进行重排时所需的基准时间点;所述第一转码服务器对所述原始视频流进行转码的转码方式为切片式转码方式;获取所述原始视频流在触发转码迁移时的末尾时间戳;所述末尾时间戳,是指触发转码迁移时,所述原始视频流中最后一个视频帧的时间戳;
发送携带所述基准时间戳和末尾时间戳的转码指令至第二转码服务器;
所述第二转码服务器接收转码指令,并从所述接入服务器拉取所述原始视频流,从所述原始视频流的所述末尾时间戳起,按照所述基准时间戳对所述原始视频流进行切片转码,得到第二转码流;所述第二转码流具有基于所述基准时间戳确定的时间戳;
所述通道管理服务器拉取所述第二转码流,并保持从所述第一转码服务器拉取所述第一转码流;
所述通道管理服务器保持输出所述第一转码流至所述内容分发网络服务器,并将所述第一转码流与所述第二转码流的相同的视频帧的时间戳进行比对,直到监测到所述第一转码流与所述第二转码流在相同的视频帧存在相同的时间戳时,将输出的所述第一转码流切换为所述第二转码流。
14.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
说明书 :
视频流转码迁移方法、装置和系统
技术领域
背景技术
络情况选择蓝光、高清、标清、普清等不同清晰度的直播视频流进行观看。
上,实现转码任务在转码服务器之间的任意迁移切换。
定的时间去拉取原始转码流,并且第二转码服务器所拉取的原始视频流可能不准确,使得
播放的视频画面容易出现画面卡顿、画面回退或画面向前跳跃的现象,不能实现视频画面
的平滑过渡。
发明内容
转码流。
第一转码流切换为所述第二转码流。
确定的时间戳;
为所述第二转码流。
一转码流存在相同基准时间戳的第二转码流。同时拉取第一转码流和第二转码流,并保持
第一转码流的输出。由于第一转码流与第二转码流的基准时间戳相同,可以准确地监测第
一转码流与第二转码流的时间戳是否对齐。直到监测到第一转码流与第二转码流在时间轴
上对齐时,代表第一转码流与第二转码流完全同步,则停止第一转码流的输出,并输出第二
转码流。这样终端播放出来的视频完全不会出现画面卡顿、画面回退或画面向前跳跃的现
象,实现了画面的平滑过渡。
附图说明
具体实施方式
不用于限定本申请。
一转码服务器120、转码迁移服务器130、第二转码服务器140和内容分发网络服务器150。接
入服务器110、第一转码服务器120、转码迁移服务器130、第二转码服务器140和内容分发网
络服务器150通过网络连接。
容分发网络服务器150可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
是具有对视频流进行转码的功能的服务器。通道管理服务器指具有至少两个用于拉取转码
流的拉流通道的服务器。内容分发网络(CDN,英文全称为Content Delivery Network)服务
器指具有内容存储功能和分发功能的服务器。内容分发网络服务器用于将输入的转码流分
发至各观众终端进行播放。
务器140从接入服务器110拉取原始视频流,基于基准时间戳对原始视频流进行转码得到第
二转码流。第二转码流具有基于基准时间戳确定的时间戳。
转码流与第二转码流的时间戳对齐时,将输出的第一转码流切换为第二转码流。
法具体包括如下步骤:
进行先解码再编码,得到另一个视频流的过程。另一个视频流指本申请中所提到的转码流。
第一转码流指第一转码服务器对原始视频流进行转码所得到的转码流。基准时间戳指转码
服务器对原始视频流进行转码时,对原始视频流中各视频帧的时间戳进行重排时所需的基
准时间点,转码服务器需要基于基准时间戳去确定各视频帧重排后的时间戳。
一转码服务器可以基于基准时间戳“10000(毫秒)”和原始视频流中各视频帧的原始时间戳
确定转码得到的第一转码流中各视频帧对应的时间戳,按照确定的时间戳对各视频帧的原
始时间戳进行重排。当转码迁移服务器中的控制服务器检测到转码迁移指令被触发时,控
制服务器便查询第一转码服务器对原始视频流进行转码得到第一转码流的基准时间戳。
码迁移指令。资源消耗量指服务器的CPU资源和内存资源所消耗的量。
转码进程可以有一个或多个转码线程,每个转码线程都运行在第一转码服务器的一个CPU
上。每个转码线程的CPU使用率不同。
在CPU的CPU使用率大于平均CPU使用率时,计算该转码线程所在CPU的CPU使用率与平均CPU
使用率的使用率差值。当使用率差值大于或等于预设差值阈值时,说明该CPU负载较高,符
合转码迁移条件,则控制服务器触发转码迁移指令。
使用率进行加和,再除以第一转码服务器中的CPU总数,得到第一转码服务器的平均CPU使
用率。
一转码服务器上各CPU的CPU使用率变化情况不断更新。控制服务器可以周期性地从CPU表
中获取第一转码服务器的平均CPU使用率。
原始视频流进行转码,得到具有基于基准时间戳确定的时间戳的第二转码流。
流进行转码时所采用的基准时间戳为10000(毫秒),则第二转码服务器也基于该基准时间
戳“10000(毫秒)”确定转码得到的第二转码流中每一视频帧对应的时间戳,按照确定的时
间戳对每一视频帧对应的原始时间戳进行重排。
二拉流通道。通道管理服务器通过建立的第二拉流通道从第二转码服务器拉取第二转码
流,同时保持通过建立的第一拉流通道从第一转码服务器继续拉取第一转码流,进入双通
道同时拉流阶段。
众终端仍然以接收到的第一转码流播放实时视频。并且,通道管理服务器在处于双通道同
时拉流阶段时,将第一转码流与第二转码流的相同的视频帧的时间戳进行比对。第一转码
流中的各个视频帧与第二转码流中的各个视频帧均有基于相同的基准时间戳确定的重排
后的时间戳。
通道的第一转码流切换为第二拉流通道的第二转码流。通道管理服务器将输出的第一转码
流切换为第二转码流后,内容分发网络服务器将输入的第二转码流分发至观众终端,观众
终端以接收到的第二转码流继续播放实时视频。
后,第一转码服务器停止对原始视频流的转码,并上报转码迁移完毕信息至控制服务器。转
码迁移完毕信息用于通知控制服务器转码迁移任务已执行完毕。
时拉取第一转码流和第二转码流,并保持第一转码流的输出。由于第一转码流与第二转码
流的基准时间戳相同,可以准确地监测第一转码流与第二转码流的时间戳是否对齐。直到
监测到第一转码流与第二转码流在时间轴上对齐时,代表第一转码流与第二转码流完全同
步,则停止第一转码流的输出,并输出第二转码流。这样终端播放出来的视频完全不会出现
画面卡顿、画面回退或画面向前跳跃的现象,实现了画面的平滑过渡。
视频流进行转码得到第二转码流包括:获取原始视频流在触发转码迁移时的末尾时间戳;
发送携带基准时间戳和末尾时间戳的转码指令至第二转码服务器;转码指令用于指示第二
转码服务器从原始视频流的末尾时间戳起进行切片转码,得到第二转码流。
原始视频流中最后一个视频帧的时间戳。例如触发转码迁移时,原始视频流中各个视频帧
的时间戳依次为“10000(毫秒)、10001、10002、10003、10004……10118、10119、10200”,则
“10200(毫秒)”便为触发转码迁移时原始视频流的末尾时间戳。
方式时,第二转码服务器对原始视频流进行转码的转码方式也为流式转码方式。当第一转
码服务器对原始视频流进行转码的转码方式为切片式转码方式时,第二转码服务器对原始
视频流进行转码的转码方式也为切片式转码方式。流式转码方式指直接对原始视频流进行
转码得到转码流的转码方式。
到的末尾时间戳和查询到的基准时间戳的转码指令,并将生成的转码指令发送至第二转码
服务器。
的子原始视频流进行转码,得到第二转码流。可以理解的是,按照切片式转码方式得到的第
二转码流分为多个子第二转码流,各个子第二转码流分别存储在各自对应的切片文件中。
文件标识比如可以是切片文件的序列号。则控制服务器生成的转码指令中,还携带有获取
到的文件标识。这样,第二转码服务器便可以根据该文件标识对得到的第二转码流对应的
各个切片文件进行标识。
1秒后,在原始视频流的3000毫秒处切一次片,得到2000(毫秒)‑3000(毫秒)的子原始视频
流。
的子原始视频流的视频帧进行转码得到的子第二转码流以及该子第二转码流中的各视频
帧对应的时间戳。例如控制服务器获取的第一转码服务器对原始视频流进行转码得到的多
个切片文件的文件标识分别为1、2、3、4……55、56、57,则2000(毫秒)‑3000(毫秒)的子原始
视频流对应的切片文件的文件标识应为“58”。
第二转码服务器从原始视频流在触发转码迁移时的末尾时间戳起对原始视频流进行切片。
这样第一转码流对应的切片文件和第二转码流对应的切片文件便可以准确地衔接上。
将查找到的目标关键视频帧的时间戳与即将输出的关键视频帧的时间戳进行比对;当目标
关键视频帧的时间戳与即将输出的关键视频帧的时间戳相同时,确定第一转码流与第二转
码流的时间戳对齐。
码流时,第一转码流中的视频帧是按照顺序依次进行输出的。通道管理服务器可以实时对
输出的第一转码流进行监测。当通道管理服务器监测到即将输出的第一转码流的视频帧为
关键视频帧时,从第二转码流的存储队列中查找与即将输出的关键视频帧相同的目标关键
视频帧。
目标关键视频帧的时间戳相同,说明第一转码流与第二转码流在相同的关键视频帧存在相
同的时间戳,则通道管理服务器确定从目标关键视频帧起,第一转码流与第二转码流的时
间戳已对齐。
一步地,通道管理服务器可以确定即将输出的关键视频帧的序列号,根据确定的序列号在
第二转码流中查找与即将输出的关键视频帧相同的目标关键视频帧。
通道管理服务器需要从第二转码流的存储队列中查找序列号为9的目标关键视频帧,目标
关键视频帧为原始视频流中的第9个关键视频帧被第二转码服务器转码后得到的关键视频
帧。
相同时,便代表第一转码流与第二转码流在目标关键视频帧之后的所有关键视频帧的时间
戳一定是对齐的。
即将输出的关键视频帧与对应的目标关键帧做比较。因此,管理服务器继续执行当监测到
即将输出第一转码流的关键视频帧时,从第二转码流中查找与即将输出的关键视频帧相同
的目标关键视频帧的步骤。直到监测到即将输出的关键视频帧的时间戳与目标关键视频帧
的时间戳相同。
的时间戳与目标关键视频帧的时间戳相同,便代表第一转码流与第二转码流的时间戳从目
标关键视频帧起已对齐。无需将第一转码流中的所有视频帧依次与第二转码流中的视频帧
作比较,高效地确定了第一转码流与第二转码流的时间戳是否对齐。
码为第二转码流中的视频帧时,视频帧类型保持一致。
10004……,则10000(毫秒)为该原始视频流的起始时间戳。
图3中的I帧,参考视频帧为图3中的P帧。参考视频帧302是转码服务器参考关键视频帧301
进行编码得到的,参考视频帧303是转码服务器参考参考视频帧302进行编码得到的。
原始视频流中的视频帧类型为参考视频帧的视频帧,经过第一转码服务区或第二转码服务
器转码后,在第一转码流或第二转码流中的视频帧类型仍然为参考视频帧。由于第一转码
服务器或第二转码服务器是依次对原始视频流中的各视频帧进行转码,因此,得到的第一
转码流或第二转码流中各视频帧的序列与在原始视频流中各视频帧的序列相比是保持不
变的。
一转码流中对应的仍然是关键视频帧B2。原始视频流经过转码后,第一转码流中两个关键
视频帧之间的参考视频帧数量与在原始视频流中这两个关键视频帧之间的参考视频帧数
量相同。例如图4中,原始视频流的关键视频帧A1与关键视频帧A2之间的参考视频帧数量和
关键视频帧B1与关键视频帧A2之间的参考视频帧数量相同。
流中的视频帧时,视频帧类型保持一致,使得通道管理服务器可以更加便捷地比较第一转
码流与第二转码流的时间戳是否对齐。
以确定关键视频帧601与关键视频帧602为相同的关键视频帧。若通道管理服务器监测到关
键视频帧601为即将输出的关键视频帧,并且关键视频帧601与关键视频帧602的时间戳相
同,则代表第二视频流从关键视频帧602起,之后的所有视频帧与第一转码流均会对齐。因
此,通道管理服务器从关键视频帧602起,将输出的第一转码流切换为第二转码流。通道管
理服务器输出至内容分发网络服务器的转码流如图6中的600所示。
法具体包括如下步骤:
控制服务器生成携带有该基准时间戳的转码指令并发送至第二转码服务器。第二转码服务
器接收携带有该基准时间戳的转码指令。
转码时,是基于与第一转码服务器对原始视频流转码时所采用的相同的基准时间戳对原始
视频流进行转码,得到具有基于基准时间戳确定的时间戳的第二转码流。
每一视频帧对应的时间戳,按照确定的时间戳对每一视频帧对应的原始时间戳进行重排。
二拉流通道,并向第二转码服务器发送拉流请求。第二转码服务器响应于该拉流请求,通过
通道管理服务器建立的第二拉流通道发送第二转码流至通道管理服务器,并且通道管理服
务器同时保持通过建立的第一拉流通道从第一转码服务器继续拉取第一转码流,使得通道
管理服务器进入双通道同时拉流阶段。
观众终端仍然以接收到的第一转码流播放实时视频。并且,通道管理服务器在处于双通道
同时拉流阶段时,将第一转码流与第二转码流的相同的视频帧的时间戳进行比对。第一转
码流中的各个视频帧与第二转码流中的各个视频帧均有基于相同的基准时间戳确定的重
排后的时间戳。
通道的第一转码流切换为第二拉流通道的第二转码流。通道管理服务器将输出的第一转码
流切换为第二转码流后,内容分发网络服务器将输入的第二转码流发送至观众终端,观众
终端以接收到的第二转码流继续播放实时视频。
后,第一转码服务器停止对原始视频流的转码,并上报转码迁移完毕信息至控制服务器。转
码迁移完毕信息用于通知控制服务器转码迁移任务已执行完毕。
时拉取第一转码流和第二转码流,并保持第一转码流的输出。由于第一转码流与第二转码
流的基准时间戳相同,可以准确地监测第一转码流与第二转码流的时间戳是否对齐。直到
监测到第一转码流与第二转码流在时间轴上对齐时,代表第一转码流与第二转码流完全同
步,则停止第一转码流的输出,并输出第二转码流。这样终端播放出来的视频完全不会出现
画面卡顿、画面回退或画面向前跳跃的现象,实现了画面的平滑过渡。
始时间戳与基准时间戳的时间差值;按照时间差值确定对应视频帧的时间戳;基于确定的
时间戳对原始视频流进行转码,得到第二转码流。
准时间戳=转码后的时间戳。这样例如基准时间戳为10100(毫秒),原始视频流中的视频帧
A的原始时间戳为10200(毫秒),则10200‑10100=100(毫秒)便为视频帧A转码后对应的时
间戳。
时间差值确定对应视频帧的时间戳;基于确定的时间戳对原始视频流进行转码,得到第一
转码流。
准时间戳=转码后的时间戳。这样例如基准时间戳为10100(毫秒),原始视频流中的视频帧
A的原始时间戳为10200(毫秒),则10200‑10100=100(毫秒)便为视频帧A转码后对应的时
间戳。
同的基准时间戳对原始视频流进行转码,使得通道管理服务器可以更加便捷地比较第一转
码流与第二转码流的时间戳是否对齐。
原始视频流进行转码,得到具有基于基准时间戳确定的时间戳的第二转码流包括:从原始
视频流的末尾时间戳起,按照基准时间戳对原始视频流进行切片转码,得到具有基于基准
时间戳确定的时间戳的第二转码流。
带有获取到的末尾时间戳和查询到的基准时间戳的转码指令,并将生成的转码指令发送至
第二转码服务器。
频流进行切片,并基于基准时间戳实时对切片得到的子原始视频流进行转码,得到第二转
码流。可以理解的是,按照切片式转码方式得到的第二转码流分为多个子第二转码流,各个
子第二转码流分别存储在各自对应的切片文件中。
文件标识比如可以是切片文件的序列号。则控制服务器生成的转码指令中,还携带有获取
到的文件标识。这样,第二转码服务器接收到的转码指令中该携带有文件标识,第二转码服
务器便可以根据该文件标识对得到的第二转码流对应的各个切片文件进行标识。
1秒后,在原始视频流的3000毫秒处切一次片,得到2000(毫秒)‑3000(毫秒)的子原始视频
流。
的子原始视频流的视频帧进行转码得到的子第二转码流以及该子第二转码流中的各视频
帧对应的时间戳。例如控制服务器获取的第一转码服务器对原始视频流进行转码得到的多
个切片文件的文件标识分别为1、2、3、4……55、56、57,则2000(毫秒)‑3000(毫秒)的子原始
视频流对应的切片文件的文件标识应为“58”。
第二转码服务器从原始视频流在触发转码迁移时的末尾时间戳起对原始视频流进行切片。
这样第一转码流对应的切片文件和第二转码流对应的切片文件便可以准确地衔接上。
码为第二转码流中的视频帧时,视频帧类型保持一致。
图3中的I帧,参考视频帧为图3中的P帧。参考视频帧302是转码服务器参考关键视频帧301
进行编码得到的,参考视频帧303是转码服务器参考参考视频帧302进行编码得到的。
原始视频流中的视频帧类型为参考视频帧的视频帧,经过第一转码服务区或第二转码服务
器转码后,在第一转码流或第二转码流中的视频帧类型仍然为参考视频帧。由于第一转码
服务器或第二转码服务器是依次对原始视频流中的各视频帧进行转码,因此,得到的第一
转码流或第二转码流中各视频帧的序列是不变的。
频帧B2。原始视频流经过转码后,第一转码流中两个关键视频帧之间的参考视频帧数量与
在原始视频流中这两个关键视频帧之间的参考视频帧数量相同。例如原始视频流的关键视
频帧A1与关键视频帧A2之间的参考视频帧数量和关键视频帧B1与关键视频帧A2之间的参
考视频帧数量相同。
原始视频流的起始时间戳,则第一转码服务器根据“原始时间戳‑10000=转码后的时间戳”
确定各个视频帧转码后的时间戳依次为:0(毫秒)、100、200、300、400、500、600、700……。
转码,如图8所示,第二转码服务器根据“原始时间戳‑10000=转码后的时间戳”确定各个视
频帧转码后的时间戳依次为:600(毫秒)、700、800、900……。
流中的视频帧时,视频帧类型保持一致,使得通道管理服务器可以更加便捷地比较第一转
码流与第二转码流的时间戳是否对齐。
904,其中:
发送携带基准时间戳和末尾时间戳的转码指令至第二转码服务器;转码指令用于指示第二
转码服务器从原始视频流的末尾时间戳起进行切片转码,得到第二转码流。
目标关键视频帧;将查找到的目标关键视频帧的时间戳与即将输出的关键视频帧的时间戳
进行比对;当目标关键视频帧的时间戳与即将输出的关键视频帧的时间戳相同时,确定第
一转码流与第二转码流的时间戳对齐。
码为第二转码流中的视频帧时,视频帧类型保持一致。
第二转码流。
于确定的时间戳对原始视频流进行转码,得到第二转码流。
用于从原始视频流的末尾时间戳起,按照基准时间戳对原始视频流进行切片转码,得到具
有基于基准时间戳确定的时间戳的第二转码流。
码为第二转码流中的视频帧时,视频帧类型保持一致。
照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺
序限制,这些步骤可以以其它的顺序执行。而且,图2、5和7中的至少一部分步骤可以包括多
个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以
在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其
它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
第二转码服务器140和内容分发网络服务器150,其中:
总线连接的处理器、存储器、网络接口。其中,存储器包括非易失性存储介质和内存储器。该
计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序
被处理器执行时,可使得处理器实现视频流转码迁移方法。该内存储器中也可储存有计算
机程序,该计算机程序被处理器执行时,可使得处理器执行视频流转码迁移方法。
备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
组成该视频流转码迁移装置的各个程序模块,比如,图9所示的基准时间戳查询模块901、基
准时间戳发送模块902、转码流拉取模块903和转码流输出模块904。比如,图10所示的转码
指令接收模块1001、转码模块1002和第二转码流发送模块1003。各个程序模块构成的计算
机程序使得处理器执行本说明书中描述的本申请各个实施例的视频流转码迁移方法中的
步骤。
间戳。计算机设备可通过基准时间戳发送模块902执行发送基准时间戳至第二转码服务器,
使得第二转码服务器基于基准时间戳对原始视频流进行转码得到第二转码流。计算机设备
可通过转码流拉取模块903执行拉取第二转码流,并保持从第一转码服务器拉取第一转码
流;第二转码流具有基于基准时间戳确定的时间戳。计算机设备可通过转码流输出模块904
执行保持输出第一转码流,直到监测到第一转码流与第二转码流的时间戳对齐时,将输出
的第一转码流切换为第二转码流。
码为第一转码流的基准时间戳。计算机设备可以通过转码模块1002执行根据转码指令对原
始视频流进行转码得到第二转码流;第二转码流具有基于基准时间戳确定的时间戳。计算
机设备可以通过第二转码流发送模块1003执行发送第二转码流至通道管理服务器,使得通
道管理服务器在监测到第一转码流与第二转码流的时间戳对齐时,将输出的第一转码流切
换为第二转码流。
此处视频流转码迁移方法的步骤可以是上述各个实施例的视频流转码迁移方法中的步骤。
可以是上述各个实施例的视频流转码迁移方法中的步骤。
存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供
的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性
和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编
程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器
(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM
(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM
(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直
接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
盾,都应当认为是本说明书记载的范围。
来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保
护范围。因此,本申请专利的保护范围应以所附权利要求为准。