一种实时音视频流的预录实现方法技术

技术编号:8348778 阅读:495 留言:0更新日期:2013-02-21 03:38
本发明专利技术公开了一种实时音视频流的预录实现方法,包括:建立预录主FIFO与预录次FIFO;获取一帧音视频数据;判断所述音视数据无错误;当所述音视频数据为I帧时清空所述预录次FIFO;然后将所述音视频数据创建备份并写入所述预录次FIFO,并直接将所述音视频数据写入所述预录主FIFO;录像事件发生时,进行预录像,当录像停止时将所述预录次FIFO中内容写入所述预录主FIFO;获取下一帧数据。本发明专利技术通过建立预录主FIFO及预录次FIFO,将获取的音视频数据流写入预录主FIFO和预录次FIFO,录像触发时,将预录主FIFO中的内容写入文件,从而实现了保存录像触发前一段时间的录像,避免了丢失录像触发前的一段时间内的信息的目的。

【技术实现步骤摘要】

本专利技术属于音视频流存储
,尤其是。
技术介绍
未来监控系统发展的整体方向是数字化、智能化、自动化、网络化。网络化是监控系统的大势所趋,它大大地简化和提高了信息传递的方式和速度。随着网络技术和计算机技术的不断发展以及市场应用环境的逐步成熟,基于视频交换技术的网络视频监控系统已经成为监控系统发展方向。网络摄像机集成普通摄像机和网络转换器,将图像转换为基于TCP/IP网络标准的数据包,使摄像机所摄的画面通过RJ-45以太网接口直接传送到网络上,通过网络即可获得远端监视画面。在这里实时音视频流通过前端摄像机采集并通过网络传递,由于监控系统前端设备通常比较轻巧,因此不可能将大量视频数据存储起来,大量的音视频数据只能通过网络传递到远端储存设备(SD卡,硬盘等存储设备)中进行保存,而存储的音视频数据大部分是冗余数据,客户浏览后会将其丢弃或删除,这样不仅造成存储空间的浪费,也会降低回放观察的效率。目前,网络摄像机可以根据报警触发事件进行音视频数据的采集,并通过远端设备进行储存,这样可以节省大部分存储空间,但如果仅在信号触发之后保存音视频数据,又会丢失信号触发前的一部分数据,而在很多场合,这些数据又具有非常大的参考价值,因此保存在报警信号触发前一段时间的录像数据,与报警后的录像相配合,对于客户对报警前后的情景分析具有重要意义。
技术实现思路
本专利技术的目的在于提供一种时音视频流的预录实现方法,其科学合理、操作简便且能有效的记录信号触发前一段时间的音视频数据。为实现上述的目的,本专利技术所采用的技术方案如下—种实时音视频流的预录实现方法,包括以下步骤(I)建立预录主FIFO与预录次FIFO ;(2)获取一帧音视频数据;(3)判断所述一帧音视数据是否有错误,无错误则执行步骤(4),否则返回步骤(2);(4)判断所述音视频数据是否I帧,是则执行步骤(5),否则执行步骤(6);(5)清空所述预录次FIFO ;(6)将所述一帧音视频数据备份到所述预录次FIFO,并将所述一帧音视频数据写入到所述预录主FIFO ;(7)判断录像事件是否发生,是则执行步骤(8),否则执行步骤(2);(8)进行预录像;步骤801、刷新期望录像时长或文件大小;步骤802、根据所述录像时长或文件大小创建新录像文件,创建成功则执行步骤803,否者执行步骤(2);步骤803、根据录像状态操作a若录像状态为寻找I帧,找到最旧I帧删除,并将录像状态改变为写预录数据状态,否则返回步骤(2);b若录像状态为写预录数据,将预录主FIFO中内容写入所述新录像文件,将录像状态改变为正常写数据状态,返回步骤(2);c若录像状态为正常写数据状态,根据所述录像时长或文件大小限制,判断是否需要建立新文件,是则在下一帧数据为I帧时创建新文件,否则写完预录主FIFO中内容到所述新录像文件,返回步骤(2);(9)判断录像是否停止,是则执行步骤(10),否则返回步骤(2);(10)将所述预录次FIFO中内容写入所述预录主FIFO,返回步骤(2)。步骤(6)中,将所述一帧音视频数据写入到所述预录主FIFO的步骤为判断所述预录主FIFO的容量是否超过预设限制,是则删除所述预录主FIFO中最旧内容,将所述一帧音视频数据写入到所述预录主FIF0,否则直接将所述一帧音视频数据写入到所述预录主FIFO。在写预录数据状态下,将所述预录主FIFO中内容写入所述新录像文件的方法为将预录主FIFO中内容按设定数量分割并顺序写入所述新录像文件,将已经写过内容删除后,将录像状态改变为正常写数据状态返回步骤(2);如果FIFO中内容小于设定数量,则将预录主FIFO中所有内容写入所述新录像文件,清空预录主FIF0,然后将录像状态改变为正常写数据状态,返回步骤(2)。所述的预录主FIFO及预录次FIFO为所有形式的缓冲队列。所述的预录主FIFO及预录次FIFO是先入先出的缓冲队列。通过创建备份方式或计数方式将由步骤(2)获取的所述一帧音视频数据写入所述的预录主FIFO及预录次FIFO中。本专利技术通过建立预录主FIFO及预录次FIF0,将获取的音视频数据流写入预录主FIFO与预录次FIFO,录像触发时,将预录主FIFO中的内容写入文件,从而实现了保存录像触发前一段时间的录像,避免了丢失录像触发前的一段时间内的信息的目的。附图说明图I所示为本专利技术实施例提供的实时音视频流的预录实现方法的流程图;图2所示为本专利技术实施例提供的缓冲队列中保存的数据信息及实际数据关系的示意图;图3所示为本专利技术实施例提供的进行预录像的流程图;图4所示为本专利技术实施例提供的将数据写入预录主FIFO的流程图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进行进一步详细说明。—种实时音视频流的预录实现方法,包括以下步骤SlOl :建立预录主FIFO与预录次FIFO ;所述FIFO可以是很多形式的缓冲队列,优选为先入先出的缓冲队列;S102 :获取一帧音视频数据;在获取所述的音视频数据前,先通过程序的初始化,初始化以下标志位包括录像状态、是否需要建立文件标志、是否正在写预录数据,预录主FIFO的大小限制等等,在检测到程序正在运行时,获取一帧音视频数据,检测方式可以通过检测程序退出标志是否为真来实现,也可通过其它方式来实现;S103 :判断所述一帧音视数据是否有错误,无错误则执行步骤S104,否则返回步骤 S102 ;网络摄像机实时监控时,在前端或者客户端需要手动或者因为报警触发录像,缓冲的时候主要将数据信息而不是实际的数据放入队列中,参见图2所示,实际数据包括数据头及数据内容,而缓冲队列中保存的数据信息则是指向数据的指针,以及所述指向数据的指针所指向的数据的大小。S104 :判断所述音视频数据是否I帧,是则执行步骤S105,否则执行步骤S106 ;S105 :清空所述预录次FIFO ;S106 :将所述一帧音视频数据备份到所述预录次FIF0,将所述一帧音视频数据写入到所述预录主FIFO ;在接收到数据之后,首先对数据头进行校验、分析,主要是对视频帧中的I帧进行检测,检测到本帧是I帧,则需要对预录次FIFO进行释放指针所指向内容操作,清空预录次FIF0,之后将新得到的一帧数据创建备份(实际数据内容和数据信息)存入到预录次FIF0,并直接写入到预录主FIFO ;通过以上的步骤操作,可以保证预录次FIFO始终存放最新的I帧视频数据。S107 :判断录像事件是否发生,是则执行步骤S108,否则执行步骤S102 ;所述的录像事件包括定时录像时间到来,发生录像警报,手动录像指令;通过将所述预录次FIFO中内容写入到所述预录主FIFO中,因而,当发生连续两个相邻的录像事件时,在后录像时可能会因为寻找I帧而丢失一部分音视频帧,所以,将以前最新的I帧拷贝到预当主FIFO中,这样,记录下的文件可能会有小部分重复,但不会丢失数据。S108 :进行预录像;参见图3所示,进行预录像的流程为步骤S801 :刷新期望录像时长或文件大小;步骤S802 :根据所述录像时长或文件大小创建新录像文件;步骤S803 :创建成功则执行步骤S804,否者执行步骤S102 ;步骤S804 :根据录像状态操作a若录像状态为寻找I帧,找到最旧I帧删除,并将录像状本文档来自技高网...

