一种多媒体文件的录制方法和装置的制造方法
【技术领域】
[0001] 本发明涉及多媒体的技术领域,特别是涉及一种多媒体文件的录制方法和一种多 媒体文件的录制装置。
【背景技术】
[0002] 随着移动通信技术的快速发展,移动通信终端在人们的工作、学习、日常交流等各 方面的使用率也越来越高,可以说,移动通信终端是人们生活不可或缺的一部分。
[0003] 录像是移动通信终端的一个常用功能,由于节目(如文艺汇演)录制等录像的过 程很长,而目前绝大多数的存储器(SD卡)的格式为FAT32,单个文件最大存储限制是4G, 因此,通常需要分成多个多媒体文件进行录制。
[0004] 由于系统的限制,在多媒体文件切换时,一般需要停止录制工具的运行,再重新启 动录制工具,进行新的多媒体文件的录制。
[0005] 目前的移动通信终端,很多录制的多媒体文件都是MPEG-4格式的,MPEG-4格式的 文件中的所有数据都装在box中,也就是说MPEG-4格式的文件由若干个box组成,每个box 有类型和长度,可以将box理解为一个数据对象块。
[0006] MPEG-4格式的文件的媒体信息和数据是分开存放的,即想获得数据之前必须要解 析出每个帧数据所有的位置,MPEG-4格式的文件存放这个帧信息的是放在stbl这个box 里,而真实的数据放在mdat这个box中。
[0007] 在文件录制结束时,需要在MPEG-4格式的文件产生一个头部信息,以备播放器播 放文件所用。
[0008] 可见,MPEG-4格式的文件结构复杂,使得MPEG-4格式的多媒体文件在录制的封装 时,需要花费很长的时间,时延很大,在连续录制时容易造成卡顿的现象,造成切换时的丢 帧。
【发明内容】
[0009] 鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题地解决上述问题 的一种多媒体文件的录制方法和相应的一种多媒体文件的录制装置。
[0010] 为了解决上述问题,本发明实施例公开了一种多媒体文件的录制方法,包括:
[0011] 接收到多媒体文件的录制请求时,设置录制参数,其中,所述录制参数包括数据 源、编码格式、文件输出格式,所述文件输出格式设置为传输流TS格式;
[0012] 通过所述数据源采集多媒体数据;
[0013] 按照所述编码格式对所述多媒体数据进行编码;
[0014] 将编码之后的多媒体数据按照所述传输流TS格式封装至第一多媒体文件;
[0015] 当所述第一多媒体文件超过预设的文件大小阈值时,将编码之后的多媒体数据按 照所述传输流TS格式封装至第二多媒体文件。
[0016] 优选地,所述将编码之后的多媒体数据按照所述传输流TS格式封装至第一多媒 体文件的步骤包括:
[0017] 在所述多媒体文件的文件名中配置时间信息。
[0018] 优选地,所述时间信息包括封装起始时间、封装完成时间;
[0019] 所述对所述多媒体文件配置时间信息的步骤包括:
[0020] 当开始封装多媒体文件时,在所述多媒体文件的文件名中,将当前时间配置为封 装起始时间;
[0021] 当完成封装多媒体文件时,在所述多媒体文件的文件名中,将当前时间配置为封 装完成时间。
[0022] 优选地,还包括:
[0023] 当所有多媒体文件封装完成时,生成配置文件;
[0024] 其中,所述配置文件中包括文件总信息和每个多媒体文件的文件子信息;
[0025] 所述文件子信息按照时间信息排序,包括基于所述时间信息计算的时长信息、路 径信息中的至少一者;
[0026] 所述文件总信息包括累加每个多媒体文件的时长信息获得的总时长信息、视频名 称、视频画面大小中的至少一者。
[0027] 优选地,在所述设置录制参数的步骤之前,所述方法还包括:
[0028] 创建多媒体录制对象MediaRecorder;
[0029] 由所述多媒体录制对象MediaRecorder对象创建多媒体录制服务实例 StageFrightRecorder〇
[0030] 优选地,所述设置录制参数的步骤包括:
[0031] 由所述多媒体录制对象MediaRecorder设置录制参数;
[0032] 其中,在操作系统的Java层中,所述多媒体录制对象MediaRecorder具有传输流 TS格式的设置接口。
[0033] 优选地,所述数据源包括摄像头和/或麦克风,所述多媒体数据包括视频数据和/ 或音频数据;
[0034] 所述通过所述数据源采集多媒体数据的步骤包括:
[0035] 通过预置的摄像头源类CameraSource从摄像头采集视频数据;
[0036] 和 / 或,
[0037] 通过预置的音频源类AudioSource从麦克风采集音频数据。
[0038] 优选地,所述按照所述编码格式对所述多媒体数据进行编码的步骤包括:
[0039] 由所述多媒体录制服务实例StageFrightRecorder创建编码器OMXCodec;
[0040] 由所述编码器OMXCodec按照所述编码格式对所述多媒体数据进行编码。
[0041] 优选地,所述将编码之后的多媒体数据按照所述传输流TS格式封装至第一多媒 体文件的步骤包括:
[0042] 由所述多媒体录制服务实例StageFrightRecorder将预置的写传输流对象 MPEG2TSWriter设置合成器MediaWriter;
[0043] 由所述合成器MediaWriter将所述多媒体数据封装为所述传输流TS格式的第一 多媒体文件。
[0044] 本发明实施例还公开了一种多媒体文件的录制装置,包括:
[0045] 录制参数设置模块,用于接收到多媒体文件的录制请求时,设置录制参数,其中, 所述录制参数包括数据源、编码格式、文件输出格式,所述文件输出格式设置为传输流TS 格式;
[0046] 多媒体数据采集模块,用于通过所述数据源采集多媒体数据;
[0047] 多媒体数据编码模块,用于按照所述编码格式对所述多媒体数据进行编码;
[0048] 第一多媒体数据封装模块,用于将编码之后的多媒体数据按照所述传输流TS格 式封装至第一多媒体文件;
[0049] 第二多媒体数据封装模块,用于在判断所述第一多媒体文件超过预设的文件大小 阈值时,将编码之后的多媒体数据按照所述传输流TS格式封装至第二多媒体文件。
[0050] 优选地,所述多媒体数据封装模块包括:
[0051] 时间信息配置子模块,用于在所述多媒体文件的文件名中配置时间信息。
[0052] 优选地,所述时间信息包括封装起始时间、封装完成时间;
[0053] 所述时间信息配置子模块包括:
[0054] 封装起始时间配置单元,用于在开始封装多媒体文件时,在所述多媒体文件的文 件名中,将当前时间配置为封装起始时间;
[0055] 封装完成时间配置单元,用于在完成封装多媒体文件时,在所述多媒体文件的文 件名中,将当前时间配置为封装完成时间。
[0056] 优选地,还包括:
[0057] 配置文件生成模块,用于在所有多媒体文件封装完成时,生成配置文件;
[0058] 其中,所述配置文件中包括文件总信息和每个多媒体文件的文件子信息;
[0059] 所述文件子信息按照时间信息排序,包括基于所述时间信息计算的时长信息、路 径信息中的至少一者;
[0060] 所述文件总信息包括累加每个多媒体文件的时长信息获得的总时长信息、视频名 称、视频画面大小中的至少一者。
[0061] 优选地,还包括:
[0062] 录制对象创建模块,用于创建多媒体录制对象MediaRecorder;
[0063] 录制服务实例创建模块,用于由所述多媒体录制对象MediaRecorder对象创建多 媒体录制服务实例StageFrightRecorder。
[0064] 优选地,所述录制参数设置模块包括:
[0065] 对象设置子模块,用于由所述多媒体录制对象MediaRecorder设置录制参数;
[0066] 其中,在操作系统的Java层中,所述多媒体录制对象MediaRecorder具有传输流 TS格式的设置接口。
[0067] 优选地,所述数据源包括摄像头和/或麦克风,所述多媒体数据包括视频数据和/ 或音频数据;
[0068] 所述多媒体数据采集模块包括:
[0069] 视频数据采集子模块,用于通过预置的摄像头源类CameraSource从摄像头采集 视频数据;
[0070] 和 / 或,
[0071] 音频数据采集子模块,用于通过预置的音频源类AudioSource从麦克风采集音频 数据。
[0072] 在本发明的一种优选实施例中,所述多媒体数据编码模块503可以包括如下子模 块:
[0073] 编码器创建子模块,用于由所述多媒体录制服务实例StageFrightRecorder创建 编码器OMXCodec;
[0074] 编码器编码子模块,用于由所述编码器OMXCodec按照所述编码格式对所述多媒 体数据进行编码。
[0075] 优选地,所述多媒体数据封装模块包括:
[0076] 合成器设置子模块,用于由所述多媒体录制服务实例StageFrightRecorder将预 置的写传输流对象MPEG2TSWriter设置合成器MediaWriter;
[0077] 合成器封装子模块,用于由所述合成器MediaWriter将所述多媒体数据封装为所 述传输流TS格式的第一多媒体文件。
[0078] 本发明实施例包括以下优点:
[0079] 本发明实施例将数据源采集的多媒体数据在编码之后,封装成多个传输流TS格 式的多媒体文件,由于传输流TS格式简单,无需复杂的封装操作,大大降低了时延,大大提 高了在录制时的封装效率,避免了在录制过程中的卡顿现象,有效缓解在切换时的丢帧问 题。
[0080] 本发明实施例在StageFrightRecorder框架中增加MPEG2TSWriter对象,提供了 本地文件系统的传输流TS的写入支持,实现了传输流TS格式的多媒体文件的生成。
【附图说明】
[0081] 图1是本发明的一种多媒体文件的录制方法实施例1的步骤流程图;
[0082] 图2是本发明的一种多媒体文件的录制方法实施例2的步骤流程图;
[0083] 图3是本发明