CN105872484B - 一种监控录像异常的保护方法 - Google Patents

一种监控录像异常的保护方法 Download PDF

Info

Publication number
CN105872484B
CN105872484B CN201610386218.4A CN201610386218A CN105872484B CN 105872484 B CN105872484 B CN 105872484B CN 201610386218 A CN201610386218 A CN 201610386218A CN 105872484 B CN105872484 B CN 105872484B
Authority
CN
China
Prior art keywords
box
index information
file
video
media data
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.)
Active
Application number
CN201610386218.4A
Other languages
English (en)
Other versions
CN105872484A (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.)
Uniontech Software Technology Co Ltd
Original Assignee
WUHAN CHENGMAI 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 WUHAN CHENGMAI TECHNOLOGY Co Ltd filed Critical WUHAN CHENGMAI TECHNOLOGY Co Ltd
Priority to CN201610386218.4A priority Critical patent/CN105872484B/zh
Publication of CN105872484A publication Critical patent/CN105872484A/zh
Application granted granted Critical
Publication of CN105872484B publication Critical patent/CN105872484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

本发明涉及视频编辑技术领域,具体的说是一种监控录像异常的保护方法。本发明方法针对异常发生时录像文件由于缺少索引信息而无法播放的问题,在文件开始位置预留索引信息空间,在录像过程中周期性的向预留的索引信息空间更新录像文件的索引信息,只要录像文件中包含任意一次写入的索引信息,改录像文件就可以播放。另外,本发明方法通过系统同步sync方法与设置pdflush参数结合的方式解决Linux缓冲机制引起的异常发生时数据丢失问题,在尽量少丢失数据的同时不会使得IO占用过多cpu资源。

Description

