CN102938829A - 一种实时音视频流的预录实现方法 - Google Patents
一种实时音视频流的预录实现方法 Download PDFInfo
- Publication number
- CN102938829A CN102938829A CN2012103870816A CN201210387081A CN102938829A CN 102938829 A CN102938829 A CN 102938829A CN 2012103870816 A CN2012103870816 A CN 2012103870816A CN 201210387081 A CN201210387081 A CN 201210387081A CN 102938829 A CN102938829 A CN 102938829A
- Authority
- CN
- China
- Prior art keywords
- video
- fifo
- records
- recording
- audio
- 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.)
- Pending
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种实时音视频流的预录实现方法,包括:建立预录主FIFO与预录次FIFO;获取一帧音视频数据;判断所述音视数据无错误;当所述音视频数据为I帧时清空所述预录次FIFO;然后将所述音视频数据创建备份并写入所述预录次FIFO,并直接将所述音视频数据写入所述预录主FIFO;录像事件发生时,进行预录像,当录像停止时将所述预录次FIFO中内容写入所述预录主FIFO;获取下一帧数据。本发明通过建立预录主FIFO及预录次FIFO,将获取的音视频数据流写入预录主FIFO和预录次FIFO,录像触发时,将预录主FIFO中的内容写入文件,从而实现了保存录像触发前一段时间的录像,避免了丢失录像触发前的一段时间内的信息的目的。
Description
技术领域
本发明属于音视频流存储技术领域,尤其是一种实时音视频流的预录实现方法。
背景技术
未来监控系统发展的整体方向是数字化、智能化、自动化、网络化。网络化是监控系统的大势所趋,它大大地简化和提高了信息传递的方式和速度。随着网络技术和计算机技术的不断发展以及市场应用环境的逐步成熟,基于视频交换技术的网络视频监控系统已经成为监控系统发展方向。
网络摄像机集成普通摄像机和网络转换器,将图像转换为基于TCP/IP网络标准的数据包,使摄像机所摄的画面通过RJ-45以太网接口直接传送到网络上,通过网络即可获得远端监视画面。在这里实时音视频流通过前端摄像机采集并通过网络传递,由于监控系统前端设备通常比较轻巧,因此不可能将大量视频数据存储起来,大量的音视频数据只能通过网络传递到远端储存设备(SD卡,硬盘等存储设备)中进行保存,而存储的音视频数据大部分是冗余数据,客户浏览后会将其丢弃或删除,这样不仅造成存储空间的浪费,也会降低回放观察的效率。
目前,网络摄像机可以根据报警触发事件进行音视频数据的采集,并通过远端设备进行储存,这样可以节省大部分存储空间,但如果仅在信号触发之后保存音视频数据,又会丢失信号触发前的一部分数据,而在很多场合,这些数据又具有非常大的参考价值,因此保存在报警信号触发前一段时间的录像数据,与报警后的录像相配合,对于客户对报警前后的情景分析具有重要意义。
发明内容
本发明的目的在于提供一种时音视频流的预录实现方法,其科学合理、操作简便且能有效的记录信号触发前一段时间的音视频数据。
为实现上述的目的,本发明所采用的技术方案如下:
一种实时音视频流的预录实现方法,包括以下步骤:
(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)。
步骤(6)中,将所述一帧音视频数据写入到所述预录主FIFO的步骤为:
判断所述预录主FIFO的容量是否超过预设限制,是则删除所述预录主FIFO中最旧内容,将所述一帧音视频数据写入到所述预录主FIFO,否则直接将所述一帧音视频数据写入到所述预录主FIFO。
在写预录数据状态下,将所述预录主FIFO中内容写入所述新录像文件的方法为:
将预录主FIFO中内容按设定数量分割并顺序写入所述新录像文件,将已经写过内容删除后,将录像状态改变为正常写数据状态返回步骤(2);如果FIFO中内容小于设定数量,则将预录主FIFO中所有内容写入所述新录像文件,清空预录主FIFO,然后将录像状态改变为正常写数据状态,返回步骤(2)。
所述的预录主FIFO及预录次FIFO为所有形式的缓冲队列。
所述的预录主FIFO及预录次FIFO是先入先出的缓冲队列。
通过创建备份方式或计数方式将由步骤(2)获取的所述一帧音视频数据写入所述的预录主FIFO及预录次FIFO中。
本发明通过建立预录主FIFO及预录次FIFO,将获取的音视频数据流写入预录主FIFO与预录次FIFO,录像触发时,将预录主FIFO中的内容写入文件,从而实现了保存录像触发前一段时间的录像,避免了丢失录像触发前的一段时间内的信息的目的。
附图说明
图1所示为本发明实施例提供的实时音视频流的预录实现方法的流程图;
图2所示为本发明实施例提供的缓冲队列中保存的数据信息及实际数据关系的示意图;
图3所示为本发明实施例提供的进行预录像的流程图;
图4所示为本发明实施例提供的将数据写入预录主FIFO的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。
一种实时音视频流的预录实现方法,包括以下步骤:
S101:建立预录主FIFO与预录次FIFO;
所述FIFO可以是很多形式的缓冲队列,优选为先入先出的缓冲队列;
S102:获取一帧音视频数据;
在获取所述的音视频数据前,先通过程序的初始化,初始化以下标志位:包括录像状态、是否需要建立文件标志、是否正在写预录数据,预录主FIFO的大小限制等等,在检测到程序正在运行时,获取一帧音视频数据,检测方式可以通过检测程序退出标志是否为真来实现,也可通过其它方式来实现;
S103:判断所述一帧音视数据是否有错误,无错误则执行步骤S104,否则返回步骤S102;
网络摄像机实时监控时,在前端或者客户端需要手动或者因为报警触发录像,缓冲的时候主要将数据信息而不是实际的数据放入队列中,参见图2所示,实际数据包括数据头及数据内容,而缓冲队列中保存的数据信息则是指向数据的指针,以及所述指向数据的指针所指向的数据的大小。
S104:判断所述音视频数据是否I帧,是则执行步骤S105,否则执行步骤S106;
S105:清空所述预录次FIFO;
S106:将所述一帧音视频数据备份到所述预录次FIFO,将所述一帧音视频数据写入到所述预录主FIFO;
在接收到数据之后,首先对数据头进行校验、分析,主要是对视频帧中的I帧进行检测,检测到本帧是I帧,则需要对预录次FIFO进行释放指针所指向内容操作,清空预录次FIFO,之后将新得到的一帧数据创建备份(实际数据内容和数据信息)存入到预录次FIFO,并直接写入到预录主FIFO;通过以上的步骤操作,可以保证预录次FIFO始终存放最新的I帧视频数据。
S107:判断录像事件是否发生,是则执行步骤S108,否则执行步骤S102;
所述的录像事件包括:定时录像时间到来,发生录像警报,手动录像指令;通过将所述预录次FIFO中内容写入到所述预录主FIFO中,因而,当发生连续两个相邻的录像事件时,在后录像时可能会因为寻找I帧而丢失一部分音视频帧,所以,将以前最新的I帧拷贝到预当主FIFO中,这样,记录下的文件可能会有小部分重复,但不会丢失数据。
S108:进行预录像;参见图3所示,进行预录像的流程为:
步骤S801:刷新期望录像时长或文件大小;
步骤S802:根据所述录像时长或文件大小创建新录像文件;
步骤S803:创建成功则执行步骤S804,否者执行步骤S102;
步骤S804:根据录像状态操作:
a若录像状态为寻找I帧,找到最旧I帧删除,并将录像状态改变为写预录数据状态,否则返回步骤S102;
b若录像状态为写预录数据,将预录主FIFO中内容写入所述新录像文件,将录像状态改变为正常写数据状态,返回步骤S102;
检测到录像触发信号后进行录像流程,将所述的预录主FIFO中的内容写入新录像文件,在完成将预录主FIFO中内容写入新录像文件后,才开始正常写数据到文件。
c若录像状态为正常写数据状态,根据所述的录像时长或文件大小限制,判断是否需要建立新文件,是则在下一帧数据为I帧时创建新文件,否则写完预录主FIFO中内容到所述新录像文件,返回步骤S102;
S109:判断录像是否停止,如果停止执行步骤S110,否则返回步骤S102;
S110:将所述预录次FIFO中内容写入所述预录主FIFO,返回步骤S102。
本发明实施例中,在正常写数据状态下,在创建新文件时,根据所述的录像时长或文件大小限制,判断是否需要建立新文件,是则选择在下一帧数据为I帧时创建,这样,便于数据的视频解码,因为视频解码需要从I帧开始。
参见图4所示,本发明实施例中,在获取一帧音视频数据,检测判断无误后,将该一帧音视频数据写入所述预录主FIFO的步骤为:
判断所述预录主FIFO的容量是否超过预设限制,是则删除所述预录主FIFO中最旧内容,将所述一帧音视频数据写入到所述预录主FIFO,否则直接将所述一帧音视频数据写入到所述预录主FIFO。
本发明实施例中,所述的预录主FIFO容量,可以根据实际需要在建立时设置相应的容量大小,如2M。设置好后,在将获取的音视频数据写入时,首先要判断所述的预录主FIFO容量是否超过预设,如果没有,则直接将所述音视频数据写入所述预录主FIFO中,否则,需要删除该预录FIFO中最旧的数据,将新获取的数据再写入。
本发明实施例中,在录像状态为写预录数据时,将所述预录主FIFO中内容写入所述新录像文件的方法为:
将预录主FIFO中内容按设定数量分割并顺序写入所述新录像文件,将已经写过内容删除后,将录像状态改变为正常写数据状态返回步骤S102;如果FIFO中内容小于设定数量,则将预录主FIFO中所有内容写入所述新录像文件,清空预录主FIFO,然后将录像状态改变为正常写数据状态,返回步骤S102。
在对预录主FIFO中内容进行分割是应该在检测到I帧时分割,这样,就可以在连续录像时防止音视频数据的丢失。
通过将所述预录主FIFO中内容按设定数量进行分割后顺序写入到所述新录像文件中,方便对数据拷贝和文件的管理。
本发明实施例中,通过创建备份方式或计数方式将由步骤S102获取的所述一帧音视频数据写入所述的预录主FIFO及预录次FIFO中。
优选的,通过创建备份方式将由步骤S102获取并检测无误的所述一帧音视频数据写入到所述的预录主FIFO及预录次FIFO中。
本发明通过建立预录主FIFO及预录次FIFO,将获取的音视频数据流写入预录主FIFO与预录次FIFO,录像触发时,将预录主FIFO中的内容写入文件,从而实现了保存录像触发前一段时间的录像,避免了丢失录像触发前的一段时间内的信息的目的。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种实时音视频流的预录实现方法,其特征在于,包括以下步骤:
(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)。
2.根据权利要求1所述的实时音视频流的预录实现方法,其特征在于,步骤(6)中,将所述一帧音视频数据写入到所述预录主FIFO的步骤为:
判断所述预录主FIFO的容量是否超过预设限制,是则删除所述预录主FIFO中最旧内容,将所述一帧音视频数据写入到所述预录主FIFO,否则直接将所述一帧音视频数据写入到所述预录主FIFO。
3.根据权利要求1所述的实时音视频流的预录实现方法,其特征在于,在写预录数据状态下,将所述预录主FIFO中内容写入所述新录像文件的方法为:
将预录主FIFO中内容按设定数量分割并顺序写入所述新录像文件,将已经写过内容删除后,将录像状态改变为正常写数据状态返回步骤(2);如果FIFO中内容小于设定数量,则将预录主FIFO中所有内容写入所述新录像文件,清空预录主FIFO,然后将录像状态改变为正常写数据状态,返回步骤(2)。
4.根据权利要求1所述的实时音视频流的预录实现方法,其特征在于,所述的预录主FIFO及预录次FIFO为所有形式的缓冲队列。
5.根据权利要求4所述的实时音视频流的预录实现方法,其特征在于,所述的预录主FIFO及预录次FIFO是先入先出的缓冲队列。
6.根据权利要求1所述的实时音视频流的预录实现方法,其特征在于,通过创建备份方式或计数方式将由步骤(2)获取的所述一帧音视频数据写入所述的预录主FIFO及预录次FIFO中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103870816A CN102938829A (zh) | 2012-10-12 | 2012-10-12 | 一种实时音视频流的预录实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103870816A CN102938829A (zh) | 2012-10-12 | 2012-10-12 | 一种实时音视频流的预录实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102938829A true CN102938829A (zh) | 2013-02-20 |
Family
ID=47697695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012103870816A Pending CN102938829A (zh) | 2012-10-12 | 2012-10-12 | 一种实时音视频流的预录实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102938829A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141869A (zh) * | 2015-08-19 | 2015-12-09 | 中山市天启电子科技有限公司 | 基于Android系统的分段录像数据处理方法 |
CN106331555A (zh) * | 2016-08-31 | 2017-01-11 | 浙江大华技术股份有限公司 | 一种视频预录方法及装置 |
CN106550203A (zh) * | 2016-12-07 | 2017-03-29 | 高新兴科技集团股份有限公司 | 一种基于文件缓存实现监控视频的视频预录方法及其应用 |
CN107093436A (zh) * | 2017-03-10 | 2017-08-25 | 青岛海信移动通信技术股份有限公司 | 预录的音视频数据的存储方法及装置、移动终端 |
CN110083392A (zh) * | 2019-03-20 | 2019-08-02 | 深圳趣唱科技有限公司 | 音频唤醒预录的方法、存储介质、终端及其蓝牙耳机 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101437131A (zh) * | 2008-12-31 | 2009-05-20 | 中兴通讯股份有限公司 | 一种视频监控系统中前端录像的定制方法及装置 |
CN101729529A (zh) * | 2009-11-10 | 2010-06-09 | 中兴通讯股份有限公司 | 一种实时流文件存储装置及方法 |
CN101867786A (zh) * | 2009-04-20 | 2010-10-20 | 中兴通讯股份有限公司 | 一种视频监控方法及装置 |
CN102547221A (zh) * | 2010-12-16 | 2012-07-04 | 武汉磐大科技有限公司 | 基于移动侦测的视频录像及网络传输方法 |
-
2012
- 2012-10-12 CN CN2012103870816A patent/CN102938829A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101437131A (zh) * | 2008-12-31 | 2009-05-20 | 中兴通讯股份有限公司 | 一种视频监控系统中前端录像的定制方法及装置 |
CN101867786A (zh) * | 2009-04-20 | 2010-10-20 | 中兴通讯股份有限公司 | 一种视频监控方法及装置 |
CN101729529A (zh) * | 2009-11-10 | 2010-06-09 | 中兴通讯股份有限公司 | 一种实时流文件存储装置及方法 |
CN102547221A (zh) * | 2010-12-16 | 2012-07-04 | 武汉磐大科技有限公司 | 基于移动侦测的视频录像及网络传输方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141869A (zh) * | 2015-08-19 | 2015-12-09 | 中山市天启电子科技有限公司 | 基于Android系统的分段录像数据处理方法 |
CN105141869B (zh) * | 2015-08-19 | 2018-12-18 | 中山市天启智能科技有限公司 | 基于Android系统的分段录像数据处理方法 |
CN106331555A (zh) * | 2016-08-31 | 2017-01-11 | 浙江大华技术股份有限公司 | 一种视频预录方法及装置 |
CN106550203A (zh) * | 2016-12-07 | 2017-03-29 | 高新兴科技集团股份有限公司 | 一种基于文件缓存实现监控视频的视频预录方法及其应用 |
CN106550203B (zh) * | 2016-12-07 | 2019-07-23 | 高新兴科技集团股份有限公司 | 一种基于文件缓存实现监控视频的视频预录方法及其应用 |
CN107093436A (zh) * | 2017-03-10 | 2017-08-25 | 青岛海信移动通信技术股份有限公司 | 预录的音视频数据的存储方法及装置、移动终端 |
CN107093436B (zh) * | 2017-03-10 | 2020-02-04 | 青岛海信移动通信技术股份有限公司 | 预录的音视频数据的存储方法及装置、移动终端 |
CN110083392A (zh) * | 2019-03-20 | 2019-08-02 | 深圳趣唱科技有限公司 | 音频唤醒预录的方法、存储介质、终端及其蓝牙耳机 |
CN110083392B (zh) * | 2019-03-20 | 2022-06-14 | 深圳趣唱科技有限公司 | 音频唤醒预录的方法、存储介质、终端及其蓝牙耳机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101778265B (zh) | 基于异常事件检测和双流编码的视频监控方法 | |
WO2015096729A1 (zh) | 多媒体直播举报的方法、终端、服务器及系统 | |
WO2023284793A1 (zh) | 内存泄露处理方法、装置和电子设备 | |
US8683592B1 (en) | Associating network and storage activities for forensic analysis | |
CN102938829A (zh) | 一种实时音视频流的预录实现方法 | |
WO2016119528A1 (zh) | 视频数据的智能处理方法及系统 | |
CN101867792A (zh) | 视频录像缓冲的实时传输方法 | |
CN109379305B (zh) | 一种数据下发方法、装置、服务器及存储介质 | |
CN105791431A (zh) | 一种在线分布式监控视频处理任务调度方法及装置 | |
WO2010121475A1 (zh) | 一种视频监控方法及装置 | |
CN104394380A (zh) | 视频监控管理系统以及视频监控录像的回放方法 | |
WO2018024165A1 (zh) | 一种报警影像记录方法及装置 | |
CN110198435A (zh) | 视频监控录像数据云端存储系统及云存储方法 | |
CN110968279B (zh) | 一种消息的降级方法及相关装置 | |
US11012368B2 (en) | Data packet management in a memory constrained environment | |
CN104333724A (zh) | 嵌入式硬盘录像机的报警录像预录方法 | |
CN102376146A (zh) | 基于图像分析报警信号的报警事件信息保存方法 | |
CN101237571A (zh) | 一种监控系统中的视频编码的存储方法及设备 | |
WO2023246638A1 (zh) | 信息处理方法、装置、可穿戴设备和电子设备 | |
CN111131786A (zh) | 一种应用云存储的视频监控存储系统 | |
CN102932640B (zh) | 一种视频流帧率的控制方法 | |
CN102547221A (zh) | 基于移动侦测的视频录像及网络传输方法 | |
CN102457695B (zh) | 数字硬盘录像机及数字硬盘录像机抽帧备份方法 | |
CN115022585A (zh) | 告警视频抓取的方法和装置 | |
CN112181277B (zh) | 一种数据存储空间管理方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C05 | Deemed withdrawal (patent law before 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130220 |