对视频录像数据进行打包的方法及装置技术领域
本发明涉及视频录像数据处理技术,尤其涉及对视频录像数据进行打包的方法及
装置。
背景技术
在视频录像方案中,摄像机采集视频录像数据,录像的视频数据会存储在硬盘中,
由于视频录像数据是连续的,为了便于数据的管理,会进行切分、打包。
现有对视频录像数据进行打包的方案具体包括:录像装置中划分有预存储空间,
将待打包的视频录像数据顺序存入预存储空间,当存满预存储空间时,将预存储空间
中的所有数据打成一个包,存储到硬盘中进行保存;如此,依次完成所有数据的打包。
而后,进行数据提取时,根据提取的数据量从硬盘中获取满足需求的数据包。
目前,预存储空间通常为固定大小,相应地,得到的数据包也为固定大小,例如
为512兆。但某些情况下,需要以其他方式进行打包,例如以自定义大小的数据包容
量进行打包,,这样,便可提取所需容量的数据包。但现有方案只能按照固定大小对视
频录像数据进行打包,而不能根据需要进行灵活打包,无法进一步不满足需求。
发明内容
本发明提供了一种对视频录像数据进行打包的方法,该方法能够依据设定需求对
视频录像数据进行灵活打包。
本发明提供了一种对视频录像数据进行打包的装置,该装置能够依据设定需求对
视频录像数据进行灵活打包。
一种对视频录像数据进行打包的方法,该方法包括:
实时接收当前视频录像数据单元,加入预存储空间中的当前片段,判断加入当前
视频录像数据单元之后的当前片段是否达到片段最大值,如果是,则标注片段标志;
该方法还包括:
确定到达打包时间,根据预存储空间中的片段标志进行切片打包。
一种对视频录像数据进行打包的装置,该装置包括预存储空间、片段判断模块、
片段标注模块和打包模块;
所述片段判断模块,实时接收当前视频录像数据单元,加入预存储空间中的当前
片段,判断加入当前视频录像数据单元之后的当前片段是否达到片段最大值,如果是,
则向所述片段标注模块发送标注指令;
所述片段标注模块,接收来自所述片段判断模块的标注指令,标注片段标志;
所述打包模块,确定到达打包时间,根据预存储空间中的片段标志进行切片打包。
从上述方案可以看出,本发明中,实时接收当前视频录像数据单元,加入预存储空间
中的当前视频录像数据单元,判断加入当前视频录像数据单元之后的当前片段是否达
到片段最大值,如果是,则标注片段标志;并且,确定到达打包时间,检查预存储空
间中是否存在片段标志,如果是,则将片段标志对应的片段进行切片打包。本发明对
存储预存储空间中的视频录像数据进行片段划分,片段容量基于片段最大值进行划分,
满足片段划分要求时进行片段标志的标注,而后根据片段标志进行片段打包。由于片
段最大值可根据需要设定,这样,相对于现有技术中只能按照固定大小对视频录像数
据进行打包的方案,实现了依据设定需求对视频录像数据进行灵活打包,进一步满足
了需求。
附图说明
图1为本发明对视频录像数据进行打包的方法示意性流程图;
图2为本发明对视频录像数据进行打包的方法流程图实例;
图3为本发明对视频录像数据进行打包的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,
对本发明进一步详细说明。
现有技术中,只能按照固定大小对视频录像数据进行打包。为了解决该问题,本
发明对预存储空间中的视频录像数据进行片段划分,片段容量基于片段最大值进
行划分,满足片段划分要求时进行片段标志的标注;由于片段最大值可根据需要
设定,实现了依据设定需求对视频录像数据进行灵活打包,进一步满足了需求。
参见图1,为本发明对视频录像数据进行打包的方法示意性流程图,其包括以下
步骤:
步骤101,实时接收当前视频录像数据单元,加入预存储空间中的当前片段。
摄像机采集视频录像数据,按照视频录像数据单元为单位逐个发送给打包装置,
打包装置将实时接收的当前视频录像数据单元加入存储空间中的当前片段。
视频录像数据单元的划分可根据需要设置,由于I帧在视频成像等后续诸多处理
中起到重要作用,较佳地,本发明以I帧进行划分,每当出现I帧时,划分出一个视
频录像数据单元。当然地,还可以P帧等进行视频录像数据单元划分。
步骤102,判断加入当前视频录像数据单元之后的当前片段是否达到片段最大值,
如果是,则标注片段标志。
如果加入当前视频录像数据单元之后的当前片段没有到达片段最大值,则继续等
待下一视频录像数据单元的加入。
片段的划分方式可根据需要设置,例如,按照大小方式、时间方式、大小与时间
结合的方式,等,下面分别进行说明。
方式一:
按照大小进行打包,相应地,本步骤所述判断加入当前视频录像数据单元之后的
当前片段是否达到片段最大值包括:
计算加入当前视频录像数据单元之后的当前片段的大小,判断当前片段的大小是
否大于或等于切片段大小,如果是,则确定为达到片段最大值;否则,继续等待下一
视频录像数据单元的加入。
预定一个大小,如256M,作为片段最大值,加入当前视频录像数据单元之后的当
前片段的大小大于或等于256M,则进行片段标志的标注。
具体实现时,摄像机采集的视频录像数据可先缓存到缓冲区中,再由缓冲区实时
将视频录像数据单元添加到预存储空间的当前片段中;一般地,缓冲区容量较小,用
于暂时缓冲。相应地,所述计算加入当前视频录像数据单元之后的当前片段的大小包
括:
将当前片段当前写指针的偏移值与缓冲区中已缓存的数据大小进行相加,得到相
加值;
用相加值减去当前片段的开始偏移值,得到当前片段的大小。
偏移值是针对整个预存储空间而言,未写入数据时,写指针的偏移值为0,随着
数据的写入,写指针偏移值逐渐增加。
举例说明。片段最大值为256兆,预存储空间容量为1G,存储了两个片段,第一
片段为256兆,第二片段为当前片段,当前写指针的偏移值为306兆。这里假设缓冲
区大小为20兆,则计算得到的当前片段的大小为306-256+20=70兆,小于256兆,不
进行片段标志的标注;如果刚好等于256兆,则将缓冲区中的数据包含在当前片段中
进行片段标志的标注。
方式二:
按照时间进行打包,相应地,本步骤所述判断加入当前视频录像数据单元之后的
当前片段是否达到片段最大值包括:
计算当前片段已录像的时间,判断当前片段的已录像时间是否大于或等于切片段
时间,如果是,则确定为达到片段最大值;否则,继续等待下一视频录像数据单元的
加入。
举例说明,预定一个时间,如60分钟,时间过了60分钟,则进行片段标志的标
注。
具体实现时,所述计算当前片段已录像的时间可采用如下方式实现:
将当前片段中当前视频录像数据单元的I帧的绝对时间与当前片段第一个I帧的
绝对时间进行相减,将相减值作为当前片段已录像的时间。
基于I帧计算当前片段的时间,为较佳实施方式,当然地,还可基于数据中的P
帧等进行时间计算。
方式三:
大小与时间结合的方式,该方式中,用户可选择大小或时间进行切片。确定是采
用大小方式还是采用时间方式进行切片后,本步骤所述判断加入当前视频录像数据单
元之后的当前片段是否达到片段最大值包括:
如果采用大小方式进行切片,则计算加入当前视频录像数据单元之后的当前片段
的大小,判断当前片段的大小是否大于或等于切片段大小,如果是,则确定为达到片
段最大值;
如果采用时间方式进行切片,则计算当前片段已录像的时间,判断当前片段的已
录像时间是否大于或等于切片段时间,如果是,则确定为达到片段最大值。
步骤103,确定到达打包时间,检查预存储空间中是否存在片段标志,如果是,
则将片段标志对应的片段进行切片打包。
到达打包时间的确定可采用多种方式实现,例如,周期性地确定达到打包时间,
具体地:预先设定周期时间T,定时器启动之后如果到达T,则确定到达打包时间,
进行片段标志的检查,检查预存储空间中是否存在片段标志,如果是,则将片段标志
对应的片段进行切片打包;同时将定时器清零再次启动,以等待下一周期时间的到来。
对于这种方式,步骤101-102片段标志的标注流程由一个线程执行,步骤103的切片
打包流程由另一个线程执行,两者可独立进行。
再如,步骤102中完成标注片段标志,便确定为到达打包时间,进行片段标志的
检查。对于这种方式,步骤101-102片段标志的标注流程由,以及步骤103的切片打
包流程,可以由一个线程完成。
本发明中,实时接收当前视频录像数据单元,加入预存储空间中的当前视频录像
数据单元,判断加入当前视频录像数据单元之后的当前片段是否达到片段最大值,如
果是,则标注片段标志;并且,确定到达打包时间,检查预存储空间中是否存在片段
标志,如果是,则将片段标志对应的片段进行切片打包。本发明对存储预存储空间中
的视频录像数据进行片段划分,片段容量基于片段最大值进行划分,满足片段划分要
求时进行片段标志的标注,而后根据片段标志进行片段打包。由于片段最大值可根据
需要设定,这样,相对于现有技术中只能按照固定大小对视频录像数据进行打包的方
案,实现了依据设定需求对视频录像数据进行灵活打包,进一步满足了需求。并且,
现有技术只能对已有的视频录像数据文件进行打包,而不能对实时数据流进行打包操
作;采用本发明方案,能更及时地完成打包操作。
下面通过图2的流程,对本发明对视频录像数据进行打包的方法进行实例说明,
其包括以下步骤:
步骤201,获取切片方式,确定是采用大小方式还是采用时间方式进行切片,如
果采用大小方式进行切片,则执行步骤202,如果采用时间方式进行切片,则执行步
骤20206。
步骤202,从缓冲区实时接收当前视频录像数据单元,加入预存储空间中的当前
片段。
步骤203,将当前片段当前写指针的偏移值与缓冲区中已缓存的数据大小进行相
加,得到相加值。
步骤204,用相加值减去当前片段的开始偏移值,得到当前片段的大小。
步骤205,判断当前片段的大小是否大于或等于切片段大小,如果是,则确定为
达到片段最大值,进行片段标志的标注,执行步骤209。
进行片段标志的标注时,还可标明采用的是大小方式。
步骤206,实时接收当前视频录像数据单元,加入预存储空间中的当前片段。
步骤207,将当前片段中当前视频录像数据单元的I帧的绝对时间与当前片段第一
个I帧的绝对时间进行相减,将相减值作为当前片段已录像的时间。
步骤208,判断当前片段的已录像时间是否大于或等于切片段时间,如果是,则
确定为达到片段最大值,进行片段标志的标注,执行步骤209。
进行片段标志的标注时,还可标明采用的是时间方式。
步骤209,根据预存储空间中的片段标志进行切片打包。
具体地,将由片段标志划分出的各片段分别进行切片、打包。而后便可将打包完
成的数据包存储到硬盘中的指定区域。
本发明通过设置片段标志位的方式,实现按任意时间、任意大小进行打包,同时
切片段操作可精确到关键的I帧,并以绝对时间为基础。本发明提供了让用户多种选
择的码流存储方式,适应不同领域的各种要求,可应用到视频录像的诸多场景,特别
是金融行业。
参见图3,为本发明对视频录像数据进行打包的装置结构示意图,该装置包括预
存储空间、片段判断模块、片段标注模块和打包模块;
所述片段判断模块,实时接收当前视频录像数据单元,加入预存储空间中的当前
片段,判断加入当前视频录像数据单元之后的当前片段是否达到片段最大值,如果是,
则向所述片段标注模块发送标注指令;
所述片段标注模块,接收来自所述片段判断模块的标注指令,标注片段标志;
所述打包模块,确定到达打包时间,根据预存储空间中的片段标志进行切片打包。
较佳地,所述片段判断模块包括大小判断子模块,计算加入当前视频录像数据单
元之后的当前片段的大小,判断当前片段的大小是否大于或等于切片段大小,如果是,
则确定为达到片段最大值。
较佳地,该装置还包括缓冲区,所述片段判断模块从缓冲区实时接收当前视频录
像数据单元,加入预存储空间中的当前片段;
所述大小判断子模块,将当前片段当前写指针的偏移值与缓冲区中已缓存的数据
大小进行相加,得到相加值;用相加值减去当前片段的开始偏移值,得到加入当前视
频录像数据单元之后的当前片段的大小。
较佳地,所述片段判断模块包括时间判断子模块,计算当前片段已录像的时间,
判断当前片段的已录像时间是否大于或等于切片段时间,如果是,则确定为达到片段
最大值。
较佳地,所述片段判断模块,将当前片段中当前视频录像数据单元的I帧的绝对
时间与当前片段第一个I帧的绝对时间进行相减,将相减值作为当前片段已录像的时
间。
较佳地,所述片段判断模块包括方式确定子模块、大小判断子模块和时间判断子
模块;
所述方式确定模块,确定是采用大小方式还是采用时间方式进行切片,实时接收
当前视频录像数据单元,加入预存储空间中的当前视频录像数据单元,如果采用大小
方式进行切片,则向所述大小判断子模块发送执行指令,如果采用时间方式进行切片,
则向所述时间判断子模块发送执行指令;
所述大小判断子模块,接收执行指令,计算加入当前视频录像数据单元之后的当
前片段的大小,判断当前片段的大小是否大于或等于切片段大小,如果是,则确定为
达到片段最大值;
所述时间判断子模块,接收执行指令,计算当前片段已录像的时间,判断当前片
段的已录像时间是否大于或等于切片段时间,如果是,则确定为达到片段最大值。
本发明所述装置为进行视频录像的装置,例如数字视频录像机(DVR,DigitalVideo
Recorder),DVR相对于传统的模拟视频录像机,采用硬盘录像,故常常被称为硬盘录
像机。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精
神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围
之内。