【技术保护点】
一种实时音视频流的预录实现方法,其特征在于,包括以下步骤:(1)建立预录主FIFO与预录次FIFO;(2)获取一帧音视频数据;(3)判断所述一帧音视数据是否有错误,无错误则执行步骤(4),否则返回步骤(2);(4)判断所述音视频数据是否I帧,是则执行步骤(5),否则执行步骤(6);(5)清空所述预录次FIFO;(6)将所述一帧音视频数据备份到所述预录次FIFO,并将所述一帧数据写入到所述预录主FIFO;(7)判断录像事件是否发生,是则执行步骤(8),否则执行步骤(2);(8)进行预录像;步骤801、刷新期望录像时长或文件大小;步骤802、根据所述录像时长或文件大小创建新录像文件,创建成功则执行步骤803,否者执行步骤(2);步骤803、根据录像状态操作:a若录像状态为寻找I帧,找到最旧I帧删除,并将录像状态改变为写预录数据状态,否则返回步骤(2);b若录像状态为写预录数据,将预录主FIFO中内容写入所述新录像文件,将录像状态改变为正常写数据状态,返回步骤(2);c若录像状态为正常写数据状态,根据所述录像时长或文件大小限制,判断是否需要建立新文件,是则在下一帧数据为I帧时创建新文件,否则写完预录主FIFO中内容到所述新录像文件,返回步骤(2);(9)判断录像是否停止,是则执行步骤(10),否则返回步骤(2);(10)将所述预录次FIFO中内容写入所述预录主FIFO,返回步骤(2)。...

【技术特征摘要】

【专利技术属性】
技术研发人员:武付军许龙杰
申请(专利权)人:天津市亚安科技股份有限公司
类型:发明
国别省市:

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

1