CN115623151A - 一种音视频存储方法及网络录像设备 - Google Patents

一种音视频存储方法及网络录像设备 Download PDF

Info

Publication number
CN115623151A
CN115623151A CN202211636125.4A CN202211636125A CN115623151A CN 115623151 A CN115623151 A CN 115623151A CN 202211636125 A CN202211636125 A CN 202211636125A CN 115623151 A CN115623151 A CN 115623151A
Authority
CN
China
Prior art keywords
data block
audio
video
determining
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211636125.4A
Other languages
English (en)
Other versions
CN115623151B (zh
Inventor
张瑞
周圣强
黄岗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OP Retail Suzhou Technology Co Ltd
Original Assignee
OP Retail Suzhou Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by OP Retail Suzhou Technology Co Ltd filed Critical OP Retail Suzhou Technology Co Ltd
Priority to CN202211636125.4A priority Critical patent/CN115623151B/zh
Publication of CN115623151A publication Critical patent/CN115623151A/zh
Application granted granted Critical
Publication of CN115623151B publication Critical patent/CN115623151B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明公开了一种音视频存储方法及网络录像设备,涉及录像存储技术领域,充分利用网络录像设备中的硬盘,将所有的硬盘均以数据块的形式进行划分,便于后续存储,网络录像设备与多个摄像机通过各自对应的传输通道通信,可实现多路摄像机的稳定及有效录制,通过与目标摄像机对应的传输通道拉取待存储的音视频数据,预先为所述传输通道配置了预分配数据块,于是,确定各预分配数据块的存储状态,进而根据各预分配数据块的存储状态及预设落盘策略确定目标数据块,以将所述音视频数据存储至目标数据块,真正合理有效地实现了将一路、多路音视频数据进行稳定、有效、平滑的录制,并合理存储至对应的目标数据块中,便于实际应用。

Description

一种音视频存储方法及网络录像设备
技术领域
本发明涉及录像存储技术领域,特别是涉及一种音视频存储方法及网络录像设备。
背景技术
随着安防设备相关技术的快速发展,现有技术中,IPC(IP Camera,网络摄像机)都在向以太网方向演进,与之相对的,使用的录像机也演进为网络录像机,网络录像机包括多块用于存储的磁盘。
正常使用情况下,每天都存在大量的音视频数据需要经过网络录像机进行存储或转发,因此如何控制网络录像机实现存储功能,以将网络摄像机拍摄的音视频数据合理的分配到网络录像机的多块磁盘上,以便于后续的使用,是当前亟待解决的问题。
发明内容
本发明的目的是提供一种音视频存储方法及网络录像设备,充分利用网络录像设备中的硬盘,将所有的硬盘均以数据块的形式进行划分,真正合理有效地实现了将一路、多路音视频数据进行稳定、有效、平滑的录制,并合理存储至对应的目标数据块中,便于实际应用。
为解决上述技术问题,本发明提供了一种音视频存储方法,应用于网络录像设备,所述网络录像设备与多个摄像机通过各自对应的传输通道通信,所述音视频存储方法,包括:
通过与目标摄像机对应的传输通道拉取待存储的音视频数据;
确定与所述传输通道对应的各预分配数据块的存储状态,所述预分配数据块为目标硬盘中的一个数据块,所述目标硬盘为所述网络录像设备中所有的硬盘中的一个或多个硬盘;
根据各所述预分配数据块的存储状态及预设落盘策略确定目标数据块;
将所述音视频数据存储至所述目标数据块。
优选的,根据各所述预分配数据块的存储状态及预设落盘策略确定目标数据块,包括:
判断各所述预分配数据块中是否存在处于存储且未满状态的预分配数据块;
若存在处于所述存储且未满状态的预分配数据块,确定处于所述存储且未满状态的预分配数据块为目标数据块;
若不存在处于所述存储且未满状态的预分配数据块,判断各所述预分配数据块中是否存在处于未存储状态的预分配数据块;
若存在处于所述未存储状态的预分配数据块,确定处于所述未存储状态的预分配数据块为所述目标数据块。
优选的,在判定不存在处于所述未存储状态的预分配数据块时,包括:
基于第一预设夺取策略,从与其他的传输通道对应的各预分配数据块中确定第一待夺取数据块;
确定所述第一待夺取数据块为所述目标数据块。
优选的,基于第一预设夺取策略,从与其他的传输通道对应的各预分配数据块中确定第一待夺取数据块,包括:
确定当前时刻与处于存储且未满状态的第一预备数据块的征用时刻之间的第一时间差,所述第一预备数据块为其他的各传输通道对应的预分配数据块;
确定与所述第一时间差最大值对应的第一预备数据块为第一待夺取数据块。
优选的,判断各所述预分配数据块中是否存在处于存储且未满状态的预分配数据块之前,还包括:
针对各所述目标硬盘,依次执行如下步骤:
判断所述目标硬盘的工作状态是否处于故障状态;
若是,控制处于所述故障状态的目标硬盘中所有的数据块均处于不可用状态;
判断各所述预分配数据块是否均处于所述不可用状态;
若是,进入基于第一预设夺取策略,从与其他的传输通道对应的各预分配数据块中确定第一待夺取数据块的步骤。
优选的,还包括:
判断与所述目标摄像机对应的传输通道的录制模式是否为指定录制时长模式;
若是,获取与所述目标摄像机对应的传输通道的指定录制时长;
在判定不存在处于所述未存储状态的预分配数据块时,包括:
基于所述指定录制时长及第二预设夺取策略,确定第二待夺取数据块;
确定所述第二待夺取数据块为所述目标数据块。
优选的,基于所述指定录制时长及第二预设夺取策略,确定第二待夺取数据块,包括:
确定与所述目标摄像机对应的传输通道下,当前时刻与通道初始时刻之间的第二时间差,所述通道初始时刻为各目标初始时刻中距离所述当前时刻最久远的时刻,所述目标初始时刻表征所述预分配数据块存储历史音视频数据对应的历史时刻;
判断所述第二时间差是否等于所述指定录制时长;
若是,从第一传输通道对应的各预分配数据块中确定第二待夺取数据块,所述第一传输通道为与所述目标摄像机对应的传输通道。
优选的,在判定所述第二时间差小于所述指定录制时长时,包括:
判断第二传输通道对应的各预分配数据块中是否存在处于未存储状态的第二预备数据块,所述第二传输通道为与其他的摄像机对应传输通道且存在对应的指定录制时长;
若存在所述第二预备数据块,确定第二预备数据块为第二待夺取数据块;
若不存在所述第二预备数据块,判断是否存在第三传输通道,所述第三传输通道为与其他的摄像机对应的传输通道且不存在对应的指定录制时长;
若存在所述第三传输通道,基于所述第三传输通道对应的预分配数据块确定第二待夺取数据块。
优选的,通过与目标摄像机对应的传输通道拉取待存储的音视频数据之后,还包括:
将所述音视频数据存储至所述网络录像设备的缓存区域;
判断所述缓存区域的已存储容量是否达到预设缓存阈值;
若是,进入确定与所述传输通道对应的各预分配数据块的存储状态的步骤。
为解决上述技术问题,本发明还提供了一种网络录像设备,包括:
硬盘;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的音视频存储方法的步骤。
本申请提供了一种音视频存储方法及网络录像设备,充分利用网络录像设备中的硬盘,将所有的硬盘均以数据块的形式进行划分,便于后续存储,网络录像设备与多个摄像机通过各自对应的传输通道通信,可实现多路摄像机的稳定及有效录制,通过与目标摄像机对应的传输通道拉取待存储的音视频数据,预先为所述传输通道配置了预分配数据块,于是,确定各预分配数据块的存储状态,进而根据各预分配数据块的存储状态及预设落盘策略确定目标数据块,以将所述音视频数据存储至目标数据块,真正合理有效地实现了将一路、多路音视频数据进行稳定、有效、平滑的录制,并合理存储至对应的目标数据块中,便于实际应用。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种音视频存储方法的流程图;
图2为本发明提供的一种网络录像设备的结构示意图。
具体实施方式
本发明的核心是提供一种音视频存储方法及网络录像设备,充分利用网络录像设备中的硬盘,将所有的硬盘均以数据块的形式进行划分,真正合理有效地实现了将一路、多路音视频数据进行稳定、有效、平滑的录制,并合理存储至对应的目标数据块中,便于实际应用。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明提供的一种音视频存储方法的流程图。
本实施例中,考虑到现有技术中随着IPC及网络录像机均向以太网方向演进,而每天都存在大量的视频流数据需要经过网络录像机进行存储录像或者转发,因此需要寻找一种有效的方式,控制网络录像机实现存储功能,以将网络摄像机拍摄的音视频数据合理的分配到网络录像机的多块磁盘上。为解决上述技术问题,本申请提供了一种音视频存储方法,可以合理地将多路摄像机的视频数据存储进对应的网络录像设备的一块或多块目标硬盘中,利于实际应用。
该音视频存储方法,应用于网络录像设备,网络录像设备与多个摄像机通过各自对应的传输通道通信,音视频存储方法,包括:
S11:通过与目标摄像机对应的传输通道拉取待存储的音视频数据;
具体的,本方法可基于ARM架构的Soc(System on Chip,系统级芯片)片上系统上搭配Linux操作系统,所述网络录像设备可以为网络录像机,如NVR(Network VideoRecorder,网络视频录像机),NVR作为网络视频监控系统的存储转发部分,可与视频编码器或网络摄像机协同工作,完成视频的录像、存储及转发功能。所述摄像机即网络摄像机,具体设置个数不作特别的限定,一个摄像机对应存在与该网络录像设备连接的一条传输通道,以通过该传输通道实现对应的网络摄像机的录像;目标摄像机可以为所述多个摄像机中的一个摄像机以实现一路视频流的录制,当然也可以为几个摄像机以实现多路视频流的同时传输录制,在此不作特别的限定。
所述网络录像设备中包括多个硬盘,优选的,可以使用其中的各个机械硬盘作为存储音视频数据的硬盘,于是,实现该网络录像设备与多个摄像机通过各自对应的传输通道通信的具体步骤可以为:
首先,找出所有的机械硬盘,具体步骤可以为:检索/dev/disk/by-id/磁盘目录下所有磁盘节点,筛选出wwn-开头的节点,这些节点代表机械硬盘;其次,根据各个机械硬盘的命名确定对应的硬盘的物理信息,具体步骤可以为:拿到对应的磁盘名字之后去/sys/block/目录(即系统目录)下寻找该磁盘的物理信息,所述物理信息包含磁盘大小、制造商等等;再次,用户可在人机交互界面上根据各个磁盘的物理信息进行配置,选择启用的磁盘,以根据配置结果将用户已启用的磁盘的索引分区进行挂载,所述人机交互界面包括但不限于WEB配置页面,所述启用磁盘指的是用户指定哪些硬盘是可用作音视频存储的磁盘,将已启用的磁盘的索引分区进行挂载的步骤本质上是便于后续使用文件系统进行管理,本申请中将已启用的磁盘的存储区域预先分为多个数据块(当然,对于那些未启用的磁盘的存储区域也可以进行存储区域分块处理,以实现其他数据的存储,在此不作特别限定),所述挂载操作对应的具体操作内容为对该磁盘的ID标识以及该磁盘中各个用于存储音视频数据的块ID的挂载;最后,建立与多个摄像头之间的通信链路,具体的,用户在所述人机交互显示界面配置好了通道配置信息,该通道配置信息具体可以包括标记该通道的通道ID、通道名称、Profile(流名称)、数据源、设备MAC地址、接入码率以及表征该通道是否启用的启用标识等,在此不作特别的限定,所述摄像机通常是ONVIF(开放式网络视频接口协议)设备或者是RTSP(Real Time Streaming Protocol,实时串流协议)设备,则根据该通道配置信息,搜索局域网中的摄像机设备,如果是ONVIF设备则依据ONVIF协议的标准通信操作,发送探测的广播报文至摄像机,摄像机将应答其自身的一些设备信息,包括MAC地址、设备厂家、设备固件版本以及RTSP流地址等,由于这里的RTSP流地址为多个,则根据预先配置的Profile流名称选取对应的一个RTSP流地址实现通信连接即可,进而在进行RTSP握手之后可以开始拉流录像,具体的,收取RTP(Real-time Transport Protocol,实时传输协议)流,且优选的可以使用RTSP Over TCP模式保证码流的绝对正确,在将RTP重组之后得到了由I帧和P帧构成的帧流,I帧与I帧之间(不包含后面的I帧)则构成了一个Gop(Group ofPictures,音视频帧组),所述GOP构成了为本申请中所述的音视频数据;当然,摄像机也可能是RTSP设备,则直接使用配置的RTSP地址进行拉流录像即可,具体根据实际需求设定实现即可。
S12:确定与传输通道对应的各预分配数据块的存储状态,预分配数据块为目标硬盘中的一个数据块,目标硬盘为网络录像设备中所有的硬盘中的一个或多个硬盘;
具体的,为了保证存储效果,优选的,所有的硬盘均作为已启动硬盘,本申请中将所有的硬盘均放置在一起考虑,针对某一个硬盘来说,该硬盘初始化过程为,制作磁盘GPT分区表并存储在GPT分区区域,划分出一定的存储区域专门用于存储硬盘的索引分区,该索引分区的大小为磁盘总大小的千分之一,之后挂载该磁盘的索引分区,将磁盘除了GPT分区区域、磁盘索引分区区域及隔离带,剩余的空间按照1GB每块大小进行划分以得到该硬盘的多个用于存储音视频数据的数据块,并在索引分区记录各个数据块的偏移位置及ID等特征信息,可以理解的是,初始化时可以标记所有的数据块均为未存储状态(即空闲状态)。至此,一个磁盘初始化完成,各个硬盘均依据上述步骤进行初始化,结合上述硬盘挂载的步骤,挂载后一个硬盘可包括A个可用于存储音视频数据的数据块,A为大于1的整数,假定各个硬盘包括的数据块个数均相同,则B个硬盘共包括A*B个数据块,B为大于1的整数。这些数据块将综合进行考虑,即假定所有的数据块组成的是一个块池,任一个数据块可以配属于任一个传输通道,以与目标摄像机对应的传输通道为例,预先为该传输通道配置了多个预分配数据块(该预分配数据块本质上为已挂载的、用于音视频数据存储的数据块),所述预分配数据块的总个数不作特别的限定,且这些预分配数据块可以属于同一块硬盘,也可以分属于不同块硬盘以实现多块磁盘的同时录像,在此不作特别的限定,根据实际需求而定即可;而与除目标摄像机之外的其他摄像机对应的传输通道也一一对应的存在各自的预分配数据块。
所述预分配数据块的存储状态包括存储且未满状态、已写满状态以及未存储状态。
S13:根据各预分配数据块的存储状态及预设落盘策略确定目标数据块;
S14:将音视频数据存储至目标数据块。
具体的,预先设置预设落盘策略,所述落盘指的是将音视频数据写入对应目标数据块的过程,进而依据S13及S14步骤可实现音视频数据的落盘。可以理解的是,为了充分利用存储空间,在目标数据块中的数据写入为不存在存储间隙的连续写入。
本申请提供的方法可以同时录制多路音视频数据(即多个摄像机可同时进行录制),且以视频流为例,对于视频流的分辨率及码率等均无特殊要求,同时支持H264与H265的视频编码格式,对于音频来说,音频格式支持G711系列格式,如Alaw与Ulaw格式,音视频数据存储至目标数据块之后,后续可以将多个传输通道对应的音视频数据同步或异步播放,也可以根据用户需求实现各种格式的音视频数据输出,具体可支持FLV格式和RTSP格式串流,也可支持倍速读取视频流。
需要说明的是,本申请中将音视频数据存储至目标数据块之后,还可以记录相应的存储索引信息,以便后续查询定位、检索音视频数据,在此不作特别的限定。
此外,当该网络录像设备中增加一个硬盘时,根据上述所述步骤进行硬盘初始化及硬盘挂载之后,即可将其添加至所述块池,以将其作为用于存储音视频数据的硬盘使用;同样,可以理解的是,当用户指示某一个硬盘卸载之后,也就意味着其不再挂载,则该硬盘将不再作为用于存储音视频数据的硬盘,从而实现了磁盘的动态增删;对于各个传输通道配置的预分配数据块也可以进行在线增删,根据实际需求设定即可。
综上,本申请提供了一种音视频存储方法,充分利用网络录像设备中的硬盘,将所有的硬盘均以数据块的形式进行划分,便于后续存储,网络录像设备与多个摄像机通过各自对应的传输通道通信,可实现多路摄像机的稳定及有效录制,通过与目标摄像机对应的传输通道拉取待存储的音视频数据,预先为所述传输通道配置了预分配数据块,于是,确定各预分配数据块的存储状态,进而根据各预分配数据块的存储状态及预设落盘策略确定目标数据块,以将所述音视频数据存储至目标数据块,真正合理有效地实现了将一路、多路音视频数据进行稳定、有效、平滑的录制,并合理存储至对应的目标数据块中,便于实际应用。
在上述实施例的基础上:
作为一种优选的实施例,根据各预分配数据块的存储状态及预设落盘策略确定目标数据块,包括:
判断各预分配数据块中是否存在处于存储且未满状态的预分配数据块;
若存在处于存储且未满状态的预分配数据块,确定处于存储且未满状态的预分配数据块为目标数据块;
若不存在处于存储且未满状态的预分配数据块,判断各预分配数据块中是否存在处于未存储状态的预分配数据块;
若存在处于未存储状态的预分配数据块,确定处于未存储状态的预分配数据块为目标数据块。
本实施例中,给出了目标数据块的确定步骤,各预分配数据块的存储状态包括存储且未满状态、已写满状态以及未存储状态,该存储状态可以作为状态标识数据预先存储在对应于该目标摄像机的传输通道的通道索引数据库中,以便查看使用。于是,判断各所述预分配数据块中是否存在处于存储且未满状态的预分配数据块;所述存储且未满状态表征了该预分配数据块处于使用中,若是,则优先确定处于所述存储且未满状态的预分配数据块为目标数据块;若否,则进一步判断各所述预分配数据块中是否存在处于未存储状态的预分配数据块,所述未存储状态表征了该预分配模块未被使用过,若是,则确定处于所述未存储状态的预分配数据块为所述目标数据块。可以理解的是,若也不存在处于所述未存储状态的预分配数据块,说明当前所有的预分配模块的状态均为已写满状态,则需要进行块征用,具体见下述所述,此处不作赘述。
还需要说明的是,在确定目标数据块并将音视频数据存入其中后,需要更新对应的目标数据块的存储状态,以便后续使用。
可见,通过上述方式可以简单可靠地保证音视频数据存入目标数据块中,利于实际应用。
作为一种优选的实施例,在判定不存在处于未存储状态的预分配数据块时,包括:
基于第一预设夺取策略,从与其他的传输通道对应的各预分配数据块中确定第一待夺取数据块;
确定第一待夺取数据块为目标数据块。
本实施例中,基于在判定不存在处于未存储状态的预分配数据块时,说明此时各个预分配数据块均处于已写满状态,则需要从其他的传输通道中征用数据块作为自身的目标数据块,以保证本次的音视频数据有处可存,具体步骤见上述所述即可,此处不作赘述。
需要说明的是,在实现第一待夺取数据块的征用之后,需要在与目标摄像机对应的传输通道的通道索引数据库中记录该第一待夺取数据块已划归其所有,如记录其存储状态等;并将所述第一待夺取数据块原本归属的传输通道的通道索引数据库中对应的记录去除,以将该第一待夺取数据块从原有传输通道剥离。
还需要说明的是,第一待夺取数据块可以为一个数据块,也可以为多个数据块,在此不作特别的限定,优选的,其存储容量足够覆盖音视频数据的大小为最优。
作为一种优选的实施例,基于第一预设夺取策略,从与其他的传输通道对应的各预分配数据块中确定第一待夺取数据块,包括:
确定当前时刻与处于存储且未满状态的第一预备数据块的征用时刻之间的第一时间差,第一预备数据块为其他的各传输通道对应的预分配数据块;
确定与第一时间差最大值对应的第一预备数据块为第一待夺取数据块。
本实施例中,给出了第一待夺取数据块的确定步骤,具体的,针对除去自身(与目标摄像机对应的传输通道)之外的其他各传输通道来说,以其中任一个其他传输通道为例,该其他传输通道对应的预分配数据块中处于存储且未满状态的数据块即为所述第一预备数据块,确定当前时刻与第一预备数据块的征用时刻之间的第一时间差,第一时间差越大表征该第一预备数据块的征用时间越久,越满足被征用的条件,最终确定与所述第一时间差最大值对应的第一预备数据块为第一待夺取数据块。
还需要说明的是,在上述实施例中已经阐明,本申请中记录的音视频数据可以GOP作为单位存储帧,于是针对各个单位存储帧还可对应记录其写入目标数据块的物理时刻,则第一预备数据块的征用时刻可以为其中已存储的各个单位存储帧的物理时刻的最小值,所述最小值为距离当前时刻最远的一个时刻,比如各个物理时刻分别为10点15分12秒、10点16分13秒以及10点17分15秒,则最小值可以为10点15分12秒。
作为一种优选的实施例,判断各预分配数据块中是否存在处于存储且未满状态的预分配数据块之前,还包括:
针对各目标硬盘,依次执行如下步骤:
判断目标硬盘的工作状态是否处于故障状态;
若是,控制处于故障状态的目标硬盘中所有的数据块均处于不可用状态;
判断各预分配数据块是否均处于不可用状态;
若是,进入基于第一预设夺取策略,从与其他的传输通道对应的各预分配数据块中确定第一待夺取数据块的步骤。
本实施例中,目标硬盘可以为该网络录像设备中所有的硬盘中的某几个硬盘,发明人进一步考虑到目标硬盘可能存在不能正常工作的故障状态,分别确定各目标硬盘的工作状态,即针对各所述目标硬盘来说,判断目标硬盘的工作状态是否处于故障状态;若是,则控制当前判定的处于故障状态的目标硬盘中所有的数据块均处于不可用状态,进而避免该目标硬盘仍然使用导致音视频数据存储故障。当对所有的目标硬盘均进行了上述故障判定之后,进一步判断各预分配数据块是否均处于不可用状态,若是,说明为该目标摄像头配置的所有的预分配模块均不能够使用,因此,需要进行块征用,即进入基于第一预设夺取策略,从与其他的传输通道对应的各预分配数据块中确定第一待夺取数据块的步骤,以从其他的传输通道对应的预分配模块中征用第一待夺取模块用于自身的数据存储,整个逻辑设计充分地考虑了过程鲁棒性,可以自动屏蔽掉故障磁盘,并将故障磁盘的录制任务平滑地切换到其他正常工作的磁盘上,以优先保证音视频数据的可靠存储,进而实现对多路摄像机传入的音视频数据及进行稳定、有效、平滑的录制。当有新的磁盘加入时,还可以自动扩展使用新磁盘进行录制。
可以理解的是,若各预分配数据块并未均处于不可用状态,说明仍有部分预分配数据块能够正常工作,则优先从这些能够正常工作的预分配数据块中确定目标数据块即可,具体的还需考虑正常工作的预分配数据块的存储状态,使用顺序可为先使用处于存储且未满状态、能够正常工作的预分配数据块,再使用处于未存储状态、能够正常工作的预分配数据块,直到所有能够正常工作的预分配数据块均处于已写满状态,则再进入基于第一预设夺取策略,从与其他的传输通道对应的各预分配数据块中确定第一待夺取数据块的步骤即可。
需要说明的是,当目标硬盘由原本的挂载状态更替为非挂载状态时(该方状态更替具体可由用户在WEB配置页面上实现),和/或,当向所述目标硬盘写入用于故障检测的试验数据却发生错误时,可以判定该目标硬盘的工作状态为故障状态,当然,也可以根据实际需求设置其他的判定条件,在此不作特别的限定。
作为一种优选的实施例,还包括:
判断与目标摄像机对应的传输通道的录制模式是否为指定录制时长模式;
若是,获取与目标摄像机对应的传输通道的指定录制时长;
在判定不存在处于未存储状态的预分配数据块时,包括:
基于指定录制时长及第二预设夺取策略,确定第二待夺取数据块;
确定第二待夺取数据块为目标数据块。
本实施例中,考虑到在本申请给出的音视频存储方式下,各个传输通道之间彼此独立,可同时实现多路音视频数据的录制,更进一步的,各个传输通道对应的录制模式可以设置为指定录制时长模式,以便更好贴合实际需求;指定录制时长模式下对应的指定录制时长的具体数值不作特别的限定,根据实际需求设定即可,且各个传输通道对应的指定录制时长可以不同,当然也可以相同,此时,即使不同路的摄像机的视频数据的流码率不一样,也可以保证每一路的视频数据的等长录制。可以理解的是,码率越高,相同时间内,产生的视频数据对应的文件就越大;比如该网络录像设备下,有3路摄像机,码率都不一样,所占的磁盘空间大小不一样,但是可以通过设置相同的指定录制时长,最终保证三者的录像时长是一样的(录像时长指的是音视频数据存储的时间长短)。
对于与所述目标摄像机对应的传输通道来说,其录制模式存在被设置为指定录制时长模式的可能,于是,判断与所述目标摄像机对应的传输通道的录制模式是否为指定录制时长模式;若是,获取与所述目标摄像机对应的传输通道的指定录制时长(该指定录制时长具体可根据实际需求预先配置),则在判定不存在处于所述未存储状态的预分配数据块时对应的数据块夺取逻辑可以为,基于指定录制时长及第二预设夺取策略,确定第二待夺取数据块,并确定第二待夺取数据块为目标数据块。
作为一种优选的实施例,基于指定录制时长及第二预设夺取策略,确定第二待夺取数据块,包括:
确定与目标摄像机对应的传输通道下,当前时刻与通道初始时刻之间的第二时间差,通道初始时刻为各目标初始时刻中距离当前时刻最久远的时刻,目标初始时刻表征预分配数据块存储历史音视频数据对应的历史时刻;
判断第二时间差是否等于指定录制时长;
若是,从第一传输通道对应的各预分配数据块中确定第二待夺取数据块,第一传输通道为与目标摄像机对应的传输通道。
本实施例中,给出了第二待夺取数据块的确定步骤。具体的,与所述目标摄像机对应的传输通道下,一个或者几个预分配数据块中之前已经存储有音视频数据,将这些预分配数据块存储的音视频数据称作历史音视频数据,则这些预分配数据块中的每一个均对应存在一个存储的历史时刻,该历史时刻即目标初始时刻(需要说明的是,以所述这些预分配数据块中的一个为例,其下可能存储有多组历史音视频数据,每一组历史音视频数据对应一个历史时刻,则所述目标初始时刻为各个历史时刻中距离当前时刻最久远的一个历史时刻),则确定各个目标初始时刻中距离当前时刻最久远的时刻为通道初始时刻,通道初始时刻表征了与所述目标摄像机对应的传输通道下各预分配数据块最早存入历史音视频数据的时间。
确定当前时刻与通道初始时刻之间的第二时间差,第二时间差表征了从最早存入历史音视频数据开始至当前时刻的总计存储时长,判断第二时间差是否等于所述指定录制时长;
若是,直接从自身中的预分配数据块中确定第二待夺取数据块即可,具体的,可以确定与所述通道初始时刻对应的预分配模块为所述第二待夺取数据块。
作为一种优选的实施例,在判定第二时间差小于指定录制时长时,包括:
判断第二传输通道对应的各预分配数据块中是否存在处于未存储状态的第二预备数据块,第二传输通道为与其他的摄像机对应传输通道且存在对应的指定录制时长;
若存在第二预备数据块,确定第二预备数据块为第二待夺取数据块;
若不存在第二预备数据块,判断是否存在第三传输通道,第三传输通道为与其他的摄像机对应的传输通道且不存在对应的指定录制时长;
若存在第三传输通道,基于第三传输通道对应的预分配数据块确定第二待夺取数据块。
本实施例中,在判定第二时间差小于指定录制时长时,说明自身中的所有预分配数据块均不能作为第二待夺取模块,因此需要从其他的传输通道对应的预分配数据块中确定,于是,针对与其他的摄像机对应且存在对应的指定录制时长的传输通道,即第二传输通道,判断第二传输通道对应的各预分配数据块中是否存在处于未存储状态的第二预备数据块;若是,直接确定该第二预备数据块为第二待夺取数据块,以优先利用其他传输通道中未使用过的预分配数据块(可以理解的是,对于第二预备数据块的从原传输通道的剥离,以及,将其添加至与目标摄像头对应的传输通道的配置中,均已在上述实施例中阐明,此处不作赘述);若否,说明其他传输通道中的各个预分配数据块也都处于已存满状态,则判断是否存在第三传输通道,所述第三传输通道为与其他的摄像机对应的传输通道且不存在对应的指定录制时长;若是,则征用第三传输通道对应的预分配数据块作为第二待夺取模块即可,至于征用第三传输通道对应的预分配数据块中的哪一个在此不作特别的限定,可以按照征用处于存储且未满状态的预分配数据块-征用处于未存储状态的预分配数据块的逻辑顺序进行,此处不作特别的限定,根据实际需求而定。
作为一种优选的实施例,通过与目标摄像机对应的传输通道拉取待存储的音视频数据之后,还包括:
将音视频数据存储至网络录像设备的缓存区域;
判断缓存区域的已存储容量是否达到预设缓存阈值;
若是,进入确定与传输通道对应的各预分配数据块的存储状态的步骤。
本实施例中,发明人进一步考虑到,本申请中用于音视频数据存储的硬盘通常为机械硬盘,机械硬盘的随机写性能较低,因此为了提高数据写入效率,预先设置缓存区域,将拉取到的音视频数据暂存至预先开辟的缓存区域中,随着音视频数据的录像写入,对应的已存储容量将不断增加,在判定缓存区域的已存储容量达到预设缓存阈值时,进入确定与传输通道对应的各预分配数据块的存储状态的步骤,以将缓存区域中已经存储的音视频数据冲刷至磁盘中的目标数据块上,完成数据落盘。所述预设缓存阈值的大小根据实际需求设定即可。
还需要说明的是,考虑到本申请中记录的音视频数据以GOP作为单位存储帧,则对每个GOP还可以使用下述的字节序格式进行封装后再存储至所述缓存区域,以实现按照预设格式的存储,更加规范化,而从数据块中取数据时只需按照封装步骤的逆步骤进行处理,即可还原成原始的音视频数据。
所述封装步骤对应的程序可以为:
[HEADER]
[GOP Length](4 bytes)
[TimeStamp] (8 bytes)
[AudioType] (1 bytes)
[VideoType] (1 bytes)
[BODY]
[B/P Frame] (4 bytes len)+(1 bytes type)+(8 bytes duration)+(framepacket data)
[B/P Frame] (4 bytes len)+(1 bytes type)+(8 bytes duration)+(framepacket data)
[B/P Frame] (4 bytes len)+(1 bytes type)+(8 bytes duration)+(framepacket data)
请参照图2,图2为本发明提供的一种网络录像设备的结构示意图。
该一种网络录像设备3,包括:
硬盘23;
存储器21,用于存储计算机程序;
处理器22,用于执行计算机程序时实现如上述所述的音视频存储方法的步骤。
对于本发明中提供的网络录像设备的介绍请参照上述音视频存储方法的实施例,此处不再赘述。
需要说明的是,图2中以网络录像设备3具体与两个摄像机通过各自对应的传输通道通信为例进行说明(图2中的双箭头直线代表各自的传输通道),则在两个摄像机均作为目标摄像机时可实现两路摄像机的同时录像,另外,图2中以硬盘的个数具体为两个进行了图示说明。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种音视频存储方法,其特征在于,应用于网络录像设备,所述网络录像设备与多个摄像机通过各自对应的传输通道通信,所述音视频存储方法,包括:
通过与目标摄像机对应的传输通道拉取待存储的音视频数据;
确定与所述传输通道对应的各预分配数据块的存储状态,所述预分配数据块为目标硬盘中的一个数据块,所述目标硬盘为所述网络录像设备中所有的硬盘中的一个或多个硬盘;
根据各所述预分配数据块的存储状态及预设落盘策略确定目标数据块;
将所述音视频数据存储至所述目标数据块。
2.如权利要求1所述的音视频存储方法,其特征在于,根据各所述预分配数据块的存储状态及预设落盘策略确定目标数据块,包括:
判断各所述预分配数据块中是否存在处于存储且未满状态的预分配数据块;
若存在处于所述存储且未满状态的预分配数据块,确定处于所述存储且未满状态的预分配数据块为目标数据块;
若不存在处于所述存储且未满状态的预分配数据块,判断各所述预分配数据块中是否存在处于未存储状态的预分配数据块;
若存在处于所述未存储状态的预分配数据块,确定处于所述未存储状态的预分配数据块为所述目标数据块。
3.如权利要求2所述的音视频存储方法,其特征在于,在判定不存在处于所述未存储状态的预分配数据块时,包括:
基于第一预设夺取策略,从与其他的传输通道对应的各预分配数据块中确定第一待夺取数据块;
确定所述第一待夺取数据块为所述目标数据块。
4.如权利要求3所述的音视频存储方法,其特征在于,基于第一预设夺取策略,从与其他的传输通道对应的各预分配数据块中确定第一待夺取数据块,包括:
确定当前时刻与处于存储且未满状态的第一预备数据块的征用时刻之间的第一时间差,所述第一预备数据块为其他的各传输通道对应的预分配数据块;
确定与所述第一时间差最大值对应的第一预备数据块为第一待夺取数据块。
5.如权利要求3所述的音视频存储方法,其特征在于,判断各所述预分配数据块中是否存在处于存储且未满状态的预分配数据块之前,还包括:
针对各所述目标硬盘,依次执行如下步骤:
判断所述目标硬盘的工作状态是否处于故障状态;
若是,控制处于所述故障状态的目标硬盘中所有的数据块均处于不可用状态;
判断各所述预分配数据块是否均处于所述不可用状态;
若是,进入基于第一预设夺取策略,从与其他的传输通道对应的各预分配数据块中确定第一待夺取数据块的步骤。
6.如权利要求2所述的音视频存储方法,其特征在于,还包括:
判断与所述目标摄像机对应的传输通道的录制模式是否为指定录制时长模式;
若是,获取与所述目标摄像机对应的传输通道的指定录制时长;
在判定不存在处于所述未存储状态的预分配数据块时,包括:
基于所述指定录制时长及第二预设夺取策略,确定第二待夺取数据块;
确定所述第二待夺取数据块为所述目标数据块。
7.如权利要求6所述的音视频存储方法,其特征在于,基于所述指定录制时长及第二预设夺取策略,确定第二待夺取数据块,包括:
确定与所述目标摄像机对应的传输通道下,当前时刻与通道初始时刻之间的第二时间差,所述通道初始时刻为各目标初始时刻中距离所述当前时刻最久远的时刻,所述目标初始时刻表征所述预分配数据块存储历史音视频数据对应的历史时刻;
判断所述第二时间差是否等于所述指定录制时长;
若是,从第一传输通道对应的各预分配数据块中确定第二待夺取数据块,所述第一传输通道为与所述目标摄像机对应的传输通道。
8.如权利要求7所述的音视频存储方法,其特征在于,在判定所述第二时间差小于所述指定录制时长时,包括:
判断第二传输通道对应的各预分配数据块中是否存在处于未存储状态的第二预备数据块,所述第二传输通道为与其他的摄像机对应传输通道且存在对应的指定录制时长;
若存在所述第二预备数据块,确定第二预备数据块为第二待夺取数据块;
若不存在所述第二预备数据块,判断是否存在第三传输通道,所述第三传输通道为与其他的摄像机对应的传输通道且不存在对应的指定录制时长;
若存在所述第三传输通道,基于所述第三传输通道对应的预分配数据块确定第二待夺取数据块。
9.如权利要求1至8任一项所述的音视频存储方法,其特征在于,通过与目标摄像机对应的传输通道拉取待存储的音视频数据之后,还包括:
将所述音视频数据存储至所述网络录像设备的缓存区域;
判断所述缓存区域的已存储容量是否达到预设缓存阈值;
若是,进入确定与所述传输通道对应的各预分配数据块的存储状态的步骤。
10.一种网络录像设备,其特征在于,包括:
硬盘;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至9任一项所述的音视频存储方法的步骤。
CN202211636125.4A 2022-12-20 2022-12-20 一种音视频存储方法及网络录像设备 Active CN115623151B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211636125.4A CN115623151B (zh) 2022-12-20 2022-12-20 一种音视频存储方法及网络录像设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211636125.4A CN115623151B (zh) 2022-12-20 2022-12-20 一种音视频存储方法及网络录像设备

Publications (2)

Publication Number Publication Date
CN115623151A true CN115623151A (zh) 2023-01-17
CN115623151B CN115623151B (zh) 2023-03-03

Family

ID=84880780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211636125.4A Active CN115623151B (zh) 2022-12-20 2022-12-20 一种音视频存储方法及网络录像设备

Country Status (1)

Country Link
CN (1) CN115623151B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005468A1 (en) * 2006-05-08 2008-01-03 Sorin Faibish Storage array virtualization using a storage block mapping protocol client and server
JP2010239550A (ja) * 2009-03-31 2010-10-21 Sharp Corp 記録装置
CN104065906A (zh) * 2014-07-09 2014-09-24 珠海全志科技股份有限公司 数字录像设备的录像方法及装置
CN108762688A (zh) * 2018-06-06 2018-11-06 北京世纪东方通讯设备有限公司 一种用于视频监控系统的媒体流存储方法及装置
CN109947353A (zh) * 2017-12-20 2019-06-28 浙江宇视科技有限公司 存储管理方法、固态硬盘及可读存储介质
CN111526315A (zh) * 2020-04-28 2020-08-11 杭州海康威视数字技术股份有限公司 视频数据的存储方法、装置、系统及设备
CN112954244A (zh) * 2021-01-19 2021-06-11 普联技术有限公司 监控录像的存储实现方法、装置、设备及存储介质
CN113032414A (zh) * 2021-04-21 2021-06-25 杭州海康威视系统技术有限公司 数据管理方法、装置、系统、计算设备及存储介质
CN114579035A (zh) * 2020-11-30 2022-06-03 浙江宇视科技有限公司 一种基于块存储的切块方法和装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005468A1 (en) * 2006-05-08 2008-01-03 Sorin Faibish Storage array virtualization using a storage block mapping protocol client and server
JP2010239550A (ja) * 2009-03-31 2010-10-21 Sharp Corp 記録装置
CN104065906A (zh) * 2014-07-09 2014-09-24 珠海全志科技股份有限公司 数字录像设备的录像方法及装置
CN109947353A (zh) * 2017-12-20 2019-06-28 浙江宇视科技有限公司 存储管理方法、固态硬盘及可读存储介质
CN108762688A (zh) * 2018-06-06 2018-11-06 北京世纪东方通讯设备有限公司 一种用于视频监控系统的媒体流存储方法及装置
CN111526315A (zh) * 2020-04-28 2020-08-11 杭州海康威视数字技术股份有限公司 视频数据的存储方法、装置、系统及设备
CN114579035A (zh) * 2020-11-30 2022-06-03 浙江宇视科技有限公司 一种基于块存储的切块方法和装置
CN112954244A (zh) * 2021-01-19 2021-06-11 普联技术有限公司 监控录像的存储实现方法、装置、设备及存储介质
CN113032414A (zh) * 2021-04-21 2021-06-25 杭州海康威视系统技术有限公司 数据管理方法、装置、系统、计算设备及存储介质

Also Published As

Publication number Publication date
CN115623151B (zh) 2023-03-03

Similar Documents

Publication Publication Date Title
US7483421B2 (en) Routing data
EP1496696B1 (en) A recording and reproducing system for image data with recording position information and a recording and reproducing method therefor
US9204083B2 (en) Video recording failover
EP1694023A1 (en) Method for performing data transport over a serial bus using internet protocol and apparatus for use in the method
US20090254958A1 (en) Video system
CN109756789B (zh) 一种音视频数据包的丢包处理方法和系统
CN109379254B (zh) 一种基于视频会议的网络连接的检测方法和系统
CN109218093B (zh) 一种获取告警的方法和系统
US20200177953A1 (en) Digital video recorder with additional video inputs over a packet link
CN110740295B (zh) 一种视联网监控视频流的轮巡播放方法及装置
EP1968318B1 (en) Distribution apparatus and playback apparatus
CN104618673A (zh) 一种基于nvr的多路录像同步回放控制方法和装置
CN115623151B (zh) 一种音视频存储方法及网络录像设备
CN101895736A (zh) 媒体流数据处理方法及其装置
CN112203050B (zh) 一种视频续传的方法及装置
EP1694031A1 (en) Method for performing data transport over a serial bus using internet protocol and apparatus for use in the method
JP4315618B2 (ja) デジタル放送の放送番組記録装置
CN109698953B (zh) 一种视联网监控设备的状态检测方法及系统
CN107566883B (zh) 一种利用录播设备录播电视节目的方法
CN110381022B (zh) 一种应用于视联网的数据获取方法及系统
CN111372071B (zh) 一种搜集视频图像异常信息的方法及装置
CN110691214B (zh) 一种业务对象的数据处理方法和装置
US7720821B1 (en) Method of and apparatus for writing and reading time sensitive data within a storage device
CN109587513B (zh) 一种音视频文件的读取方法和系统
KR20030096723A (ko) 동영상 압축방식을 사용하는 네트워크 카메라, 및 이를이용한 영상 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant