一种处理视频流的方法和装置制造方法及图纸

技术编号:20279116 阅读:36 留言:0更新日期:2019-02-02 06:10
本发明专利技术实施例提供一种处理视频流的方法和装置,涉及数据处理领域,能够有效减小处理视频流的过程中产生的误差。该方法包括:录像设备读取缓存队列中的第一视频帧,该缓存队列用于存储源视频流中待处理的视频帧,若该第一视频帧为关键帧,则录像设备确定待写入至第一文件的关键帧的数量,在待写入至第一文件的关键帧的数量等于1,并且在第二视频帧为关键帧的情况下,录像设备将第一视频帧写入第一文件,并且该录像设备停止向第一文件中写入视频帧,其中,第一文件包括目标视频流,该目标视频流为源视频流中的一段视频流,第二视频帧为第一视频帧的下一帧。

【技术实现步骤摘要】
一种处理视频流的方法和装置
本专利技术实施例涉及数据处理领域,尤其涉及一种处理视频流的方法和装置。
技术介绍
随着多媒体技术的快速发展,视频数据(以下均可称为视频流)的内容越来越丰富,视频流的数据量也越来越大,为了快速地从海量的视频流中获取一些感兴趣的信息,通常,可以在录取视频的过程中,处理获取的视频流,即将视频流切分为多个固定时长的视频流片段(可以称为子视频流),从而可以通过获取子视频流中感兴趣的信息,获取整个视频流中感兴趣的信息。目前,在处理视频流的过程中,可以采用累加视频帧(即视频流的视频帧)的显示时间戳(presentationtimestamp,PTS)的方法将视频流(可以称为源视频流)切分为多个固定时长(该固定时长为预设值)的子视频流,并将该多个子视频流分别写入多个文件中。具体的,以一个子视频流(以下称为目标视频流)为例,源视频流的每一个视频帧中均携带一个PTS,当录像设备读取源视频流的一个视频帧(以下称为第一视频帧)时,该录像设备可以将该第一视频帧的PTS值与保存该目标视频流的文件(以下称为第一文件)中已写入的视频流的首帧的PTS相减,得到PTS差值,在该PTS差值大于或者等于上述固定时长,并且该第一视频帧的下一帧为关键帧的情况下,该录像设备切分源视频流,即该录像设备将该第一视频帧写入第一文件后,停止向第一文件中写入视频帧。然而,在上述方法中,由于视频帧的PTS可能存在误差,因此,可能会导致切分视频流后,得到的子视频流的时长与上述预设的固定时长不一致,即在处理视频流的过程中可能产生较大的误差。
技术实现思路
本申请提供一种处理视频流的方法和装置,能够有效减小处理视频流的过程中产生的误差。为达到上述目的,本申请采用如下技术方案:第一方面,本申请提供一种处理视频流的方法,该方法可以包括:录像设备读取用于存储源视频流中待处理的视频帧的缓存队列中的第一视频帧;若该第一视频帧为关键帧,则录像设备确定待写入至第一文件的关键帧的数量;在待写入至第一文件的关键帧的数量等于1,并且在第二视频帧为关键帧的情况下,录像设备将第一视频帧写入第一文件,并且录像设备停止向第一文件中写入第二视频帧,其中,第一文件包括目标视频流,该目标视频流为源视频流中的一段视频流,第二视频帧为第一视频帧的下一帧。本申请提供的处理视频流的方法,由于录像设备在确定第一视频帧为关键帧的情况下,可以确定待写入至第一文件的关键帧的数量,然后根据关键帧的数量确定是否停止向第一文件中写入视频帧,得到第一文件,能够在一定程度上保证第一文件中目标视频流的时长与预设的固定时长相等,因此能够有效减小处理视频流的过程中产生的误差。在第一方面的第一种可选的实现方式中,上述录像设备确定待写入至第一文件的关键帧的数量的方法可以包括:录像设备根据第一视频帧的显示时间戳PTS值、第三视频帧的PTS值,以及目标视频流的时长,确定待写入至第一文件的视频流的时长,第三视频帧为第一文件中已写入的视频流的首帧;然后录像设备根据待写入至第一文件的视频流的时长、源视频流的画面组的值,以及源视频流的帧率,确定待写入至第一文件的关键帧的数量。在第一方面的第二种可选的实现方式中,上述录像设备根据待写入至第一文件的视频流的时长、源视频流的画面组的值,以及源视频流的帧率,确定待写入至第一文件的关键帧的数量的方法可以包括:录像设备根据待写入至第一文件的视频流的时长、源视频流的画面组的值,以及源视频流的帧率,采用公式将In的值四舍五入后确定为待写入至第一文件的关键帧的数量,其中,T为待写入至第一文件的视频流的时长,GOP为源视频流的画面组的值,FrameRate为源视频流的帧率。本申请中,录像设备按照上述方法确定待写入至第一文件的关键帧的数量,并且根据待写入至第一文件的关键帧的数量可以准确地确定,在何种情况下可以停止向第一文件中写入视频帧,如此能够保证第一文件中目标视频流的时长与预设的固定时长相等。在第一方面的第三种可选的实现方式中,在上述录像设备读取第一视频帧之后,本申请提供的处理视频流的方法还可以包括:录像设备确定第一视频帧是否为关键帧。本申请中,录像设备从该录像设备的缓冲器中读取第一视频帧之后,该录像设备确定该第一视频帧是否为关键帧,如此录像设备可以根据该第一视频帧的特性,确定是否需要计算待写入至第一文件的关键帧的数量。在录像设备确定第一视频帧为关键帧的情况下,该录像设备确定待写入至第一文件的关键帧的数量,在该录像设备确定第一视频帧为非关键帧的情况下,该录像设备直接将第一视频帧写入第一文件,无需确定待写入至第一文件的关键帧的数量,如此可以降低处理视频流的过程中的计算量。在第一方面的第四种可选的实现方式中,在上述录像设备将第一视频帧写入第一文件之后,本申请提供的处理视频流的方法还可以包括:录像设备创建第二文件,并且读取第二视频帧,以及将第二视频帧写入第二文件。本申请中,录像设备停止向第一文件中写入第二视频帧之后,该录上设备可以将第二视频帧写入新创建的第二文件中。可以理解的是,录像设备停止向第一文件写入视频帧之后,若该录像设备的缓存队列中还存在视频流,那么该录像设备继续创建新的文件,并继续读取视频帧,然后向创建的新文件写入视频帧,如此可以实现将源视频流分段保存为多个视频流片段(多个文件中存储多个视频流片段)。在第一方面的第五种可选的实现方式中,在录像设备确定待写入至第一文件的关键帧的数量等于1,并且在第二视频帧为非关键帧的情况下,录像设备将第一视频帧写入第一文件,然后录像设备读取第二视频帧,并且录像设备将第二视频帧写入第一文件。本申请中,录像设备确定待写入至第一文件的关键帧的数量等于1,说明录像设备当前读取的第一视频帧所在的画面组为待写入至第一文件的最后一个画面组,而第一视频帧的下一帧(即上述的第二视频帧)为非关键帧,说明录像设备还未将当前最后一个画面组的所有视频帧都写入第一文件,因此,该录像设备需继续读取第一视频帧所在的画面组的剩余的视频帧(包括第二视频帧),并将该画面组的剩余的视频帧写入第一文件之后,该录像设备可以停止向第一文件中写入视频帧。在第一方面的第六种可选的实现方式中,在录像设备确定待写入至第一文件的关键帧的数量大于1的情况下,录像设备将第一视频帧写入第一文件;然后录像设备读取第二视频帧,若该第二视频帧为关键帧,则录像设备确定待写入至第一文件的关键帧的数量;在待写入至第一文件的关键帧的数量等于1,并且在第二视频帧的下一帧为关键帧的情况下,录像设备将第二视频帧写入第一文件,并且录像设备停止向第一文件中写入视频帧。本申请中,录像设备确定待写入至第一文件的关键帧的数量大于1,说明在录像设备读取第一视频帧所在的画面组的所有视频帧,并将该画面组的所有视频帧写入第一文件之后,该录像设备还需要继续读取至少一个画面组的视频帧,并将其读取的至少一个画面组的所有视频帧写入第一文件之后,该录像设备可以停止向第一文件中写入视频帧。在第一方面的第七种可选的实现方式中,若上述第一视频帧为目标视频流的首帧,则录像设备直接将该第一视频帧写入第一文件。本申请中,如果录像设备读取的第一视频帧为目标视频流的首帧(即写入第一文件中的第一个视频帧),那么录像设备可以不用确定待写入至第一文件的关键帧的数量,该录像设备本文档来自技高网...

