视频数据的处理方法和装置制造方法及图纸

技术编号:8863808 阅读:171 留言:0更新日期:2013-06-29 00:55
本发明专利技术公开一种视频数据的处理方法和装置,视频数据的处理方法包括:调用预设的解码线程,对当前视频帧数据进行解码,并将解码后的视频帧数据放入预设的缓冲队列中;调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据,并根据所述视频帧数据的大小同步播放对应的音频数据。本发明专利技术还公开一种视频数据的处理装置。采用本发明专利技术实施例视频数据的处理方法和装置,可解决播放时音视频不同步的问题;后退的时候,不会出现直接Seek所带来的定位不准确,造成回退的不准确问题。

【技术实现步骤摘要】

本专利技术属于视频处理领域,具体涉及一种视频数据的处理方法和装置
技术介绍
在当前视频播放技术中,用户进行本地视频播放时,先需要对视频进行解码,而视频的解码包括视频图像解码和音频解码。因为二者分别解码,往往会出现音频的解码速度与视频解码速度并不一致的现象;现有的播放技术为使得视频图像解码与音频解码尽量同步,采取以音频解码速度为准的方式。但这种解码方式,可能会出现在音频已解码播放了1.5秒的内容时,而视频才解码了 I秒的内容,这时候视频解码速度就跟不上播放速度,就是音视频不同步了。目前针对音视频不同步的方法大多是提高视频解码速度,以使得视频解码速度跟上音频解码速度。但视频解码速度会依赖播放器的硬件配置,针对硬件配置不高的播放器则无法提高视频解码速度以获得音视频同步的效果。这种情况下急需一种方案能够让硬件配置较低的播放器能够完成音视频同步。
技术实现思路
本专利技术所要解决的技术问题是提供一种能够让硬件配置较低的播放器完成音视频同步的视频数据的处理方法和装置。为解决上述技术问题,本专利技术提供一种视频数据的处理方法,包括:调用预设的解码线程,对当前视频帧数据进行解码,并将解码后的视频帧数据放入预设的缓冲队列中;调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据,并根据所述视频帧数据的大小同步播放对应的音频数据。在本专利技术另一实施例中,所述缓冲队列包括第一缓冲队列和第二缓冲队列;所述第一缓冲队列用于缓冲已完成播放的视频帧数据,所述第二缓冲队列用于缓冲等待播放的视频帧数据;所述缓冲队列中的视频帧数据为按照视频播放顺序排列好的视频帧数据。在本专利技术另一实施例中,所述调用预设的解码线程,对当前视频帧数据进行解码,并将解码后的视频帧数据放入预设的缓冲队列中的步骤包括:监测所述第二缓冲队列中视频帧数据的大小;当所述第二缓冲队列中视频帧数据小于预设的阈值时,则调用预设的解码线程对等待播放的视频帧数据进行解密,并将解密后的视频帧数据放入所述第二缓冲队列。在本专利技术另一实施例中,所述调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据的步骤包括:若当前播放的视频帧数据为所述第二缓冲队列中队尾的视频帧数据,则停止播放所述第二缓冲队列中的视频帧数据;检测所述第二缓冲队列中视频帧数据的大小是否小于预设的阈值,并当检测结果为否时,调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据。在本专利技术另一实施例中,还包括:接收视频播放后退指令,从所述第一缓冲队列往队首方向提取视频帧数据;若提取到所述第一缓冲队列中队首的视频帧数据,则调用解码器从所述队首位置往前解码预设大小的视频帧数据,并将所述解码后的视频帧数据按照视频播放顺序放入所述第一缓冲队列,形成所述第一缓冲队列新的队首的视频帧数据,执行所述从所述第一缓冲队列往队首方向提取视频帧数据的步骤。本专利技术还提供了一种视频数据处理装置,包括:解码线程处理模块,用于调用预设的解码线程,对当前视频帧数据进行解码,并将解码后的视频帧数据放入预设的缓冲队列中;播放线程处理模块,用于调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据,并根据所述视频帧数据的大小同步播放对应的音频数据。在本专利技术另一实施例中,所述缓冲队列包括第一缓冲队列和第二缓冲队列;所述第一缓冲队列用于缓冲已完成播放的视频帧数据,所述第二缓冲队列用于缓冲等待播放的视频帧数据;所述缓冲队列中的视频帧数据为按照视频播放顺序排列好的视频帧数据。在本专利技术另一实施例中,所述解码线程处理模块还包括:检测模块,用于监测所述第二缓冲队列中视频帧数据的大小;解密模块,用于当所述第二缓冲队列中视频帧数据的大小小于预设的阈值时,调用预设的解码线程对等待播放的视频帧数据进行解密,并将解密后的视频帧数据放入所述第二缓冲队列。在本专利技术另一实施例中,所述播放线程处理模块还包括:第一处理子模块,用于当前播放的视频帧数据为所述第二缓冲队列中队尾的视频帧数据时,则停止播放所述第二缓冲队列中的视频帧数据;第二处理子模块,用于检测所述第二缓冲队列中视频帧数据的大小大于等于预设的阈值时,调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据。在本专利技术另一实施例中,所述播放线程处理模块还用于:接收视频播放后退指令,从所述第一缓冲队列往队首方向提取视频帧数据;若提取到所述第一缓冲队列中队首的视频帧数据,则从所述队首位置往前解码预设大小的视频帧数据,并将所述解码后的视频帧数据按照视频播放顺序放入所述第一缓冲队列,形成所述第一缓冲队列新的队首的视频帧数据,从所述第一缓冲队列往队首方向提取视频帧数据。本专利技术所达到的技术效果是:采用本专利技术实施例视频数据的处理方法和装置,会在解码速度跟不上播放速度时候暂停播放,等待解码缓冲,缓冲完成后继续播放,解决音视频不同步的问题。后退的时候,由于每一帧都是通过解码一段时间的视频帧,不会出现直接Seek所带来的定位不准确,造成回退的不准确问题。附图说明图1为本专利技术一种视频数据的处理方法的一实施例的流程图;图2为本专利技术一种视频数据处理装置的一实施例的结构示意图。具体实施例方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本专利技术作进一步详细的说明。参照图1为本专利技术一种视频数据的处理方法的一实施例的流程图,在本专利技术实施例中,第一缓冲队列用于缓冲已完成播放的视频帧数据,第二缓冲队列用于缓冲等待播放的视频帧数据;所述缓冲队列中的视频帧数据为按照视频播放顺序排列好的视频帧数据。步骤S101、调用预设的解码线程,对当前视频帧数据进行解码,并将解码后的视频帧数据放入预设的缓冲队列中;在本步骤中,在解码视频数据时还可以监测所述第二缓冲队列中视频帧数据的大小;当所述第二缓冲队列中视频帧数据小于预设的阈值时,则调用预设的解码线程对等待播放的视频帧数据进行解密,并将解密后的视频帧数据放入所述第二缓冲队列。在本专利技术实施例中,需要预先开辟一个至少能够存储2N个视频帧的内存区,作为缓存区给缓冲队列使用。缓冲队列的定义,队首:缓冲队列里面视频帧时间戳最小的视频帧;队尾:视频帧时间戳最大的视频帧;当前视频帧:下一次播放取帧的位置;正常播放时,当前视频帧可以位于队列的中间,保证当前视频帧前为第一缓冲队列,当前视频帧后为第二缓冲队列。在正式播放前,先解码一段视频,把第一缓冲队列填满;播放开始后,播放器每取走一帧视频,当前视频帧加一,指向下一次取帧的位置;然后继续解码一个视频帧向第二缓冲队列填写,填写的位置就是队尾,队尾和队首加一;这样取一帧,写一帧。步骤S102、调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据,并根据所述视频帧数据的大小同步播放对应的音频数据。在步骤S102中若当前播放的视频帧数据为所述第二缓冲队列中队尾的视频帧数据,则停止播放所述第二缓冲队列中的视频帧数据;所述第二缓冲队列中队尾的视频帧数据即是时间戳最大的视频帧数据。当所述第二缓冲队列中视频帧数据大于等于预设的阈值时,调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据。如果第一缓冲队列长度是N,则当播放视频到第N+1帧时意味着,已播放完的视频帧达到N+1帧,未播放帧有N巾贞,为了保持缓存区空间够用,则可以将已播放完帧中离当前播放巾贞最远的一巾贞图片删除。当需要进行后退播放时,采本文档来自技高网...