一种监控录像异常的保护方法
技术领域
本发明涉及视频编辑技术领域,具体的说是一种监控录像异常的保护方法。
背景技术
监控录像过程通常需要将音视频数据编码后,写入本地媒体文件,本地媒体文件多采用MP4或者3GP格式。MP4或者3GP格式一般会在音视频流数据写入完成后即录像结束时生成索引信息并写入文件末尾位置,如果缺少索引信息会导致无法播放,所以在录像过程中如果有异常情况发生,例如异常断电,存储设备断开连接等情况时,录像文件就会损坏无法播放。
针对异常情况,还有一个问题需要解决,目前监控录像设备多基于Linux系统开发,Linux系统中会启用缓冲页机制:在应用层向文件写入数据时,写入的数据不会立即写到存储设备硬件中,而是写到内存缓冲区中,由Linux内核选择合适的时机将内存缓冲区的内容同步到存储设备硬件中,那么在录像过程中,媒体数据或者索引信息可能只是写到了内存缓冲区中,而没有写到存储设备硬件中,此时异常情况发生时,会造成数据丢失。
发明内容
本发明的目的是为了克服上述现有技术的不足之处,提供一种监控录像异常的保护方法,用以解决监控录像过程中发生异常情况导致视频无法播放以及数据丢失的问题,在监控录像设备发生异常时,使用本方法录像文件可以直接观看到异常发生前的画面。
本发明的目的是通过以下技术措施实现的。
一种监控录像异常的保护方法,包括以下步骤:
(1)接收到开始录像指令,创建一个空录像文件,向该录像文件中写入头信息ftypbox;
(2)在录像文件紧跟ftyp box后为索引信息预留一定区域,该区域根据估算的索引信息块moov box的大小预留,供后续更新索引信息使用,更新索引信息后,该预留区域中未使用的部分作为文件空闲区域free box,文件空闲区域free box之后的部分作为媒体数据块mdat box;
(3)开始通过摄像头获取音视频媒体数据,将媒体数据分组打包,此处将间隔时间T1内的数据作为一组进行打包,T1的取值范围为100ms-10s;
(4)将上述打包的媒体数据写入录像文件的媒体数据块mdat box;
(5)生成索引信息内容,将索引信息内容写入到录像文件的索引信息块moov box,并更新媒体数据块mdat box的大小值;每隔时间T2,更新一次索引信息块moov box,T2的取值范围为100ms-30s;
(6)判断当前录像时长,如果小于2秒,调用系统同步sync函数来保证头信息ftypbox、索引信息块moov box、媒体数据块mdat box写入到存储设备硬件;如果大于2秒,检查并设置pdflush的参数,设置pdflush中dirty_expire_centisecs和dirty_writeback_centisecs的值,取值范围为50-3000;
(7)重复执行步骤(3)到步骤(6),直至录像完成。
在上述技术方案中,步骤(5)中T2的取值等于T1。
在上述技术方案中,步骤(6)中dirty_expire_centisecs的取值为150,dirty_writeback_centisecs的取值为100。
在上述技术方案中,使用本方法生成的MP4文件的结构依次为:
文件头信息ftyp box;
文件索引信息块moov box,紧跟文件头信息ftyp box之后;
文件空闲区域free box,为索引信息预留的区域不会全部使用完,未使用的区域作为free box;
文件媒体数据块mdat box。
在上述技术方案中,提到的索引信息块moov box内容如下表所示。
索引信息块moov box内容
本发明提供了一种监控录像异常的保护方法,针对异常发生时录像文件由于缺少索引信息而无法播放的问题,在文件开始位置预留索引信息空间,在录像过程中周期性的向预留的索引信息空间更新录像文件的索引信息,只要录像文件中包含任意一次写入的索引信息,改录像文件就可以播放。另外,本方法通过系统同步sync方法与设置pdflush参数结合的方式解决Linux缓冲机制引起的异常发生时数据丢失问题,在尽量少丢失数据的同时不会使得IO占用过多cpu资源。使用本方法后,在录像过程中IO占用CPU资源没有明显升高,而且发生异常情况(例如断电,TF卡拔出)时,存储设备中的录像文件可以直接播放,而且可以播放到异常情况发生前1秒左右。
附图说明
图1是本发明方法实施例的流程图。
具体实施方式
下面结合附图对本发明作进一步详细描述。
如图1所示,本发明实施例提供一种监控录像异常的保护方法,包括以下步骤:
(1)接收到开始录像指令,创建一个空录像文件,向该录像文件中写入头信息ftypbox;
(2)在录像文件紧跟ftyp box后为索引信息预留一定区域,该区域根据估算的索引信息块moov box的大小预留,供后续更新索引信息使用,更新索引信息后,该预留区域中未使用的部分作为文件空闲区域free box,文件空闲区域free box之后的部分作为媒体数据块mdat box;
(3)开始通过摄像头获取音视频媒体数据,将媒体数据分组打包,此处按300ms数据作为一组进行打包;
(4)将上述打包的媒体数据写入录像文件的媒体数据块mdat box;
(5)生成索引信息内容,将索引信息内容写入到录像文件的索引信息块moov box,并更新媒体数据块mdat box的大小值;由于步骤(3)中媒体数据按300ms进行打包,那么此处为每300ms执行一次,即每300ms更新索引信息块moov box;
(6)判断当前录像时长,如果小于2秒,调用系统同步sync函数来保证头信息ftypbox、索引信息块moov box、媒体数据块mdat box写入到存储设备硬件;如果大于2秒,检查并设置pdflush的参数,设置pdflush中dirty_expire_centisecs和dirty_writeback_centisecs的值分别为150和100;
(7)重复执行步骤(3)到步骤(6),直至录像完成。
在上述实施例中,步骤(6)为可选步骤,即为非必要步骤。
在上述实施例中,使用本方法生成的MP4文件的结构依次为:
文件头信息ftyp box;
文件索引信息块moov box,紧跟文件头信息ftyp box之后;
文件空闲区域free box,为索引信息预留的区域不会全部使用完,未使用的区域作为free box;
文件媒体数据块mdat box。
在上述实施例中,提到的索引信息块moov box内容如下表所示。
索引信息块moov box内容
本说明书中未作详细描述的内容,属于本专业技术人员公知的现有技术。