【技术保护点】
1.一种处理视频流的方法,其特征在于,包括:录像设备读取缓存队列中的第一视频帧,所述缓存队列用于存储源视频流中待处理的视频帧;若所述第一视频帧为关键帧,则所述录像设备确定待写入至第一文件的关键帧的数量,所述第一文件包括目标视频流,所述目标视频流为所述源视频流中的一段视频流;在待写入至所述第一文件的关键帧的数量等于1,并且在第二视频帧为关键帧的情况下,所述录像设备将所述第一视频帧写入所述第一文件,并且所述录像设备停止向所述第一文件中写入所述第二视频帧,所述第二视频帧为所述第一视频帧的下一帧。

【技术特征摘要】
1.一种处理视频流的方法,其特征在于,包括:录像设备读取缓存队列中的第一视频帧,所述缓存队列用于存储源视频流中待处理的视频帧;若所述第一视频帧为关键帧,则所述录像设备确定待写入至第一文件的关键帧的数量,所述第一文件包括目标视频流,所述目标视频流为所述源视频流中的一段视频流;在待写入至所述第一文件的关键帧的数量等于1,并且在第二视频帧为关键帧的情况下,所述录像设备将所述第一视频帧写入所述第一文件,并且所述录像设备停止向所述第一文件中写入所述第二视频帧,所述第二视频帧为所述第一视频帧的下一帧。2.根据权利要求1所述的方法,其特征在于,所述录像设备确定待写入至第一文件的关键帧的数量,包括:所述录像设备根据所述第一视频帧的显示时间戳PTS值、第三视频帧的PTS值,以及所述目标视频流的时长,确定待写入至所述第一文件的视频流的时长,所述第三视频帧为所述第一文件中已写入的视频流的首帧;所述录像设备根据待写入至所述第一文件的视频流的时长、所述源视频流的画面组的值,以及所述源视频流的帧率,确定待写入至所述第一文件的关键帧的数量。3.根据权利要求2所述的方法,其特征在于,所述录像设备根据待写入至所述第一文件的视频流的时长、所述源视频流的画面组的值,以及所述源视频流的帧率,确定待写入至所述第一文件的关键帧的数量,包括:所述录像设备根据待写入至所述第一文件的视频流的时长、所述源视频流的画面组的值,以及所述源视频流的帧率,采用公式将In的值四舍五入后确定为待写入至所述第一文件的关键帧的数量,其中,T为待写入至所述第一文件的视频流的时长,GOP为所述源视频流的画面组的值,FrameRate为所述源视频流的帧率。4.根据权利要求1至3任意一项所述的方法,在所述录像设备读取第一视频帧之后,所述方法还包括:所述录像设备确定所述第一视频帧是否为关键帧。5.根据权利要求1至4任意一项所述的方法,其特征在于,在所述录像设备将所述第一视频帧写入所述第一文件之后,所述方法还包括:所述录像设备创建第二文件;所述录像设备读取所述第二视频帧;所述录像设备将所述第二视频帧写入所述第二文件。6.根据权利要求1至4任意一项所述的方法,其特征在于,在待写入至所述第一文件的关键帧的数量等于1,并且在所述第二视频帧为非关键帧的情况下,所述录像设备将所述第一视频帧写入所述第一文件;所述录像设备读取所述第二视频帧;所述录像设备将所述第二视频帧写入所述第一文件。7.根据权利要求1至4任意一项所述的方法,其特征在于,在待写入至所述第一文件的关键帧的数量大于1的情况下,所述录像设备将所述第一视频帧写入所述第一文件;所述录像设备读取所述第二视频帧;若所述第二视频帧为关键帧,则所述录像设备确定待写入至所述第一文件的关键帧的数量;在待写入至所述第一文件的关键帧的数量等于1,并且在第二视频帧的下一帧为关键帧的情况下,所述录像设备将所述第二视频帧写入所述第一文件,并且所述录像设备停止向所述第一文件中写入视频帧。8.根据权利要求1所述的方法,其特征在于,若所述第一视频帧为所述目标视频流的首帧,则所述录像设备直接将所述第一视频帧写入所述第一文件。9.一种录像设备,其特征在于,包括读取模块、确定模块和写数据模块;所述读取模块,用于读取缓存队列中的第一视频帧,所述缓存队列用于存储源视频流中待处理的视频帧;所述确定模块,用于在所述读取模块读取的所述第一视频帧为关键帧的情况下,确定待写入至第一文件的关键帧的数量,所述第一...

【专利技术属性】
技术研发人员:罗强杨屹陈勰吉沐舟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1