【技术保护点】
一种视频数据的处理方法,其特征在于,包括:调用预设的解码线程,对当前视频帧数据进行解码,并将解码后的视频帧数据放入预设的缓冲队列中;调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据,并根据所述视频帧数据的大小同步播放对应的音频数据。

【技术特征摘要】
1.一种视频数据的处理方法,其特征在于,包括: 调用预设的解码线程,对当前视频帧数据进行解码,并将解码后的视频帧数据放入预设的缓冲队列中; 调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据,并根据所述视频帧数据的大小同步播放对应的音频数据。2.根据权利要求1所述的方法,其特征在于,所述缓冲队列包括第一缓冲队列和第二缓冲队列; 所述第一缓冲队列用于缓冲已完成播放的视频帧数据,所述第二缓冲队列用于缓冲等待播放的视频帧数据; 所述缓冲队列中的视频帧数据为按照视频播放顺序排列好的视频帧数据。3.根据权利要求2所述的方法,其特征在于,所述调用预设的解码线程,对当前视频帧数据进行解码,并将解码后的视频帧数据放入预设的缓冲队列中的步骤包括: 监测所述第二缓冲队列中视频帧数据的大小; 当所述第二缓冲队列中视频帧数据小于预设的阈值时,则调用预设的解码线程对等待播放的视频帧数据进行解密,并将解密后的视频巾贞数据放入所述第二缓冲队列。4.根据权利要求3所述的方法,其特征在于,所述调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据的步骤包括: 若当前播放的视频帧数据为所述第二缓冲队列中队尾的视频帧数据,则停止播放所述第二缓冲队列中的视频帧数据; 当所述第二缓冲队列中视频帧数据大于等于预设的阈值时,调用预设的视频播放线程,播放所述缓冲队列中的视频帧数据。5.根据权利要求2-4任一项所述的方法,其特征在于,还包括: 接收视频播放后退指令,从所述第一缓冲队列往队首方向提取视频帧数据; 若提取到所述第一缓冲队列中队首的视频帧数据,则调用解码器从所述队首位置往前解码预设大小的视频帧数据,并将所述解码后的视频帧数据按照视频播放顺序放入所述第一缓冲队列,形成所述第一缓冲队列新的队首的视频帧数据,执行所述从所述第一缓冲队列往队首方向提取视频帧数据的步骤...

【专利技术属性】
技术研发人员:林家恒
申请(专利权)人:深圳万兴信息科技股份有限公司
类型:发明
国别省市:

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

1