视频流的时间戳的处理方法和装置制造方法及图纸

技术编号:14827230 阅读:102 留言:0更新日期:2017-03-16 14:13
本发明专利技术公开了一种视频流的时间戳的处理方法和装置。其中,该方法包括:判断视频流的当前数据帧的时间戳是否发生跳变,其中,当前数据帧包括当前音频帧和当前视频帧;在视频流的当前数据帧的时间戳发生跳变的情况下,获取当前数据帧的时间戳的跳变值;根据当前数据帧的时间戳的跳变值确定第一时间戳跳变值;以及利用第一时间戳跳变值对视频流中的当前数据帧之后的数据帧的时间戳进行处理。本发明专利技术解决了相关技术采用锁相环技术处理视频流的时间戳跳变,将会导致硬件性能损耗较大的技术问题。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体而言,涉及一种视频流的时间戳的处理方法和装置
技术介绍
在视频直播编码、转码系统中,会因为种种原因产生音视频的时间戳的跳变情况,如果对其处理有细微偏差,随着时间的累积则会产生累积时间戳偏差,引起音视频不同步、卡顿,或者引起播放端解码缓冲区上溢或下溢。对IP流输入的直播转码系统,对时间戳进行处理的最好方式便是保持输入源端的时间戳,对一个音视频帧输入时间戳保持不变,转码后继续输出该音视频帧的时间戳。在出现时间戳跳变的情况下,相关技术一般采用的技术方案是采用锁相环技术对输入时间戳进行时钟跟踪,恢复出源端时钟,再用该时钟重新标记输出音视频的时间戳。但是,该技术方案实现难度较大,硬件性能的损耗也较大,同时要求输入流没有网络抖动,必能使用所有网络流。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种视频流的时间戳的处理方法和装置,以至少解决相关技术采用锁相环技术处理视频流的时间戳跳变,将会导致硬件性能损耗较大的技术问题。根据本专利技术实施例的一个方面,提供了一种视频流的时间戳的处理方法,包括:判断视频流的当前数据帧的时间戳是否发生跳变,其中,当前数据帧包括当前音频帧和当前视频帧;在视频流的当前数据帧的时间戳发生跳变的情况下,获取当前数据帧的时间戳的跳变值;根据当前数据帧的时间戳的跳变值确定第一时间戳跳变值;以及利用第一时间戳跳变值对视频流中的当前数据帧之后的数据帧的时间戳进行处理。根据本专利技术实施例的另一方面,还提供了一种视频流的时间戳的处理装置,包括:第一判断单元,用于判断视频流的当前数据帧的时间戳是否发生跳变,其中,当前数据帧包括当前音频帧和当前视频帧;获取单元,用于在视频流的当前数据帧的时间戳发生跳变的情况下,获取当前数据帧的时间戳的跳变值;确定单元,用于根据当前数据帧的时间戳的跳变值确定第一时间戳跳变值;以及处理单元,用于利用第一时间戳跳变值对视频流中的当前数据帧之后的数据帧的时间戳进行处理。在本专利技术实施例中,通过在确定视频流的当前数据帧的时间戳发生跳变的情况下,获取当前数据帧的时间戳的跳变值,并根据当前数据帧的时间戳的跳变值确定第一时间戳跳变值,利用该第一时间戳跳变值对视频流中的当前数据帧之后的数据帧的时间戳进行处理,达到了无需损耗硬件性能亦能实现对视频流中的数据帧的时间戳的跳变进行处理的目的,进而解决了相关技术采用锁相环技术处理视频流的时间戳跳变,将会导致硬件性能损耗较大的技术问题,从而实现了在平滑视频流的数据帧的时间戳跳变的基础上减少硬件性能的损耗的技术效果。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的视频流的时间戳的处理方法的硬件环境的示意图;图2是根据本专利技术实施例的一种可选的视频流的时间戳的处理方法的流程图;图3是根据本专利技术实施例的正常时间戳翻转跳变的示意图;图4是根据本专利技术实施例的视频流中音频的时间戳发生跳变的示意图;图5是根据本专利技术实施例的视频流因丢包、断流、解码失败导致的时间戳跳变的示意图;图6是根据本专利技术实施例的源端非正常时间戳跳变的示意图;图7是根据本专利技术优选实施例的直播视频流中pts跳变平滑处理流程的示意图;图8是根据本专利技术实施例的一种可选的视频流的时间戳的处理装置的示意图;图9是根据本专利技术实施例的另一种可选的视频流的时间戳的处理装置的示意图;图10是根据本专利技术实施例的另一种可选的视频流的时间戳的处理装置的示意图;图11是根据本专利技术实施例的另一种可选的视频流的时间戳的处理装置的示意图;图12是根据本专利技术实施例的另一种可选的视频流的时间戳的处理装置的示意图;图13是根据本专利技术实施例的另一种可选的视频流的时间戳的处理装置的示意图;图14是根据本专利技术实施例的另一种可选的视频流的时间戳的处理装置的示意图;以及图15是根据本专利技术实施例的一种终端的结构框图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。首先,在对本专利技术实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:时间戳:通常是一个字符序列,唯一地标识某一刻的时间。实施例1根据本专利技术实施例,提供了一种视频流的时间戳的处理方法的方法实施例。可选地,在本实施例中,上述视频流的时间戳的处理方法可以应用于如图1所示的由服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本专利技术实施例的视频流的时间戳的处理方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本专利技术实施例的视频流的时间戳的处理方法也可以是由安装在其上的客户端来执行。图2是根据本专利技术实施例的一种可选的视频流的时间戳的处理方法的流程图,如图2所示,该方法可以包括以下步骤:步骤S202,判断视频流的当前数据帧的时间戳是否发生跳变,其中,当前数据帧包括当前音频帧和当前视频帧;步骤S204,在视频流的当前数据帧的时间戳发生跳变的情况下,获取当前数据帧的时间戳的跳变值;步骤S206,根据当前数据帧的时间戳的跳变值确定第一时间戳跳变值;步骤S208,利用第一时间戳跳变值对视频流中的当前数据帧之后的数据帧的时间戳进行处理。通过上述步骤S202至步骤S208,通过在确定视频流的当前数据帧的时间戳发生跳变的情况下,获取当前数据帧的时间戳的跳变值,并根据当前数据帧的时间戳的跳变值确定第一时间戳跳变值,利用该第一时间戳跳变值对视频流中的当前数据帧之后的数据帧的时间戳进行处理,达到了无需损耗硬件性能亦能实现对视频流中的数据帧的时间戳的跳变进行处理的目的,进而解决了相关技术采用锁相环技术处理视频流的时间戳跳变,将会导致硬件性能损耗较大的技术问题,从而实现了在平滑视频流的数据帧的时间戳跳变的基础上减少硬件性能的损耗的技术效果。在步骤S202提供的技术方案中,本专利技术实施例中的视频流可以是直播视频流,需要说明的是,本专利技术实施例中的视频流可以是网页上直播的视频流,也可以是客户端直播的视频流,还可以是电视终端直播的视频流。视频流可以包括多个数据帧,每个数本文档来自技高网
...
视频流的时间戳的处理方法和装置

