CN111063380A - 一种mp4文件生成方法,处理装置,设备以及存储介质 - Google Patents
一种mp4文件生成方法,处理装置,设备以及存储介质 Download PDFInfo
- Publication number
- CN111063380A CN111063380A CN202010000216.3A CN202010000216A CN111063380A CN 111063380 A CN111063380 A CN 111063380A CN 202010000216 A CN202010000216 A CN 202010000216A CN 111063380 A CN111063380 A CN 111063380A
- Authority
- CN
- China
- Prior art keywords
- file
- mdat
- moov
- reserved space
- new
- 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
- 238000000034 method Methods 0.000 title claims abstract description 27
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 claims abstract description 59
- 230000000694 effects Effects 0.000 claims abstract description 4
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000737 periodic effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/16—Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种mp4文件生成方法及处理装置,涉及视频录制技术领域。在mdat内的预留空间后写入moov。当预留空间快满时,设置新的预留空间,并在新的预留空间后写入新的moov,然后更新mdat的大小使得新的moov生效,此时旧的moov将被mdat的新数据覆盖,以这种方式不断循环。在mp4文件生成过程中保证mp4文件每一个时刻都有一个有效的moov,解决异常终止时mp4文件无moov导致无法法播放的问题,解决mp4文件生成的可靠性问题。
Description
技术领域
本发明涉及视频录制技术领域,尤其是一种mp4文件生成方法及处理装置,电子设备以及计算机可读存储介质。
背景技术
现有的网络视频装置在录制视频时一般采用电源电路进行供电,而没有备用电池。当因电源电路松开或损坏、外界原因造成电源总开关关闭出现电源断电时,所以在视频录制的时候很容易出现突然断电或卡机,导致视频文件录制出错,从而视频录像文件不完整,无法正常播放。除了断电还有可移动存储的插拔或者松动,软硬件故障导致死机等。
同时现有的mp4文件生成方式是,创建mp4文件,mp4文件在写入过程中,由于存放媒体流信息的索引部分(moov)与存放媒体流数据的部分(mdat)的大小都会随着媒体流数据的增加而增加,所以现有mp4库在写入mp4文件时,都会将moov缓存在内存中。只将媒体流数据mdat的部分写入硬盘,等所有数据写入完毕后,再将文件头部写入硬盘。也就是在mdat持续写入的同时,发生断电,此时moov并未写入到mdat的头部,因此无法从moov中读取mdat的媒流体数据。
发明内容
为解决现有技术的不足,本发明的目的在于提供一种mp4文件生成方法,使得mp4文件在录制过程中,有异常发生如断电或者进程崩溃,保证正在录制的mp4文件仍可播放,提高mp4文件生成的可靠性。
为了实现上述目标,本发明采用如下的技术方案:一种mp4文件生成方法,包括:媒体数据产生过程,将媒体数据写入mdat中;在mdat内设定预留空间,该预留空间用于写入后续一段时间内到来的媒体数据;在预留空间后写入当前的moov;在预留空间内持续写入媒体数据,直到接近当前的moov;当预留空间写满时,在写入的mdat之后再次设置新的预留空间;在新的预留空间之后设置新的moov,写入完毕更新mdat的大小,使新的moov生效;继续在新的预留空间内持续写入媒体数据。
进一步地,将mdat的大小设置为当前媒体数据大小加上预留空间的大小。
进一步地,一直保证每一个时刻有一个有效的moov。
进一步地,定期在包含了预留空间的mdat后更新moov。
进一步地,根据用户定义的时间需求设置预留空间及moov的定期更新。
一种mp4文件的处理装置,包括: mp4文件创建单元,所述mp4文件创建单元用于创建具有文件头ftyp的mp4文件; mdat文件创建单元,所述mdat文件创建单元用于写入在文件头ftyp之后的mdat文件; mdat预留空间创建单元,所述mdat预留空间创建单元用于在mdat内创建预留空间,所述预留空间用于写入音视频文件; moov文件创建单元,所述moov文件创建单元用于在预留空间后写入moov;当预留空间写满时,在写入的mdat之后再次设置新的预留空间,在新的预留空间之后设置新的moov;mp4文件组成单元,所述mp4文件组成单元用于按照mdat,moov的顺序组成mp4文件。
一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现上述文件生成方法。
一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现上述文件生成方法。
本发明的有益之处在于,mp4文件生成方法在实现简单,代码量小。此外在断电或者崩溃异常发生后,不需要修复可直接播放。同时对软件的兼容性好,具有较高的可靠性。
附图说明
图1是本发明中mp4文件的组成;
图2是在mdat内设置预留空间的示意图;
图3是在mdat的预留空间后设置当前的moov的示意图;
图4是预留空间写满后,新的预留空间和新的moov示意图;
图5是mdat扩容覆盖当前的moov,媒体数据在新的预留空间内写入的示意图;
图6是本发明的mp4文件生成流程图;
图7是本发明的处理装置结构单元示意图。
具体实施方式
以下结合附图和具体实施例对本发明作具体的介绍。
ISO/IEC14496-14中定义的mp4文件格式框不仅包括所需的框,还包括可根据需要使用的可选框,或由用户自由定义的框。例如文件类型框(以下称为“ftyp”)。ftyp必须位于mp4文件的开头。图1示出了使用ftyp的mp4 box的结构的示例。图1中mdat位于moov前面。
图2是本发明在mdat内设置预留空间的示意图,图3是本发明的mdat在预留空间后设置当前的moov的示意图。具体实施步骤如下:参见图3,在时间点T1时,音视频数据不断写入到预留空间,其中预留空间不会覆盖当前的moov,而当前的moov不进行更新,因此异常或者程序崩溃在时间点T1发生,当前的moov不会出现问题,仅仅影响是播放时少了这期间的小部分数据,不会破坏mp4文件的完整性。
参见图4,在时间点T2,当mdat将预留空间将要写满时,设置新的预留空间,在新的预留空间后写入新的moov。参见图5,此时继续写入音视频数据到新的预留空间,此时mdat扩容覆盖当前的moov。
如果系统在新的moov写入完毕并在mdat扩容前崩溃,新的moov仍然是有效状态,此时播放器可以正常读取。
如果系统在mdat扩容后崩溃,这时新的moov已经生效,播放器读取新的moov,从而保证mp4文件每一个时刻具有一个有效的moov。
其中,时间点T1代表正在写入媒体数据的时间,时间点T2代表更新moov的关键时间点。
本发明的mp4文件的生成原理如下:假设音视频数据的写入速度为x MB/s,步骤如图6所示:
步骤S101,创建mp4文件,写入ftyp等其它信息。
步骤S102,写入mdat模块,将mdat的大小设置为 当前大小 + x * n,本发明中预留空间的计算公式为x * n,其中n的单位为秒,其中n包括但不限于为30秒,60秒,300秒等。
进一步,n可以根据当前录入时间,在用户可接受的异常场景的最大丢失数据时间等配置结合不同的策略类型计算得到,例如策略类型包括固定,线性,指数等计算方式。当前文件的box分布状况如图2所示。
在mdat后写入当前的moov,当前文件的box分布状况如图3所示。
步骤S103,在mdat持续写入音视频数据直到逼近图4中文件中当前的moov,这时重新计算新的moov起始位置,新的moov起始位置为mdat的起始位置 + 当前mdat大小 + x *n,将新的moov写入文件中,当前文件的box分布状况为如图4所示。
步骤S104,更新mdat的大小,这时文件的有效moov为新的moov,box分布状况为如图5所示。
回到步骤S102直到录入结束,将当前的moov更新,结束文件录入。
上述的mp4文件生成方法的原理是每隔一段时间,在当前的音视频数据mdat后隔出一段空余量,将索引moov写入,保证无论是在什么时间点,都存在一个有效的索引moov。因此上述的mp4文件保存方法中,无需设置备用电源,从而保证在异常情况下mp4文件的正常保存和播放,避免增加了备用电源,进一步提高了网络视频设备存储的可靠性,提升了用户体验。
本发明中还包括一种mp4文件处理装置,如图7所示,包括:mp4文件创建单元,所述mp4文件创建单元用于创建具有文件头ftyp的mp4文件; mdat文件创建单元,所述mdat文件创建单元用于写入在文件头ftyp之后的mdat文件; mdat预留空间创建单元,所述mdat预留空间创建单元用于在mdat后创建预留空间,所述预留空间用于写入音视频数据; moov文件创建单元,所述moov文件创建单元用于在预留空间后写入moov;当预留空间写满时,在写入的mdat之后再次设置新的预留空间,在新的预留空间之后设置新的moov;mp4文件组成单元,所述mp4文件组成单元用于按照mdat,moov的顺序组成mp4文件。
一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现上述文件生成方法。
计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,上述实施例不以任何形式限制本发明,凡采用等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
Claims (8)
1.一种mp4文件生成方法,其特征在于,包括:
媒体数据产生过程,将媒体数据写入mdat中;
在mdat内设定预留空间,该预留空间用于写入后续一段时间内到来的媒体数据;
在预留空间后写入当前的moov;
在预留空间内持续写入媒体数据,直到接近当前的moov;
当预留空间写满时,在写入的mdat之后再次设置新的预留空间;
在新的预留空间之后设置新的moov,写入完毕更新mdat的大小,使新的moov生效;
继续在新的预留空间内持续写入媒体数据。
2.根据权利要求1所述的文件生成方法,其特征在于,将mdat的大小设置为当前媒体数据大小加上预留空间的大小。
3.根据权利要求2所述的文件生成方法,其特征在于,保证每一个时刻有一个有效的moov。
4.根据权利要求1所述的文件生成方法,其特征在于,定期在包含了预留空间的mdat后更新moov。
5.根据权利要求3所述的文件生成方法,其特征在于,根据用户定义的时间需求设置预留空间及moov的定期更新。
6.一种mp4文件的处理装置,其特征在于,其包括:
mp4文件创建单元,所述mp4文件创建单元用于创建具有文件头ftyp的mp4文件;
mdat文件创建单元,所述mdat文件创建单元用于写入在文件头ftyp之后的mdat文件;
mdat预留空间创建单元,所述mdat预留空间创建单元用于在mdat内创建预留空间,所述预留空间用于写入音视频数据;
moov文件创建单元,所述moov文件创建单元用于在预留空间后写入moov;
当预留空间写满时,在写入的mdat之后再次设置新的预留空间,在新的预留空间之后设置新的moov;
mp4文件组成单元,所述mp4文件组成单元用于按照mdat,moov的顺序组成mp4文件。
7.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010000216.3A CN111063380A (zh) | 2020-01-02 | 2020-01-02 | 一种mp4文件生成方法,处理装置,设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010000216.3A CN111063380A (zh) | 2020-01-02 | 2020-01-02 | 一种mp4文件生成方法,处理装置,设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111063380A true CN111063380A (zh) | 2020-04-24 |
Family
ID=70304748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010000216.3A Pending CN111063380A (zh) | 2020-01-02 | 2020-01-02 | 一种mp4文件生成方法,处理装置,设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111063380A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835993A (zh) * | 2020-09-16 | 2020-10-27 | 深圳市阿达视高新技术有限公司 | 防损坏视频存储方法、装置、设备和介质 |
CN111885331A (zh) * | 2020-07-25 | 2020-11-03 | 徐州云创电子科技有限公司 | 一种用于录像中断自动保存的新型mp4封装方法 |
CN113571100A (zh) * | 2021-07-19 | 2021-10-29 | 深圳软牛科技有限公司 | Mp4的生成方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063447A (zh) * | 2014-06-17 | 2014-09-24 | 惠州华阳通用电子有限公司 | 一种监控视频文件修复方法 |
CN105721809A (zh) * | 2014-12-02 | 2016-06-29 | 联咏科技股份有限公司 | 储存方法与录像系统 |
CN105847724A (zh) * | 2016-04-12 | 2016-08-10 | 深圳市极酷威视科技有限公司 | 一种视频录制断电保护方法及装置 |
CN108093299A (zh) * | 2017-12-22 | 2018-05-29 | 厦门市美亚柏科信息股份有限公司 | Mp4损坏文件的修复方法及存储介质 |
CN109936715A (zh) * | 2017-12-19 | 2019-06-25 | 华为技术有限公司 | 一种mp4文件的处理方法及其相关设备 |
-
2020
- 2020-01-02 CN CN202010000216.3A patent/CN111063380A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104063447A (zh) * | 2014-06-17 | 2014-09-24 | 惠州华阳通用电子有限公司 | 一种监控视频文件修复方法 |
CN105721809A (zh) * | 2014-12-02 | 2016-06-29 | 联咏科技股份有限公司 | 储存方法与录像系统 |
CN105847724A (zh) * | 2016-04-12 | 2016-08-10 | 深圳市极酷威视科技有限公司 | 一种视频录制断电保护方法及装置 |
CN109936715A (zh) * | 2017-12-19 | 2019-06-25 | 华为技术有限公司 | 一种mp4文件的处理方法及其相关设备 |
CN108093299A (zh) * | 2017-12-22 | 2018-05-29 | 厦门市美亚柏科信息股份有限公司 | Mp4损坏文件的修复方法及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885331A (zh) * | 2020-07-25 | 2020-11-03 | 徐州云创电子科技有限公司 | 一种用于录像中断自动保存的新型mp4封装方法 |
CN111835993A (zh) * | 2020-09-16 | 2020-10-27 | 深圳市阿达视高新技术有限公司 | 防损坏视频存储方法、装置、设备和介质 |
CN113571100A (zh) * | 2021-07-19 | 2021-10-29 | 深圳软牛科技有限公司 | Mp4的生成方法、装置、设备及存储介质 |
CN113571100B (zh) * | 2021-07-19 | 2023-02-10 | 深圳软牛科技有限公司 | Mp4的生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111063380A (zh) | 一种mp4文件生成方法,处理装置,设备以及存储介质 | |
US20090113147A1 (en) | Access control apparatus and access control method | |
US8780474B2 (en) | Writing data to tape medium | |
US8270813B2 (en) | Apparatus, method and computer program for processing information | |
US9081751B2 (en) | Video server and rebuild processing control method | |
JP5932731B2 (ja) | ホストとの間で映像データを含む複数のレコードを転送するテープドライブ、方法、およびプログラム | |
CN108521551A (zh) | 一种网络实时视频录制存储方法和系统以及文件恢复方法 | |
US20050177652A1 (en) | Hard disk drive system, method of using such a system and apparatus | |
JP2010522406A (ja) | 記憶媒体における誤りを防止するシステム及び方法 | |
KR100421343B1 (ko) | 디지털 데이터 기록/재생 방법 및 디지털 데이터기록/재생 장치 | |
CN105653385B (zh) | 一种车载录像方法 | |
KR100454520B1 (ko) | 기록 재생 디스크 제어 장치 및 그것을 이용한 디스크 장치 | |
US8811133B2 (en) | Writing system, writing device, and writing method | |
JP3570142B2 (ja) | 画像記録再生装置装置 | |
CN110825314B (zh) | 一种数据调度方法及装置 | |
CN113488082A (zh) | 一种针对嵌入式设备机械硬盘的音视频储存方法 | |
CN116881042A (zh) | Mp4文件录制断电恢复方法、装置、设备和存储介质 | |
JP2001282402A (ja) | 記録媒体制御装置 | |
CN1851816B (zh) | 信息处理设备和方法 | |
JP5024236B2 (ja) | 撮像装置 | |
CN115589480A (zh) | 一种基于moov的MP4视频修复方法与系统 | |
JP6367968B2 (ja) | 映像記録装置および映像記録方法 | |
JP3731586B2 (ja) | 画像記録再生装置装置 | |
JP2005115606A (ja) | データライブラリ装置 | |
JP3897050B2 (ja) | 画像記録再生装置装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200424 |