本申请提供了一种MP4文件处理方法、装置、电子设备和存储介质。方法包括:录制MP4文件时,将媒体基本信息插入mdat box的起始位置,每录制完一个数据块,在所述数据块前插入扩展信息,其中,所述扩展信息指示数据块长度,以使播放器在所述MP4文件录制不完整时,根据所述媒体基本信息、录制完成的数据块和所述录制完成的数据块前的扩展信息,确定实际文件长度、确定当前所述数据块的偏移位置、通过所述媒体基本信息、所述实际文件长度、所述数据块长度和所述数据块偏移位置修复所述MP4文件。本申请解决了MP4文件没录制完成导致无法播放的问题。题。题。
【技术实现步骤摘要】
一种MP4文件处理方法、装置、电子设备和存储介质
[0001]本申请涉及音视频
,尤其涉及一种MP4文件处理方法、装置、电子设备和存储介质。
技术介绍
[0002]mp4或称MPEG
‑
4Part 14,是一种多媒体容器格式,扩展名为.mp4。MP4文件由许多box组成,每个box包含不同的信息,这些box以树形结构的方式组织。图1mp4的主要box的简要说明。可以看出,根节点之下,主要包含三个节点:ftyp:文件类型,描述遵从的规范的版本;moov box:媒体metadata信息;mdat:存放实际的媒体数据。moov box包括stsz和stco,其中,stsz包含音视频数据块的大小,stco包含音视频数据在文件中的偏移。播放器根据stsz和stco中的信息读取音视频数据解码播放。
[0003]录制mp4文件时,包含媒体metadata信息的moov box是在音视频数据录制结束时才写入到mp4文件结尾的。当存储程序由于bug意外崩溃或者服务器意外断电等情况发生时,会导致mp4文件只记录了mdat box的媒体数据,moov box中的内容没有来得及存入mp4文件,那么这样不完整的文件是无法播放的。
[0004]因此,针对现有技术中mp4文件录制不完整导致mp4文件无法正常播放的情况,目前尚无良好的解决方案。
技术实现思路
[0005]本申请实施例的目的在于提供一种MP4文件处理方法、装置、电子设备和存储介质,以解决mp4文件录制不完整导致mp4文件无法正常播放问题。具体技术方案如下:
[0006]第一方面,提供了一种MP4文件处理方法,应用于录制器,所述方法包括:
[0007]录制MP4文件时,将媒体基本信息插入录制数据存储空间的起始位置;
[0008]每录制完一个数据块,在所述数据块前插入扩展信息,其中,所述扩展信息指示数据块长度,
[0009]以使播放器在所述MP4文件录制不完整时,根据所述媒体基本信息、录制完成的数据块和所述录制完成的数据块前的扩展信息,确定实际文件长度、确定当前所述数据块的偏移位置、通过所述媒体基本信息、所述实际文件长度、所述数据块长度和所述数据块偏移位置修复所述MP4文件。
[0010]可选地,在所述数据块前插入扩展信息包括:
[0011]根据所述数据块的类型,在所述数据块前插入所述扩展信息,其中,所述扩展信息能够指示所述数据块的类型。
[0012]可选地,根据所述数据块的类型,在所述数据块前插入所述扩展信息包括:
[0013]若根据所述扩展信息确定所述数据块的类型为音频数据块,则确定所述音频数据块的音频长度;
[0014]根据预设的音频标识和所述音频长度,在所述音频数据块的前面存入音频扩展信
息,其中,所述音频扩展信息的长度为所述音频标识和所述音频长度的和值。
[0015]可选地,根据所述数据块的类型,在所述数据块前插入所述扩展信息包括:
[0016]若根据所述扩展信息确定所述数据块的类型为视频数据块,根据预设的视频标识,在所述视频数据块前面存入视频扩展信息,其中,所述视频扩展信息的长度为所述视频标识的长度。
[0017]第二方面,提供了一种MP4文件处理方法,应用于播放器,所述方法包括:
[0018]在所述MP4文件录制不完整的情况下,从录制数据存储空间的起始位置提取媒体基本信息;
[0019]通过读取每个数据块前插入的扩展信息,确定所述数据块的数据块长度,并确定当前所述数据块的偏移位置;
[0020]在录制完成的数据块全部读取结束后,根据所述媒体基本信息的长度、每个数据块的长度和每个扩展信息的长度的和值,确定实际文件长度;
[0021]根据所述媒体基本信息、所述实际文件长度、每个数据块长度和每个数据块偏移位置对所述MP4文件进行解析,以修复所述MP4文件。
[0022]可选地,通过读取每个数据块前插入的扩展信息,确定所述数据块的数据块长度包括:
[0023]读取所述扩展信息中的数据标识;
[0024]若根据所述数据标识识别到所述数据块为音频数据块,则将所述数据标识后的n个字节作为所述音频数据块的音频长度,其中,所述n个字节存在于所述扩展信息中。
[0025]可选地,通过读取每个数据块前插入的扩展信息,确定所述数据块的数据块长度包括:
[0026]读取所述扩展信息中的数据标识;
[0027]若根据所述数据标识识别到所述数据块为视频数据块,则将所述数据标识后的m个字节作为所述视频数据块的视频长度,其中,所述m个字节存在于所述数据块中。
[0028]第三方面,提供了一种MP4文件处理装置,应用于录制器,所述装置包括:
[0029]第一插入模块,用于录制MP4文件时,将媒体基本信息插入录制数据存储空间的起始位置;
[0030]第二插入模块,用于每录制完一个数据块,在所述数据块前插入扩展信息,其中,所述扩展信息指示数据块长度,
[0031]以使播放器在所述MP4文件录制不完整时,根据所述媒体基本信息、录制完成的数据块和所述录制完成的数据块前的扩展信息,确定实际文件长度、确定当前所述数据块的偏移位置、通过所述媒体基本信息、所述实际文件长度、所述数据块长度和所述数据块偏移位置修复所述MP4文件。
[0032]第四方面,提供了一种MP4文件处理装置,应用于播放器,所述装置包括:
[0033]提取模块,用于在所述MP4文件录制不完整的情况下,从录制数据存储空间的起始位置提取媒体基本信息;
[0034]读取模块,用于通过读取每个数据块前插入的扩展信息,确定所述数据块的数据块长度,并确定当前所述数据块的偏移位置;
[0035]确定模块,用于在录制完成的数据块全部读取结束后,根据所述媒体基本信息的
长度、每个数据块的长度和每个扩展信息的长度的和值,确定实际文件长度;
[0036]解析模块,用于根据所述媒体基本信息、所述实际文件长度、每个数据块长度和每个数据块偏移位置对所述MP4文件进行解析,以修复所述MP4文件。
[0037]第五方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0038]存储器,用于存放计算机程序;
[0039]处理器,用于执行存储器上所存放的程序时,实现任一所述的MP4文件处理方法步骤。
[0040]第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的MP4文件处理方法步骤。
[0041]本申请实施例有益效果:
[0042]本申请实施例提供了一种MP4文件处理方法,在录制过程中,录制器存入媒体metadata信息,并在数据块前面插入扩展信息,在MP4文件无法正常播放时,播放器首先读取媒体metadata本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种MP4文件处理方法,其特征在于,应用于录制器,所述方法包括:录制MP4文件时,将媒体基本信息插入录制数据存储空间的起始位置;每录制完一个数据块,在所述数据块前插入扩展信息,其中,所述扩展信息指示数据块长度;以使播放器在所述MP4文件录制不完整时,根据所述媒体基本信息、录制完成的数据块和所述录制完成的数据块前的扩展信息,确定实际文件长度、确定当前所述数据块的偏移位置、通过所述媒体基本信息、所述实际文件长度、所述数据块长度和所述数据块偏移位置修复所述MP4文件。2.根据权利要求1所述的方法,其特征在于,在所述数据块前插入扩展信息包括:根据所述数据块的类型,在所述数据块前插入所述扩展信息,其中,所述扩展信息能够指示所述数据块的类型。3.根据权利要求2所述的方法,其特征在于,根据所述数据块的类型,在所述数据块前插入所述扩展信息包括:若根据所述扩展信息确定所述数据块的类型为音频数据块,则确定所述音频数据块的音频长度;根据预设的音频标识和所述音频长度,在所述音频数据块的前面存入音频扩展信息,其中,所述音频扩展信息的长度为所述音频标识和所述音频长度的和值。4.根据权利要求2所述的方法,其特征在于,根据所述数据块的类型,在所述数据块前插入所述扩展信息包括:若根据所述扩展信息确定所述数据块的类型为视频数据块,根据预设的视频标识,在所述视频数据块前面存入视频扩展信息,其中,所述视频扩展信息的长度为所述视频标识的长度。5.一种MP4文件处理方法,其特征在于,应用于播放器,所述方法包括:在所述MP4文件录制不完整的情况下,从录制数据存储空间的起始位置提取媒体基本信息;通过读取每个数据块前插入的扩展信息,确定所述数据块的数据块长度,并确定当前所述数据块的偏移位置;在录制完成的数据块全部读取结束后,根据所述媒体基本信息的长度、每个数据块的长度和每个扩展信息的长度的和值,确定实际文件长度;根据所述媒体基本信息、所述实际文件长度、每个数据块长度和每个数据块偏移位置对所述MP4文件进行解析,以修复所述MP4文件。6.根据权利要求5所述的方法,其特征在于,通过读取每个数据块前插入的扩展信息,确定所述数据块的数据块长度包括:读取所述扩展信息中的数据标识;若根据所述数据标识识别到所述数据块为音频数据块,则将所述数据标识后的n个字节作为所...
【专利技术属性】
技术研发人员:王建国,赵剑,谢添,陈可到,
申请(专利权)人:北京东土和兴科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。