【技术保护点】
一种视频流的时间戳的处理方法,其特征在于,包括:判断视频流的当前数据帧的时间戳是否发生跳变,其中,所述当前数据帧包括当前音频帧和当前视频帧;在所述视频流的所述当前数据帧的时间戳发生跳变的情况下,获取所述当前数据帧的时间戳的跳变值;根据所述当前数据帧的时间戳的跳变值确定第一时间戳跳变值;以及利用所述第一时间戳跳变值对所述视频流中的所述当前数据帧之后的数据帧的时间戳进行处理。

【技术特征摘要】
1.一种视频流的时间戳的处理方法,其特征在于,包括:判断视频流的当前数据帧的时间戳是否发生跳变,其中,所述当前数据帧包括当前音频帧和当前视频帧;在所述视频流的所述当前数据帧的时间戳发生跳变的情况下,获取所述当前数据帧的时间戳的跳变值;根据所述当前数据帧的时间戳的跳变值确定第一时间戳跳变值;以及利用所述第一时间戳跳变值对所述视频流中的所述当前数据帧之后的数据帧的时间戳进行处理。2.根据权利要求1所述的方法,其特征在于,所述根据所述当前数据帧的时间戳的跳变值确定第一时间戳跳变值包括:在所述当前音频帧的时间戳发生跳变且所述当前视频帧的时间戳未发生跳变的情况下,将所述当前音频帧的时间戳的跳变值确定为所述第一时间戳跳变值;在所述当前音频帧的时间戳未发生跳变且所述当前视频帧的时间戳发生跳变的情况下,将所述当前视频帧的时间戳的跳变值确定为所述第一时间戳跳变值;在所述当前音频帧的时间戳与所述当前视频帧的时间戳均发生跳变的情况下,从所述当前音频帧的时间戳的跳变值与所述当前视频帧的时间戳的跳变值中选择较小的一个确定为所述第一时间戳跳变值。3.根据权利要求2所述的方法,其特征在于,所述在所述当前音频帧的时间戳与所述当前视频帧的时间戳均发生跳变的情况下,从所述当前音频帧的时间戳的跳变值与所述当前视频帧的时间戳的跳变值中选择较小的一个确定为所述第一时间戳跳变值包括:比较所述当前音频帧的时间戳的跳变值与所述当前视频帧的时间戳的跳变值;在所述当前音频帧的时间戳的跳变值小于所述当前视频帧的时间戳的跳变值的情况下,将所述当前音频帧的时间戳的跳变值确定为所述第一时间戳跳变值;在所述当前视频帧的时间戳的跳变值小于所述当前音频帧的时间戳的跳变值的情况下,将所述当前视频帧的时间戳的跳变值确定为所述第一时间戳跳变值。4.根据权利要求1所述的方法,其特征在于,在所述视频流的所述当前数据帧的时间戳发生跳变的情况下,在所述获取所述当前数据帧的时间戳的跳变值之后,所述方法还包括:判断所述当前数据帧的时间戳的跳变值在预定时间内是否发生变化;所述根据所述当前数据帧的时间戳的跳变值确定第一时间戳跳变值包括:在所述当前数据帧的时间戳的跳变值在所述预定时间内未发生变化的情况下,根据所述当前数据帧的时间戳的跳变值确定所述第一时间戳跳变值。5.根据权利要求1所述的方法,其特征在于,所述判断视频流的当前数据帧的时间戳是否发生跳变包括:在出现以下情况中的至少之一时,确定所述视频流的所述当前数据帧的时间戳发生跳变:所述当前音频帧的时间戳小于上一个音频帧的时间戳;所述当前视频帧的时间戳小于上一个视频帧的时间戳;所述当前音频帧的时间戳比所述上一个音频帧的时间戳大于第一预定阈值;所述当前视频帧的时间戳比所述上一个视频帧的时间戳大于第二预定阈值。6.根据权利要求1所述的方法,其特征在于,在所述视频流的所述当前数据帧的时间戳发生跳变的情况下,所述获取所述当前数据帧的时间戳的跳变值包括:在所述当前音频帧的时间戳发生跳变且所述当前视频帧的时间戳未发生跳变的情况下,将所述当前音频帧的时间戳与上一个音频帧的时间戳的差确定为所述当前音频帧的时间戳的跳变值;在所述当前音频帧的时间戳未发生跳变且所述当前视频帧的时间戳发生跳变的情况下,将所述当前视频帧的时间戳与上一个视频帧的时间戳的差确定为所述当前视频帧的时间戳的跳变值;在所述当前音频帧的时间戳与所述当前视频帧的时间戳均发生跳变的情况下,将所述当前音频帧的时间戳与上一个音频帧的时间戳的差确定为所述当前音频帧的时间戳的跳变值,并将所述当前视频帧的时间戳与上一个视频帧的时间戳的差确定为所述当前视频帧的时间戳的跳变值。7.根据权利要求1所述的方法,其特征在于,所述利用所述第一时间戳跳变值对所述视频流中的所述当前数据帧之后的数据帧的时间戳进行处理包括:将所述视频流中的所述当前音频帧之后的下一个音频帧的时间戳减去所述第一时间戳跳变值;将所述视频流中的所述当前视频帧之后的下一个视频帧的时间戳减去所述第一时间戳跳变值,其中...

【专利技术属性】
技术研发人员:张秀泉
申请(专利权)人:腾讯科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1