CN117539683A - Mp4文件处理方法、装置、电子设备及存储介质 - Google Patents

Mp4文件处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117539683A
CN117539683A CN202311432686.7A CN202311432686A CN117539683A CN 117539683 A CN117539683 A CN 117539683A CN 202311432686 A CN202311432686 A CN 202311432686A CN 117539683 A CN117539683 A CN 117539683A
Authority
CN
China
Prior art keywords
file
box
abnormal
data block
sample
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
Application number
CN202311432686.7A
Other languages
English (en)
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.)
Beijing Thunisoft Information Technology Co ltd
Original Assignee
Beijing Thunisoft Information 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 Beijing Thunisoft Information Technology Co ltd filed Critical Beijing Thunisoft Information Technology Co ltd
Priority to CN202311432686.7A priority Critical patent/CN117539683A/zh
Publication of CN117539683A publication Critical patent/CN117539683A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本申请实施例提供一种MP4文件处理方法、装置、电子设备及存储介质,在本申请实施例中,在录制设备录制MP4文件期间,为MP4文件创建临时信息文件,临时信息文件记录了修复异常MP4文件所需的信息,这样,当需要修复异常MP4文件时,基于临时信息文件在所述异常MP4文件中添加元数据数据块moov Box,并在所述异常MP4文件中添加文件类型数据块ftpy Box,以将所述异常MP4文件修复为正常MP4文件。进而提供了一种高效的修复MP4文件的方式,能够有效解决录制设备异常退出造成MP4文件损坏无法播放的问题。

Description

