一种防意外中止的多路音视频流存储方法
【技术领域】
[0001] 本发明属于存储技术领域,具体涉及一种防意外中止的多路音视频流存储方法。
【背景技术】
[0002] 随着现代网络的逐渐普及,视频监控已经应用于我们的工作和生活中。很多生活 的场所都需要视频监控来保障单位及个人的财产和人身安全。人们可以通过实时监控了解 现场的情况。但在实际的应用中,单纯进行视频监控,难以提供全面高效的服务。很多时候 需要实时对现场的情况进行音视频存储,供后期回放和分析。
【发明内容】
[0003] 针对现有技术的不足之处,本发明的所要解决的技术问题在于提供一种防意外中 止的多路音视频流存储方法,实现设备在意外中止后录像文件的恢复,缓冲区和录像区使 用不同硬盘进行读写,大大减少在存储过程中磁头的寻道次数,提高系统的性能。
[0004] 为了解决上述技术问题,本发明可以通过以下技术措施实现:一种防意外中止的 多路音视频流存储方法,包括以下步骤:
[0005] S1、判断是否初次启动,若是,执行步骤S2,若否,执行步骤S3 ;
[0006] S2、设置缓冲区和录像区,并在缓冲区中创建缓冲文件,执行步骤S4 ;
[0007] S3、判断是否需要录像文件恢复,若是,进行录像文件恢复;
[0008] S4、多路音视频流存储;
[0009] S5、结束。
[0010] 本发明的防意外中止的多路音视频流存储方法判断是否初次启动,若是,设置缓 冲区和录像区并在缓冲区中创建缓冲文件;判断是否需要录像文件恢复,如是,进行录像文 件恢复;在录像区中进行多路音视频流存储。本发明能实现设备在意外中止后录像文件的 恢复;缓冲区和录像区使用不同硬盘进行读写,大大减少在存储过程中磁头的寻道次数,提 尚系统的性能。
[0011] 作为本发明的防意外中止的多路音视频流存储方法的优选实施方式,所述的步骤 S2进一步包括:
[0012] S2-1、设有DpD2,…,0"共n个硬盘,硬盘大小分别为RR2,…,Rn,设置硬盘 Di,D2,…,0"为缓冲区,硬盘Dk+1,Dk+2,…,0"为录像区,其中0〈k〈n;
[0013] S2-2、设有Ip12,…,Ip*p路音视频流,fi表示音视频流仁的帧率,Si表示音视频 流Ii的最大帧长度,录像时间长度为1,单位:秒,创建"录像文件表",其中i= 1,2,…,p;
[0014] S2-3、根据公式(1)计算^的数据文件大小Datai,根据公式(2)计算^的索引文 件大小IndeXi,设"索引文件"的帧信息的固定长度为K;
[0015] Dataj=fjXsjXlXS (1)
[0016] IndeXi=fiXlXKX5 (2)
[0017] S2-4、判断公式(3)是否成立,若是,执行步骤S2-1 ;若否,执行步骤2-5 ;
[0018]
(3)
[0019] S2-5、在缓冲区创建缓冲文件,包括数据文件、索引文件,在"缓冲区表"插入其数 据库记录;其中,数据文件用于按时间顺序以帧为单位依次存储音视频数据,索引文件用于 按数据文件从头到尾顺序依次记录帧信息;
[0020] "录像文件表"、"缓冲区表"和"索引文件"的帧信息进一步包括:
[0021] "录像文件表"包括:"录像设备名称"、"录像文件路径"、"录像启动时间"、"录像时 间"、"录像完成标识",其中0表示已完成,1表示未完成、"录像文件的重要程度",其中0-99 表示录像文件的重要程度,数字越大表示录像文件越重要;
[0022] "缓冲区表"包括:"所属音视频流"、"帧率"、"最大帧长度"、"数据文件路径"、"索 引文件路径"、"数据区大小"、"索引区大小"、"录像状态标识",其中0表示"处于非录像状 态",1表示"处于录像状态";
[0023] "索引文件"的帧信息以固定长度的格式存储,其包括:"帧类型"、"时间戳"、"数据 文件内偏移"、"帧长度"4个字段,其中,帧类型为1个字节,0表示音频帧、1表示I帧、2表 示其他类型的帧;时间戳为10个字节;数据文件内偏移为10个字节;帧长度为9个字节。
[0024] 作为本发明的防意外中止的多路音视频流存储方法的优选实施方式,所述的步骤 S3进一步包括:
[0025] S3-1、连接"缓冲区表",返回各路音视频流的缓冲区信息和缓冲区的个数p,设i =1 ;
[0026] S3-2、判断音视频流L的"录像状态标识"是否为"1",若是,执行步骤S3-3,若否, 执行步骤S-5;
[0027] S3-3、连接"录像文件表",返回音视频流^的"录像完成标识"为"1"的记录,根 据返回记录的"录像文件路径"删除该录像文件;
[0028]S3-4、根据缓冲区的数据,在"录像文件路径"生成同名录像文件,更新"录像文件 表"的信息,更新Ii在"缓冲区表"的信息;
[0029] S3-5、i = i+1,判断i <p是否成立,若是,执行步骤S3-2,若否,结束;
[0030] 所述的步骤S3-4进一步包括:
[0031] S3-4-1、在"录像文件路径"下创建并打开同名的录像文件,设W = 0 ;
[0032] S3-4-2、读取音视频流^的"索引文件" W到W+K字节的数据,W = W+K;
[0033] S3-4-3、判断数据是否为空,若是,执行步骤S3-4-5;
[0034] S3-4-4、解析数据中的帧信息,根据"数据文件内偏移" Ps和"帧长度" 1 z,读取"数 据文件"中匕到P s+lz字节的帧数据,把帧数据填充进录像文件中,执行步骤S3-4-2;
[0035] S3-4-5、关闭录像文件,计算出录像文件的时间长度Lt,更新该录像文件在"录像 文件表"的信息,其中"录像时间"为Lt、"录像完成标识"为"0",更新^在"缓冲区表"的 信息,其中"录像状态标识"为"〇 ",结束。
[0036] 作为本发明的防意外中止的多路音视频流存储方法的优选实施方式,所述的步骤 S4进一步包括:
[0037] S4-1、连接"缓冲区表",返回各路音视频流的缓冲区信息和缓冲区的个数p,根据 公式(4)计算总预留空间Ls:
[0038]
(4)
[0039] S4-2、更新"缓冲区表"的信息,计时参数设置为0,生成"录像文件路径",在"录像 文件表"插入其记录;
[0040] S4-3、判断计时参数是否大于Lt,若是,执行步骤S4-4,否则,往缓冲区填充音视 频数据及其信息,执行步骤S4-7;
[0041] S4-4、判断剩余存储空间是否大于Ls,若是,执行步骤S4-5,否则删除录像文件, 重新执行步骤S4-4;
[0042] S4-5、根据缓冲区信息,在"录像文件路径"生成录像文件,更新"录像文件表"信 息;
[0043] S4-6、设置计时参数为0,生成"录像文件路径",在"录像文件表"插入其记录;
[0044] S4-7、判断是否停止,若是,执行步骤S4-9,若否,执行步骤S4-8;
[0045] S4-8、计时1秒后,计时参数加1,执行步骤S4-3;
[0046] S4-9、根据缓冲区信息,在"录像文件路径"生成录像文件,更新"录像文件表"信 息,更新"缓冲区表"的信息,结束;
[0047] 所述的步骤S4-2中,生成"录像文件路径"进一步包括:
[0048] S4-2-1、根据录像设备的特征生成一个唯一的文件夹路径,如该文件夹存在,则执 行步骤S4-2-2,否则,新建该文件夹,然后执行步骤S4-2-2;
[0049] S4-2-2、在该文件夹路径下,根据录像设备的特征生成唯一的"录像文件路径";
[0050] 所述的步骤S4-4进一步包括:
[0051] S4-4-1、判断剩余预设存储空间是否大于Ls,若是,则立刻执行步骤S4-5,若否, 执行步骤S4-4-2;
[0052] S4-4-2、连接"录像文件表"并返回预设个数的可删除的录像文件在"录像文件表" 的记录;
[0053] S4-4-3、根据"录像文件路径",删除录像文件并删除该录像文件在"录像文件表" 的记录,执行步骤S4-4-1;
[0054] 所述的步骤S4-5和步骤S3-4相似,区别在于步骤S4-5不用更新"缓冲区表"的 f目息;步骤S4_9和步骤S3_4相同。
[0055] 实施本发明的防意外中止的多路音视频流存储方法的技术方案具有如下有益效 果:本发明的防意外中止的多路音视频流存储方法判断是否初次启动,若是,设置缓冲区和 录像区并在缓冲区中创建缓冲文件;判断是否需要录像文件恢复,如是,进行录像文件恢 复;在录像区中进行多路音视频流存储。本发明能实现设备在意外中止后录像文件的恢复; 缓冲区和录像区使用不同硬盘进行读写,大大减少在存储过程中磁头的寻道次数,提高系 统的性能。
[0056] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够 更明显易懂,以下结合优选实施例,并配合附图,详细说明如下。
【附图说明】
[0057] 利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限 制。
[0058] 图1是本发明的防意外中止的多路音视频流存储方法的架构示意图。
[0059] 图2是本发明的防意外中止的多路音视频流存储方法的工作流程图。
[0060] 图3是本发明的防意外中止的多路音视频流存储方法的文件恢复的流程图。
[0061] 图4是本发明的防意外中止的多路音视频流存储方法的录像时间长度固定的多 路音视频流存储的流程图。