Claims (4)

1.一种监控录像异常的保护方法,其特征在于该方法包括以下步骤:
(1)接收到开始录像指令,创建一个空录像文件,向该录像文件中写入头信息ftypbox;
(2)在录像文件紧跟ftyp box后为索引信息预留一定区域,该区域根据估算的索引信息块moov box的大小预留,供后续更新索引信息使用,更新索引信息后,该预留区域中未使用的部分作为文件空闲区域free box,文件空闲区域free box之后的部分作为媒体数据块mdat box;
(3)开始通过摄像头获取音视频媒体数据,将媒体数据分组打包,此处将间隔时间T1内的数据作为一组进行打包,T1的取值范围为100ms-10s;
(4)将上述打包的媒体数据写入录像文件的媒体数据块mdat box;
(5)生成索引信息内容,将索引信息内容写入到录像文件的索引信息块moov box,并更新媒体数据块mdat box的大小值;每隔时间T2,更新一次索引信息块moov box,T2的取值范围为100ms-30s;
(6)判断当前录像时长,如果小于2秒,调用系统同步sync函数来保证头信息ftyp box、索引信息块moov box、媒体数据块mdat box写入到存储设备硬件;如果大于2秒,检查并设置pdflush的参数,设置pdflush中dirty_expire_centisecs和dirty_writeback_centisecs的值,取值范围为50-3000;
(7)重复执行步骤(3)到步骤(6),直至录像完成。
2.根据权利要求1所述的监控录像异常的保护方法,其特征是:步骤(5)中T2的取值等于T1。
3.根据权利要求1所述的监控录像异常的保护方法,其特征是:步骤(6)中dirty_expire_centisecs的取值为150,dirty_writeback_centisecs的取值为100。
4.根据权利要求1所述的监控录像异常的保护方法,其特征是该方法生成的MP4文件的结构依次为:
文件头信息ftyp box;
文件索引信息块moov box,紧跟文件头信息ftyp box之后;
文件空闲区域free box,为索引信息预留的区域不会全部使用完,未使用的区域作为free box;
文件媒体数据块mdat box。
CN201610386218.4A 2016-06-04 2016-06-04 一种监控录像异常的保护方法 Active CN105872484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610386218.4A CN105872484B (zh) 2016-06-04 2016-06-04 一种监控录像异常的保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610386218.4A CN105872484B (zh) 2016-06-04 2016-06-04 一种监控录像异常的保护方法

Publications (2)

Publication Number Publication Date
CN105872484A CN105872484A (zh) 2016-08-17
CN105872484B true CN105872484B (zh) 2017-07-21

Family

ID=56676096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610386218.4A Active CN105872484B (zh) 2016-06-04 2016-06-04 一种监控录像异常的保护方法

Country Status (1)

