实时转码速率控制方法及装置制造方法及图纸

技术编号:13508289 阅读:38 留言:0更新日期:2016-08-10 19:19
本发明专利技术公开了一种实时转码速率控制方法及装置,包括:按照时间戳的时间进度读取视频帧;判断下一帧视频帧的时间戳是否出现异常;若下一帧视频帧的时间戳出现异常,则按照预设帧读取速率读取下一帧视频帧。本发明专利技术提出的实时转码速率控制方法及装置,能够处理数据读取时时间戳出现异常的情况,从而保证正常的实时转码速率。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种实时转码速率控制方法及装置,包括:按照时间戳的时间进度读取视频帧;判断下一帧视频帧的时间戳是否出现异常;若下一帧视频帧的时间戳出现异常,则按照预设帧读取速率读取下一帧视频帧。本专利技术提出的实时转码速率控制方法及装置,能够处理数据读取时时间戳出现异常的情况,从而保证正常的实时转码速率。【专利说明】实时转码速率控制方法及装置
本专利技术涉及数据处理
,特别是指一种实时转码速率控制方法及装置。
技术介绍
现有的音视频解码技术中,使用显示时间戳PTS(presentat1n time stamp)表示音视频帧在输出时间轴上的位置。实时转码系统,是一种即时对音视频文件进行转码的系统,其可分为三个部分:I)根据当前数据包中的PTS和实时转码系统时间(实时转码系统的本地时间)决定是否处理该数据;2)根据输入数据进行解码,并将输入PTS传给编码模块以用于音视频同步;3)编码模块根据解码数据和PTS进行编码并封装,输出数据包。其中,在进行第I)部分时,在获取音频文件或者视频文件的数据包时,通常依照PTS获取对应帧的数据包。实时转码系统按照PTS顺序依次判断视频帧和音频帧的PTS是否小于当前时间轴上的位置,如果小于则表示当前帧符合转码需求,读取当前数据包并对其进行转码,否则进行等待,直到当前帧的PTS符合条件。现有技术中获取数据包的方式如下:获取到的一系列数据包按PTS为O,I,2,3,4…的顺序排列;根据实时转码系统的行为,随着时间的推移(通过实时转码系统的本地时间的增加来判定时间的变化),依次读取PTS为0,1,2,3,4……的数据包;PTS时间的增加与实时转码系统的本地时间的经过相一致。但是,上述方式无法有效处理以下场景:获取到的一串含有错误时间戳的视频帧的PTS为:O,I,1000,1001,4;此处判定PTS为I的帧后下一视频帧PTS为1000,则依照现有技术,会持续等待,直到实时转码系统的本地时间增加999(同样的,PTS也增加999),才会继续读取上面PTS为1000的视频帧,这样就会出现长时间等待,并且在用户处显示则为视频停止音频继续播放,无法正常观看。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种实时转码速率控制方法及装置,能够处理数据读取时时间戳出现异常的情况,从而保证正常的实时转码速率。基于上述目的本专利技术提供的实时转码速率控制方法,包括:按照时间戳的时间进度读取视频帧;判断下一帧视频帧的时间戳是否出现异常;若下一帧视频帧的时间戳出现异常,则按照预设帧读取速率读取下一帧视频帧。在一些实施方式中,所述判断下一帧视频帧的时间戳是否出现异常的步骤包括:利用所述下一帧视频帧的时间戳减去当前视频帧的时间戳,得到第一时间戳差值;判断所述第一时间戳差值是否大于或等于第一预设时间戳差值;若所述第一时间戳差值大于或等于第一预设时间戳差值,则判定所述下一帧视频帧的时间戳出现异常。在一些实施方式中,所述按照预设帧读取速率读取下一帧视频帧的步骤之后还包括:判断再下一帧视频帧的时间戳是否恢复正常;若再下一帧视频帧的时间戳恢复正常,则按照时间戳的时间进度读取视频帧;若再下一帧视频帧的时间戳继续出现异常,则按照预设帧读取速率读取再下一帧视频帧。在一些实施方式中,所述判断再下一帧视频帧的时间戳是否恢复正常的步骤包括:利用所述下一帧视频帧的时间戳减去所述再下一帧视频帧的时间戳,得到第二时间戳差值;利用所述下一帧视频帧的时间戳减去当前视频帧的时间戳,得到第一时间戳差值;利用所述第一时间戳差值减去所述第二时间戳差值,得到第三时间戳差值;判断所述第三时间戳差值的绝对值是否大于第二预设时间戳差值;若所述第三时间戳差值的绝对值大于第二预设时间戳差值,判定再下一帧视频帧的时间戳继续出现异常;若所述第三时间戳差值的绝对值小于或等于第二预设时间戳差值,判定再下一帧视频帧的时间戳恢复正常。在一些实施方式中,所述的方法还包括:在完成读取的视频帧的解码过程中,依次获取视频帧的时间戳;计算当前视频帧与前一帧视频帧之间的第四时间戳差值;判断所述第四时间戳差值是否大于预设偏移量阈值;若所述第四时间戳差值大于预设偏移量阈值,根据当前视频帧之前的至少两帧视频帧之间的第五时间戳差值,计算得到时间戳偏移量;将当前视频帧的时间戳替换为所述前一帧视频帧的时间戳加上所述时间戳偏移量。本专利技术的另一方面还提供了一种实时转码速率控制装置,包括:按时间戳读取模块,用于按照时间戳的时间进度读取视频帧;异常判断模块,用于判断下一帧视频帧的时间戳是否出现异常;按帧率读取模块,若下一帧视频帧的时间戳出现异常,用于按照预设帧读取速率读取下一帧视频帧。在一些实施方式中,所述异常判断模块,具体用于:利用所述下一帧视频帧的时间戳减去当前视频帧的时间戳,得到第一时间戳差值;判断所述第一时间戳差值是否大于或等于第一预设时间戳差值;若所述第一时间戳差值大于或等于第一预设时间戳差值,则判定所述下一帧视频帧的时间戳出现异常。在一些实施方式中,所述异常判断模块,还用于判断再下一帧视频帧的时间戳是否恢复正常;若再下一帧视频帧的时间戳恢复正常,所述按时间戳读取模块,用于按照时间戳的时间进度读取视频帧;若再下一帧视频帧的时间戳继续出现异常,所述按帧率读取模块,用于按照预设帧读取速率读取再下一帧视频帧。在一些实施方式中,所述异常判断模块,具体用于:利用所述下一帧视频帧的时间戳减去所述再下一帧视频帧的时间戳,得到第二时间戳差值;利用所述下一帧视频帧的时间戳减去当前视频帧的时间戳,得到第一时间戳差值;利用所述第一时间戳差值减去所述第二时间戳差值,得到第三时间戳差值;判断所述第三时间戳差值的绝对值是否大于第二预设时间戳差值;若所述第三时间戳差值的绝对值大于第二预设时间戳差值,判定再下一帧视频帧的时间戳继续出现异常;若所述第三时间戳差值的绝对值小于或等于第二预设时间戳差值,判定再下一帧视频帧的时间戳恢复正常。在一些实施方式中,所述的装置还包括:时间戳获取模块,用于在完成读取的视频帧的解码过程中,依次获取视频帧的时间戳;差值计算模块,用于计算当前视频帧与前一帧视频帧之间的第四时间戳差值;差值判断模块,用于判断所述第四时间戳差值是否大于预设偏移量阈值;偏移量计算模块,若所述第四时间戳差值大于预设偏移量阈值,用于根据当前视频帧之前的至少两帧视频帧之间的第五时间戳差值,计算得到时间戳偏移量;时间戳替换模块,用于将当前视频帧的时间戳替换为所述前一帧视频帧的时间戳加上所述时间戳偏移量。从上面所述可以看出,本专利技术实施例提供的实时转码速率控制方法及装置,在判断是否处理当前数据包的过程中读取视频帧时,若出现异常时间戳的视频帧,则根据所述预设帧读取速率进行读取,从而避免因时间戳异常而引起的无用等待,保证实时转码器可以继续工作,提高读取操作效率,减少资源消耗。此外,还能保证经过实时转码的音视频文件不会因错误的输入流导致故障中断,从而提升了用户体验。【附图说明】图1为本专利技术提供的实时转码速率控制方法的一个实施例的流程示意图;图2为本专利技术提供的实时转码速率控制方法的另一个实施例的流程示意图;图3为本专利技术提供的实时转码速率控制装置实施例的模块结构示意图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加本文档来自技高网
...

【技术保护点】
一种实时转码速率控制方法,其特征在于,包括:按照时间戳的时间进度读取视频帧;判断下一帧视频帧的时间戳是否出现异常;若下一帧视频帧的时间戳出现异常,则按照预设帧读取速率读取下一帧视频帧。

【技术特征摘要】

【专利技术属性】
技术研发人员:吕超魏伟白茂生蔡砚刚
申请(专利权)人:乐视控股北京有限公司乐视云计算有限公司
类型:发明
国别省市:北京;11

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

1