基于Android系统的分段录像数据处理方法

文档序号:9420593阅读:327来源:国知局
基于Android系统的分段录像数据处理方法
【技术领域】
[0001]本发明涉及Android系统的音视频数据采集,尤其涉及一种基于Android系统的分段录像数据处理方法。
【背景技术】
[0002]Android系统的API (应用程序接口)方便易用,但从另一个方面来说会降低开发的自由度。比如使用Android系统API开发分段录像功能,必须先打开多媒体录制器录制多媒体文件,然后关闭多媒体录制器,再重新打开多媒体录制器录制下一段多媒体文件。如此以来,在关闭多媒体录制器到重新打开多媒体录制器之间必定丢失一段时间,使得两段多媒体文件在不连续,这两段多媒体文件之间丢失的时间可达到I到3秒之多,而这丢失的时间可能是事故发生的关键点,给后续破案带来极大的不便。

【发明内容】

[0003]为解决上述技术问题,本发明的目的是提供一种基于Android系统的分段录像数据处理方法。
[0004]本发明采用的技术方案是:
基于Android系统的分段录像数据处理方法,包括以下步骤:(A)同步采集视频帧数据和音频帧数据;(B)通过硬件编码器对所述视频帧数据和音频帧数据进行编码;(C)将编码后的视频帧数据和音频帧数据及其时间戳传输给分段录像模块;(D)将时间戳对应的视频帧数据和音频帧数据写入多媒体文件;(E)判断所述多媒体文件的时长是否达到预设的最大时长,若达到最大时长则保存多媒体文件并进入下一步,否则保持步骤(D); (F)新建多媒体文件,采用前一多媒体文件的最后一视频帧作为第一视频帧,跳转至步骤(D)。
[0005]进一步,所述步骤(A)中视频帧数据和音频帧数据从Android系统中间层采集。
[0006]进一步,所述步骤(A)中采集的视频帧数据格式为YV12,步骤(B)中硬件编码器编码后的格式为H264视频帧数据。
[0007]进一步,所述步骤(A)中采集的音频帧数据格式为PCM,步骤(B)中硬件编码器编码后的格式为AAC音频帧数据。
[0008]其中,所述步骤多媒体文件为MP4多媒体文件。
[0009]本发明的有益效果:
本发明基于Android系统的分段录像数据处理方法会一直对音视频进行采集,其分段采集录像过程中不会丢失时间,然后在录制成MP4多媒体文件的过程中严格控制每个帧,使得前一段视频的最后一帧必是后一段视频的第一帧,因此两段视频文件之间是连续的。
【附图说明】
[0010]下面结合附图对本发明的【具体实施方式】做进一步的说明。
[0011]图1是本发明分段录像数据处理的硬件框架图; 图2是视频数据采集与编码模块的工作原理图;
图3是音频数据采集与编码模块的工作原理图;
图4是本发明分段录像数据处理方法的具体实施例流程图。
【具体实施方式】
[0012]如图1所示,为本发明分段录像数据处理方法所基于Andro i d系统的硬件框架,包括三个模块:视频数据采集与编码模块、音频数据采集与编码模块、分段录像模块。
[0013]其中,视频数据采集部分从Android系统中间层采集高帧率的视频帧数据,视频帧数据格式为YV12,然后,把视频帧数据通过硬件编码器硬编码为H264视频帧数据,最后,把H264视频帧数据连同时间戳传递给分段录像模块,如图2。
[0014]视频数据采集部分从Android系统中间层采集音频帧数据,音频帧数据格式为PCM (脉冲编码调制),然后,把音频帧数据编码为AAC (高级音频编码)音频帧数据,最后,把AAC音频帧数据连同时间戳传递给分段录像模块,如图3。
[0015]如图4所示,分段录像模块主要实现把H264视频帧和AAC音频帧数据,以视频帧的时间戳作为同步,录制成多段连续的MP4多媒体文件的功能。
[0016]分段录像模块步骤流程如下:
(I)、判断分段录像是否已经结束。若已经结束,则关闭已打开的MP4多媒体文件句柄,接着执行(6)。若未结束,则执行(2)。
[0017]( 2 )、接收数据。若收到的数据是视频帧数据,则执行(3 )。否则,接收到的数据是音频帧数据,则把音频帧数据缓存到音频帧数据列表中。
[0018](3)、判断是否存在已打开的MP4多媒体文件句柄。若不存在已打开的MP4多媒体文件句柄,则打开新的MP4多媒体文件句柄,然后执行(4)。若存在已打开的MP4多媒体文件句柄,则直接执行(4)。
[0019](4)、把视频帧数据写入到MP4多媒体文件中,并把已写入到MP4多媒体文件中的前一视频帧到该视频帧的时间戳对应的音频帧数据段从缓存列表中取出,写入MP4多媒体文件中。接着执行(5)。
[0020](5)、判断MP4多媒体文件的时长已达到设定的最大时长。若已达到最大时长,则关闭MP4多媒体文件句柄(保存),重新打开一个新的MP4多媒体文件句柄,把上一步(4)中的最后一视频帧写入新MP4多媒体文件句柄中作为第一视频帧,接着执行(I )。若未达到最大时长,直接执行(I)。
[0021](6)、结束分段录像。
[0022]如上所述,本发明基于Android系统的分段录像数据处理方法会一直对音视频进行采集,其分段采集录像过程中不会丢失时间,然后在录制成MP4多媒体文件的过程中严格控制每个帧,使得前一段视频的最后一帧必是后一段视频的第一帧,因此两段视频文件之间是连续的。
[0023]以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。
【主权项】
1.基于Android系统的分段录像数据处理方法,其特征在于,包括以下步骤:(A)同步采集视频帧数据和音频帧数据;(B)通过硬件编码器对所述视频帧数据和音频帧数据进行编码;(C)将编码后的视频帧数据和音频帧数据及其时间戳传输给分段录像模块;(D)将时间戳对应的视频帧数据和音频帧数据写入多媒体文件;(E)判断所述多媒体文件的时长是否达到预设的最大时长,若达到最大时长则保存多媒体文件并进入下一步,否则保持步骤(D); (F)新建多媒体文件,采用前一多媒体文件的最后一视频帧作为第一视频帧,跳转至步骤(D)02.根据权利要求1所述的基于Android系统的分段录像数据处理方法,其特征在于:所述步骤(A)中视频帧数据和音频帧数据从Android系统中间层采集。3.根据权利要求1所述的基于Android系统的分段录像数据处理方法,其特征在于:所述步骤(A)中采集的视频帧数据格式为YV12,步骤(B)中硬件编码器编码后的格式为H264视频帧数据。4.根据权利要求1所述的基于Android系统的分段录像数据处理方法,其特征在于:所述步骤(A)中采集的音频帧数据格式为PCM,步骤(B)中硬件编码器编码后的格式为AAC音频帧数据。5.根据权利要求1所述的基于Android系统的分段录像数据处理方法,其特征在于:所述多媒体文件为MP4多媒体文件。
【专利摘要】本发明公开了一种基于Android系统的分段录像数据处理方法,包括以下步骤:(A)同步采集视频帧数据和音频帧数据;(B)通过硬件编码器对数据进行编码;(C)将编码后的数据及其时间戳传输给分段录像模块;(D)将时间戳对应的视频帧数据和音频帧数据写入多媒体文件;(E)判断所述多媒体文件的时长是否达到预设的最大时长,若达到最大时长则保存,否则保持步骤(D);(F)新建多媒体文件,采用前一多媒体文件的最后一视频帧作为第一视频帧,跳转至步骤(D)。本方法在过程中不会丢失时间,然后在录制成MP4文件的过程中严格控制每个帧,使得前一段视频的最后一帧必是后一段视频的第一帧,因此两段视频文件之间是连续的。
【IPC分类】H04N5/76
【公开号】CN105141869
【申请号】CN201510512429
【发明人】黄其勇, 何俊, 潘玮, 何彬全, 彭新杰
【申请人】中山市天启电子科技有限公司
【公开日】2015年12月9日
【申请日】2015年8月19日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1