Country Link
CN (1) CN105872484B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106935252A (zh) * 2017-02-08 2017-07-07 苏州科达科技股份有限公司 一种mp4文件生成方法及装置
CN107273244A (zh) * 2017-06-08 2017-10-20 深圳市普天宜通技术股份有限公司 一种媒体文件存储的容错控制方法及系统
CN107896343A (zh) * 2017-11-29 2018-04-10 天津聚飞创新科技有限公司 Mp4文件的修复方法及装置
CN109936715B (zh) * 2017-12-19 2021-09-03 华为技术有限公司 一种mp4文件的处理方法及其相关设备
CN110798730A (zh) * 2019-11-14 2020-02-14 深圳市浪涛科技有限公司 一种mp4文件录制及修复方法
CN111835993A (zh) * 2020-09-16 2020-10-27 深圳市阿达视高新技术有限公司 防损坏视频存储方法、装置、设备和介质
CN112732180B (zh) * 2020-12-29 2023-04-14 哈尔滨海能达科技有限公司 一种信息处理方法、处理装置、电子设备及存储介质
CN113571100B (zh) * 2021-07-19 2023-02-10 深圳软牛科技有限公司 Mp4的生成方法、装置、设备及存储介质
CN113555040B (zh) * 2021-09-18 2021-12-14 南京美乐威电子科技有限公司 多媒体文件中moov容器的写入方法和计算机可读存储介质
CN114173075B (zh) * 2021-10-22 2024-01-30 广州市奥威亚电子科技有限公司 用于录制的mp4文件保存方法、装置、电子设备及存储介质
CN114374875B (zh) * 2021-12-31 2024-05-28 浙江大华技术股份有限公司 一种mp4文件的录制方法、装置及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2597870A2 (en) * 2010-07-19 2013-05-29 LG Electronics Inc. Method for transceiving media files and device for transmitting/receiving using same
CN104063447A (zh) * 2014-06-17 2014-09-24 惠州华阳通用电子有限公司 一种监控视频文件修复方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2597870A2 (en) * 2010-07-19 2013-05-29 LG Electronics Inc. Method for transceiving media files and device for transmitting/receiving using same
CN104063447A (zh) * 2014-06-17 2014-09-24 惠州华阳通用电子有限公司 一种监控视频文件修复方法

Also Published As

Publication number Publication date
CN105872484A (zh) 2016-08-17

Similar Documents

Publication Publication Date Title
CN105872484B (zh) 一种监控录像异常的保护方法
CN105847724B (zh) 一种视频录制断电保护方法及装置
CN104063447B (zh) 一种监控视频文件修复方法
US11100956B2 (en) MP4 file processing method and related device
WO2020215453A1 (zh) 一种视频录制方法及系统
CN104410807A (zh) 一种多路视频同步回放方法及装置
JP2007012112A (ja) データ記録装置及びその方法、プログラム、記録媒体
CN103731625A (zh) 一种多路音视频同时同步播放的方法
CN105472207A (zh) 一种视音频文件渲染方法及装置
CN105578224A (zh) 一种多媒体数据的获取方法、装置、智能电视及机顶盒
CN103096132B (zh) Ts文件快进快退的方法及装置
CN114374875B (zh) 一种mp4文件的录制方法、装置及可读存储介质
CN106534748B (zh) 媒体文件的录制播放方法及终端
CN108966000A (zh) 播放方法及其装置、介质、终端
CN105744297A (zh) 码流传输方法和装置
JP2009296365A (ja) 映像収録再生装置、映像収録方法及び映像再生方法
CN105323653B (zh) 一种播放片段视频的方法及设备
CN102646433B (zh) 数字法庭的流媒体实时录制文件的生成方法、装置和系统
CN103165155B (zh) 记录装置及其控制方法
CA2475147A1 (en) Method of presenting auxiliary data for an interactive recording medium
CN105684456A (zh) 一种视频软件中广告插入的方法及系统
CN103426448A (zh) 时间戳调整系统及方法
CN110636368A (zh) 媒体播放方法及装置
CN105142036B (zh) 一种在ps流以及流媒体中支持背景帧随机访问的方法
CN109120986B (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
GR01 Patent grant
CP03 Change of name, title or address

Address after: 430079 13 / F and 14 / F, building 4, North A5, phase I, Longshan Innovation Park, future science and Technology City, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee after: Wuhan Tongxin Software Technology Co.,Ltd.

Address before: 430074 4th floor, building A2, optical valley software park, No.1 Guanshan Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee before: ARCHERMIND TECHNOLOGY (WUHAN) Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230915

Address after: 100176 18th floor, building 12, courtyard 10, KEGU 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Patentee after: Tongxin Software Technology Co.,Ltd.

Address before: 430079 13 / F and 14 / F, building 4, North A5, phase I, Longshan Innovation Park, future science and Technology City, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province

Patentee before: Wuhan Tongxin Software Technology Co.,Ltd.

TR01 Transfer of patent right