MP4文件处理方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种MP4文件处理方法、装置、电子设备及存储介质。
背景技术
法院开庭时,通常利用录制设备录制开庭时的音视频信息,并将录制的音视频信息存储为MP4(Moving Picture Experts Group 4,动态图像专家组4)文件,将MP4文件进行存档以在后续被播放器解析播放。而录制设备录制过程中,有可能因为断电、宕机等原因异常退出,导致MP4文件损坏,后续无法正常被播放器解析播放。
发明内容
本申请的多个方面提供一种MP4文件处理方法、装置、电子设备及存储介质,用以提供一种高效的修复MP4文件的方式,能够有效解决录制设备异常退出造成MP4文件损坏无法播放的问题。
本申请实施例提供一种MP4文件处理方法,包括:获取异常MP4文件及其对应的临时信息文件,其中,所述异常MP4文件中的媒体数据块mdat Box已经写入录制设备录制的音视频数据,所述临时信息文件包括:所述音视频数据的视频解码信息、音频解码信息,以及所述音视频数据中各个Sample数据帧的属性数据,所述属性数据包括帧类型、帧长度、位置信息、显示时间戳PTS和解码时间戳DTS;根据所述临时信息文件在所述异常MP4文件中添加元数据数据块moov Box,并在所述异常MP4文件中添加文件类型数据块ftpy Box,以将所述异常MP4文件修复为正常MP4文件。
本申请实施例还提供一种MP4文件处理装置,包括:获取模块,用于获取异常MP4文件及其对应的临时信息文件,其中,所述异常MP4文件中的媒体数据块mdat Box已经写入录制设备录制的音视频数据,所述临时信息文件包括:所述音视频数据的视频解码信息、音频解码信息,以及所述音视频数据中各个Sample数据帧的属性数据,所述属性数据包括帧类型、帧长度、位置信息、显示时间戳PTS和解码时间戳DTS;修复模块,用于根据所述临时信息文件在所述异常MP4文件中添加元数据数据块moov Box,并在所述异常MP4文件中添加文件类型数据块ftpy Box,以将所述异常MP4文件修复为正常MP4文件。
本申请实施例还提供一种电子设备,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行MP4文件处理方法中的步骤。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使所述处理器能够实现MP4文件处理方法中的步骤。
在本申请实施例中,在录制设备录制MP4文件期间,为MP4文件创建临时信息文件,临时信息文件记录了修复异常MP4文件所需的信息,这样,当需要修复异常MP4文件时,基于临时信息文件在所述异常MP4文件中添加元数据数据块moov Box,并在所述异常MP4文件中添加文件类型数据块ftpy Box,以将所述异常MP4文件修复为正常MP4文件。进而提供了一种高效的修复MP4文件的方式,能够有效解决录制设备异常退出造成MP4文件损坏无法播放的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种MP4文件处理方法的流程图;
图2为示例性的MP4文件的基本结构;
图3为本申请实施例提供的一种MP4文件处理装置的结构示意图。
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的访问关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”一般表示前后关联对象是一种“或”的关系。此外,在本申请实施例中,“第一”、“第二”、“第三”、等只是为了区分不同对象的内容而已,并无其它特殊含义。
法院开庭时,通常利用录制设备录制开庭时的音视频信息,并将录制的音视频信息存储为MP4(Moving Picture Experts Group 4,动态图像专家组4)文件,将MP4文件进行存档以在后续被播放器解析播放。而录制设备录制过程中,有可能因为断电、宕机等原因异常退出,导致MP4文件损坏,后续无法正常被播放器解析播放。
为此,本申请实施例提供一种MP4文件处理方法、装置、电子设备及存储介质,在本申请实施例中,在录制设备录制MP4文件期间,为MP4文件创建临时信息文件,临时信息文件记录了修复异常MP4文件所需的信息,这样,当需要修复异常MP4文件时,基于临时信息文件在所述异常MP4文件中添加元数据数据块moov Box,并在所述异常MP4文件中添加文件类型数据块ftpy Box,以将所述异常MP4文件修复为正常MP4文件。进而提供了一种高效的修复MP4文件的方式,能够有效解决录制设备异常退出造成MP4文件损坏无法播放的问题。
以下结合附图,详细说明本申请各实施例提供的技术方案。该方法可由MP4文件处理装置执行,该装置可由软件和/或硬件组成,并一般可以配置在电子设备中。
图1为本申请实施例提供的一种MP4文件处理方法的流程图。参见图1,该方法包括以下步骤:
101、获取异常MP4文件及其对应的临时信息文件,其中,异常MP4文件中的媒体数据块mdat Box已经写入录制设备录制的音视频数据,临时信息文件包括:音视频数据的视频解码信息、音频解码信息,以及音视频数据中各个Sample数据帧的属性数据,属性数据包括帧类型、帧长度、位置信息、显示时间戳PTS和解码时间戳DTS。
具体而言,异常MP4文件是指需要修复的MP4文件。通常,MP4文件录制期间,若录制设备录制过程中,有可能因为断电、宕机等原因异常退出,导致MP4文件损坏,后续无法正常被播放器解析播放。这样,录制设备异常退出后保存的MP4文件是异常MP4文件,需要进行修复才能被播放器解析播放。
图2为示例性的MP4文件的基本结构。MP4文件由多个Box(可称作为数据块)组成的一般至少有三个Box,分别为ftyp Box(File Type Box,文件类型数据块)、mdat Box(MediaData Box,媒体数据块)、moov Box(Movie Box,元数据数据块)。其中,chunk(可称作为块)是sample集合,mdat Box和moov Box顺序可以颠倒。mdat Box是存储音视频数据的,sample代表音视频数据中的每一帧。在生成MP4文件时,由于不知道什么时候结束录制,所以一般moov Box是无法提前写入MP4文件的,而MP4文件缺失moov Box,将导致MP4文件无法正常被播放器解析播放。
在本实施例中,在录制MP4文件时,为MP4文件创建对应的临时信息文件。这样,当后续MP4文件为异常MP4文件,可以通过临时信息文件将异常MP4文件修复为正常MP4文件。
基于此,在MP4文件录制期间,实时获取录制设备录制的音视频数据;对音视频数据进行解析,以获取音视频数据的视频解码信息、音频解码信息、各个Sample以及各个Sample的属性数据;将各个Sample写入MP4文件中的媒体数据块mdat Box;将视频解码信息、音频解码信息和各个Sample的属性数据写入临时信息文件;响应于录制设备异常退出,保存包括mdat Box的MP4文件;响应于录制设备录制结束,在MP4文件添加元数据数据块moov Box和文件类型数据块ftpy Box,并保存MP4文件。
具体而言,视频解码信息例如包括但不限于:视频的编码类型、图像高、图像宽、诸如帧率、码率或分辨率等解码参数。音频解码信息例如包括但不限于:采样率、声音通道、解码参数等等。Sample的属性数据例如包括但不限于:帧类型、帧长度、位置信息、显示时间戳(Presentation Time Stamp,PTS)和解码时间戳(Decoding Time Stamp,DTS)。帧类型例如包括但不限于:视频帧和音频帧和关键帧等等。视频帧的帧类型又包括:关键帧和非关键帧。
实际应用中,若录制设备异常退出,则创建的MP4文件包括mdat Box,而缺失moovBox,录制设备异常退出保存的异常MP4文件。若录制设备基于正常的录制结束指令结束录制,则创建完整的MP4文件,完整的MP4文件不缺失moov Box和ftpy Box,录制设备保存是正常MP4文件。
在一些可选的实施例中,在录制设备重启后,可以识别重启之前保存的MP4文件是否为异常MP4文件,并对异常MP4文件进行修复,以保证后续能够正常播放异常MP4文件。于是,获取异常MP4文件的实现方式可以包括:响应于录制设备被重启,获取录制设备重启之前保存的MP4文件;判断重启之前保存的MP4文件是否包括moov Box;若不包括moov Box,确定重启之前保存的MP4文件为异常MP4文件。若包括moov Box,确定重启之前保存的MP4文件为正常MP4文件。
102、根据临时信息文件在异常MP4文件中添加元数据数据块moov Box,并在异常MP4文件中添加文件类型数据块ftpy Box,以将异常MP4文件修复为正常MP4文件。
具体而言,根据临时信息文件在异常MP4文件中添加元数据数据块moov Box时,根据临时信息文件确定Sample表数据块Stbl Box;
根据Stbl Box在异常MP4文件中添加元数据数据块moov Box。
具体而言,修复异常MP4文件主要是修复Stbl Box(sample table Box,也可以称作为Sample表数据块)下的子Box。Stbl Box下的子Box主要包括但不限于:stsd Box(Sample Description Box,描述信息数据块)、stsc Box(Sample To Chunk Box,映射表数据块)、stts(Time To Sample Box,sample解码时间的压缩表)、ctts Box(compositiontime to sample Box,sample的CTS与DTS的时间差的压缩表)、stsz Box(sample sizeBox,帧大小数据块)、stco Box(chunk offset Box,位置信息数据块)。
其中,stsd Box主要记录解码所需参数。
由于多个sample组成一个chunk,stsc Box保存了sample和chunk之间的映射关系。
stss Box保存了哪些帧是关键帧,存放了关键帧的序号。做跳转时,视频需要从关键帧开始解码,否则解码会出现异常。
stts Box记录的是各个Sample的DTS,以及上一个Sample与下一个Sample之间的DTS差值。
ctts Box主要记录各个Sample的PTS、各个Sample的DTS与PTS之间的差值。
stsz Box记录每个sample的帧大小;stco Box:描述每个chunk相对文件的偏移量。
在根据临时信息文件确定Sample表数据块Stbl Box时,可以根据视频解码信息和音频解码信息生成描述信息数据块stsd Box;根据Sample与chunk块之间的映射关系,生成映射表数据块stsc Box;根据各个Sample的DTS,确定每相邻两个Sample之间的DTS差值,并根据各个Sample的DTS,以及每相邻两个Sample之间的DTS差值生成stts Box;根据各个Sample的DTS和PTS,确定各个Sample的DTS与PTS之间的差值,并根据各个Sample的PTS、DTS与PTS之间的差值,生成ctts Box;根据各个Sample的帧类型确定关键帧,根据关键帧的序号生成关键帧数据块stss Box;根据各个Sample的帧大小,生成帧大小数据块stsz Box;根据各个Sample的位置信息生成位置信息数据块stco Box;根据stsd Box、stsc Box、SttsBox、ctts Box以及stss Box,生成Stbl Box。
实际应用中,在Sample与chunk块之间的映射关系时,可以将按照序号从小到大的顺序排序的多个Sample划分为多个chunk,每个chunk包括的Sample数量不做限制。例如,每个chunk包括一个Sample。又例如,第1个chunk包括排序在第1位、第2位、第3位的三个Sample;第2个chunk包括排序在第4位和第5位的两个Sample;第3个chunk包括排序在第6位、第7位、第8位、第9位的四个Sample。
在本实施例中,根据Stbl Box在异常MP4文件中添加元数据数据块moov Box。
在MP4文件中,moov Box除了stbl Box下的子Box大小由存储的音视频数据(sample)决定其大小外,其他Box几乎是固定结构的,只是其某些字段的值大小不一样。所以修复主要是修复stbl Box下的子Box,修复顺序依次为:
stbl Box->minf Box->mdia Box->trak Box->moov Box。也即修复完stbl Box后,基于stbl Box修复minf Box;修复完minf Box后,基于minf Box修复trak Box;修复完trak Box后基于trak Box修复moov Box。
其中,minf Box(Media Information Box)该Box声明了媒体特征信息的所有对象;mdia Box(Media Box)描述了轨道的媒体数据样本的主要信息;trak Box包含了单个轨道的元信息。
在本实施例中,既在异常MP4文件中添加元数据数据块moov Box,还在异常MP4文件中添加文件类型数据块ftpy Box,以将异常MP4文件修复为正常MP4文件。
本申请实施例提供的技术方案,在录制设备录制MP4文件期间,为MP4文件创建临时信息文件,临时信息文件记录了修复异常MP4文件所需的信息,这样,当需要修复异常MP4文件时,基于临时信息文件在异常MP4文件中添加元数据数据块moov Box,并在异常MP4文件中添加文件类型数据块ftpy Box,以将异常MP4文件修复为正常MP4文件。进而提供了一种高效的修复MP4文件的方式,能够有效解决录制设备异常退出造成MP4文件损坏无法播放的问题。
图3为本申请实施例提供的一种MP4文件处理装置的结构示意图。参见图3,该装置可以包括:
获取模块31,用于获取异常MP4文件及其对应的临时信息文件,其中,异常MP4文件中的媒体数据块mdat Box已经写入录制设备录制的音视频数据,临时信息文件包括:音视频数据的视频解码信息、音频解码信息,以及音视频数据中各个Sample数据帧的属性数据,属性数据包括帧类型、帧长度、位置信息、显示时间戳PTS和解码时间戳DTS;
修复模块32,用于根据临时信息文件在异常MP4文件中添加元数据数据块moovBox,并在异常MP4文件中添加文件类型数据块ftpy Box,以将异常MP4文件修复为正常MP4文件。
可选的,修复模块32根据临时信息文件在异常MP4文件中添加元数据数据块moovBox时,具体用于:根据临时信息文件确定Sample表数据块Stbl Box;根据Stbl Box在异常MP4文件中添加元数据数据块moov Box。
可选的,修复模块32根据临时信息文件确定Sample表数据块Stbl Box时,具体用于:根据视频解码信息和音频解码信息生成描述信息数据块stsd Box;根据Sample与chunk块之间的映射关系,生成映射表数据块stsc Box;根据各个Sample的DTS,确定每相邻两个Sample之间的DTS差值,并根据各个Sample的DTS,以及每相邻两个Sample之间的DTS差值生成Stts Box;根据各个Sample的DTS和PTS,确定各个Sample的DTS与PTS之间的差值,并根据各个Sample的PTS、DTS与PTS之间的差值,生成ctts Box;根据各个Sample的帧类型确定关键帧,根据关键帧的序号生成关键帧数据块stss Box;根据各个Sample的帧大小,生成帧大小数据块stsz Box;根据各个Sample的位置信息生成位置信息数据块stco Box;根据stsdBox、stsc Box、Stts Box、ctts Box以及stss Box,生成Stbl Box。
可选的,获取模块32在获取异常MP4文件及其对应的临时信息文件之前,还用于:实时获取录制设备录制的音视频数据;对音视频数据进行解析,以获取音视频数据的视频解码信息、音频解码信息、各个Sample以及各个Sample的属性数据;将各个Sample写入MP4文件中的媒体数据块mdat Box;将视频解码信息、音频解码信息和各个Sample的属性数据写入临时信息文件;响应于录制设备异常退出,保存包括mdat Box的MP4文件。响应于录制设备录制结束,在MP4文件添加元数据数据块moov Box和文件类型数据块ftpy Box,并保存MP4文件。
可选的,获取模块32获取异常MP4文件时,具体用于:响应于录制设备被重启,获取录制设备重启之前保存的MP4文件;判断重启之前保存的MP4文件是否包括moov Box;若不包括moov Box,确定重启之前保存的MP4文件为异常MP4文件。
可选的,获取模块32还用于:若包括moov Box,确定重启之前保存的MP4文件为正常MP4文件。
图3所示的装置可以执行图1所示实施例所示的方法,其实现原理和技术效果不再赘述。对于上述实施例中的图3所示的装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101至步骤102的执行主体可以为设备A;又比如,步骤101的执行主体可以为设备A,步骤102的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
图4为本申请实施例提供的一种电子设备的结构示意图。如图4所示,该电子设备包括:存储器41和处理器42;
存储器41,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器41可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-AccessMemory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable read only memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read-Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器42,与存储器41耦合,用于执行存储器41中的计算机程序,以用于:执行MP4文件处理方法中的步骤。
进一步,如图4所示,该电子设备还包括:通信组件34、显示器44、电源组件45、音频组件46等其它组件。图4中仅示意性给出部分组件,并不意味着电子设备只包括图4所示组件。另外,图4中虚线框内的组件为可选组件,而非必选组件,具体可视电子设备的产品形态而定。本实施例的电子设备可以实现为台式电脑、笔记本电脑、智能手机或IOT(物联网,Internet of things)设备等终端设备,也可以是常规服务器、云服务器或服务器阵列等服务端设备。若本实施例的电子设备实现为台式电脑、笔记本电脑、智能手机等终端设备,可以包含图4中虚线框内的组件;若本实施例的电子设备实现为常规服务器、云服务器或服务器阵列等服务端设备,则可以不包含图4中虚线框内的组件。
关于处理器执行各动作的详细实施过程可参见前述方法实施例或设备实施例中的相关描述,在此不再赘述。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
相应地,本申请实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器能够实现上述方法实施例中可由电子设备执行的各步骤。
上述通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi(WirelessFidelity,无线保真)、2G(2Generation,2代)、3G(3Generation,3代)、4G(4Generation,4代)/LTE(long Term Evolution,长期演进)、5G(5Generation,5代)等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NearField Communication,NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(Radio Frequency Identification,RFID)技术,红外数据协会(The Infrared DataAssociation,IrDA)技术,超宽带(Ultra Wide Band,UWB)技术,蓝牙(Bluetooth,BT)技术和其他技术来实现。
上述显示器包括屏幕,其屏幕可以包括液晶显示器(Liquid Crystal Display,LCD)和触摸面板(Touch Panel,TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(microphone,MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(Central ProcessingUnit,CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变化内存(Phase Change RAM,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(DynamicRandom Access Memory,DRAM)、其他类型的随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(Digital versatiledisc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种MP4文件处理方法,其特征在于,包括:
获取异常MP4文件及其对应的临时信息文件,其中,所述异常MP4文件中的媒体数据块mdat Box已经写入录制设备录制的音视频数据,所述临时信息文件包括:所述音视频数据的视频解码信息、音频解码信息,以及所述音视频数据中各个Sample数据帧的属性数据,所述属性数据包括帧类型、帧长度、位置信息、显示时间戳PTS和解码时间戳DTS;
根据所述临时信息文件在所述异常MP4文件中添加元数据数据块moov Box,并在所述异常MP4文件中添加文件类型数据块ftpy Box,以将所述异常MP4文件修复为正常MP4文件。
2.根据权利要求1所述的方法,其特征在于,根据所述临时信息文件在所述异常MP4文件中添加元数据数据块moov Box,包括:
根据所述临时信息文件确定Sample表数据块StblBox;
根据StblBox在所述异常MP4文件中添加元数据数据块moov Box。
3.根据权利要求2所述的方法,其特征在于,根据所述临时信息文件确定Sample表数据块StblBox,包括:
根据所述视频解码信息和音频解码信息生成描述信息数据块stsd Box;
根据Sample与chunk块之间的映射关系,生成映射表数据块stsc Box;
根据各个Sample的DTS,确定每相邻两个Sample之间的DTS差值,并根据各个Sample的DTS,以及每相邻两个Sample之间的DTS差值生成Stts Box;
根据各个Sample的DTS和PTS,确定各个Sample的DTS与PTS之间的差值,并根据各个Sample的PTS、DTS与PTS之间的差值,生成ctts Box;
根据各个Sample的帧类型确定关键帧,根据关键帧的序号生成关键帧数据块stssBox;
根据各个Sample的帧大小,生成帧大小数据块stsz Box;
根据各个Sample的位置信息生成位置信息数据块stco Box;
根据stsd Box、stsc Box、Stts Box、ctts Box以及stss Box,生成StblBox。
4.根据权利要求1所述的方法,其特征在于,获取异常MP4文件及其对应的临时信息文件之前,还包括:
实时获取所述录制设备录制的音视频数据;
对所述音视频数据进行解析,以获取所述音视频数据的视频解码信息、音频解码信息、各个Sample以及各个Sample的属性数据;
将各个Sample写入MP4文件中的媒体数据块mdat Box;
将视频解码信息、音频解码信息和各个Sample的属性数据写入临时信息文件;
响应于所述录制设备异常退出,保存包括mdat Box的MP4文件。
响应于所述录制设备录制结束,在所述MP4文件添加元数据数据块moov Box和文件类型数据块ftpy Box,并保存所述MP4文件。
5.根据权利要求1所述的方法,其特征在于,获取异常MP4文件,包括:
响应于录制设备被重启,获取所述录制设备重启之前保存的MP4文件;
判断重启之前保存的MP4文件是否包括moov Box;
若不包括moov Box,确定重启之前保存的MP4文件为异常MP4文件。
6.根据权利要求5所述的方法,其特征在于,
若包括moov Box,确定重启之前保存的MP4文件为正常MP4文件。
7.一种MP4文件处理装置,其特征在于,包括:
获取模块,用于获取异常MP4文件及其对应的临时信息文件,其中,所述异常MP4文件中的媒体数据块mdat Box已经写入录制设备录制的音视频数据,所述临时信息文件包括:所述音视频数据的视频解码信息、音频解码信息,以及所述音视频数据中各个Sample数据帧的属性数据,所述属性数据包括帧类型、帧长度、位置信息、显示时间戳PTS和解码时间戳DTS;
修复模块,用于根据所述临时信息文件在所述异常MP4文件中添加元数据数据块moovBox,并在所述异常MP4文件中添加文件类型数据块ftpy Box,以将所述异常MP4文件修复为正常MP4文件。
8.根据权利要求7所述的装置,其特征在于,修复模块根据所述临时信息文件在所述异常MP4文件中添加元数据数据块moov Box时,具体用于:
根据所述临时信息文件确定Sample表数据块StblBox;
根据StblBox在所述异常MP4文件中添加元数据数据块moov Box。
9.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器,用于存储计算机程序;所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求1-6任一项所述方法中的步骤。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求1-6任一项所述方法中的步骤。
CN202311432686.7A 2023-10-31 2023-10-31 Mp4文件处理方法、装置、电子设备及存储介质 Pending CN117539683A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311432686.7A CN117539683A (zh) 2023-10-31 2023-10-31 Mp4文件处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311432686.7A CN117539683A (zh) 2023-10-31 2023-10-31 Mp4文件处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117539683A true CN117539683A (zh) 2024-02-09

Family

ID=89792886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311432686.7A Pending CN117539683A (zh) 2023-10-31 2023-10-31 Mp4文件处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117539683A (zh)

Similar Documents

Publication Publication Date Title
CN101438593B (zh) 基于缩略图像的视频浏览
EP2901372B1 (en) Using digital fingerprints to associate data with a work
JP2010078979A (ja) 音声録音装置、録音音声検索方法及びプログラム
CN107093436B (zh) 预录的音视频数据的存储方法及装置、移动终端
CN106792118A (zh) 多媒体文件的播放方法及装置
US8868429B2 (en) Method and device for storing audio data
CN108230487A (zh) 共享摄像头资源的方法及设备
CN113660658B (zh) 音频数据的保护方法、装置和语音设备
CN105578224A (zh) 一种多媒体数据的获取方法、装置、智能电视及机顶盒
US11049257B2 (en) Data structure, information processing apparatus, and control method thereof
CN111263211A (zh) 一种缓存视频数据的方法及终端设备
CN117539683A (zh) Mp4文件处理方法、装置、电子设备及存储介质
CN108345434B (zh) 数据写入方法、装置、计算机设备及可读存储介质
US20120308200A1 (en) Contiguous media playback
CN116112476A (zh) 一种云桌面的多媒体播放方法、系统、设备及存储介质
KR100597669B1 (ko) 멀티미디어 콘텐츠의 재생이 가능한 이동통신단말기 및 그재생방법
CN112738564B (zh) 数据处理方法、装置、电子设备及存储介质
CN114758661A (zh) 蓝牙音频处理方法、装置及存储介质
WO2015131700A1 (zh) 文件存储方法及装置
KR20210010081A (ko) 이벤트를 기록하는 이벤트기록방법 및 장치
CN109862193A (zh) 一种终端中来电视频的控制方法及装置
CN118264851A (zh) 视频处理方法、装置、设备、介质及程序产品
CN114449316B (zh) 一种视频处理方法、装置、电子设备及存储介质
CN111459896B (zh) 数据恢复系统和方法、电子设备以及计算机可读存储介质
US10091536B2 (en) Method for transmitting an on-demand video file

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