视频拍摄方法及装置的制造方法_4

文档序号:9251147阅读:来源:国知局
从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源690还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0121]尽管未示出,电子设备600还可以包括蓝牙模块等,在此不再赘述。
[0122]具体在本实施例中,当电子设备600为信息提供电子设备时,信息提供电子设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于进行以下操作的指令:
[0123]获取拍摄到的视频数据;
[0124]将所述视频数据缓存到内存分配不受限制的native层;
[0125]根据所述native层中缓存的所述视频数据编码得到视频文件。
[0126]可选地,所述将所述视频数据缓存到内存分配不受限制的native层,包括:
[0127]将所述视频数据的帧数据缓存在所述native层,所述视频数据包括图像帧数据和音频帧数据中的前一种或者全部两种;
[0128]将所述视频数据的相关信息缓存在预先创建在Java层的队列中,所述相关信息包括各帧数据在所述native层中的存储位置和各帧数据所对应的时间。
[0129]可选地,所述根据所述native层中缓存的所述视频数据编码得到视频文件,包括:
[0130]若所述视频数据包括同一时间段拍摄得到的视频数据,则根据所述队列中缓存的所述各帧数据各自在所述native层中的存储位置和各帧数据所对应的时间,从所述native层中读取各帧数据并顺序编码至同一个视频文件。
[0131]可选地,所述根据所述native层中缓存的所述视频数据编码得到视频文件,包括:
[0132]若所述视频数据包括不同时间段拍摄得到的视频数据,则将各个时间段拍摄得到的所述视频数据分别编码至独立的一个视频文件;
[0133]将编码得到的至少两个所述视频文件合并为同一个视频文件。
[0134]可选地,所述方法,还包括:
[0135]在每个所述时间段开始拍摄时,新建与所述时间段对应的视频文件;
[0136]所述将所述视频数据的相关信息缓存在预先创建在Java层的队列中,包括:
[0137]将所述视频数据中各帧数据各自所对应的视频文件名作为所述视频数据的一项相关信息缓存在所述队列中;
[0138]所述将各个时间段拍摄得到的视频数据分别编码至独立的一个视频文件,包括:
[0139]根据在所述队列中缓存的所述视频数据中各帧数据各自所对应的视频文件名,将所述各帧数据编码至对应的视频文件中。
[0140]可选地,所述方法,还包括:
[0141]在所述队列中缓存每帧所述图像帧数据的相关信息时,将每帧所述图像帧数据的图像格式信息也作为一项相关信息进行缓存;
[0142]在编码前将每帧所述图像帧数据根据所述图像格式信息仿射变换至期望格式。
[0143]可选地,所述方法,还包括:
[0144]启动一个异步线程;
[0145]通过所述异步线程执行所述根据所述native层中缓存的所述视频数据编码得到视频文件的步骤。
[0146]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0147]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0148]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种视频拍摄方法,其特征在于,所述方法包括: 获取拍摄到的视频数据; 将所述视频数据缓存到内存分配不受限制的native层; 根据所述native层中缓存的所述视频数据编码得到视频文件。2.根据权利要求1所述的方法,其特征在于,所述将所述视频数据缓存到内存分配不受限制的native层,包括: 将所述视频数据的帧数据缓存在所述native层,所述视频数据包括图像帧数据和音频帧数据中的前一种或者全部两种; 将所述视频数据的相关信息缓存在预先创建在Java层的队列中,所述相关信息包括各帧数据在所述native层中的存储位置和各帧数据所对应的时间。3.根据权利要求2所述的方法,其特征在于,所述根据所述native层中缓存的所述视频数据编码得到视频文件,包括: 若所述视频数据包括同一时间段拍摄得到的视频数据,则根据所述队列中缓存的所述各帧数据各自在所述native层中的存储位置和各帧数据所对应的时间,从所述native层中读取各帧数据并顺序编码至同一个视频文件。4.根据权利要求2所述的方法,其特征在于,所述根据所述native层中缓存的所述视频数据编码得到视频文件,包括: 若所述视频数据包括不同时间段拍摄得到的视频数据,则将各个时间段拍摄得到的所述视频数据分别编码至独立的一个视频文件; 将编码得到的至少两个所述视频文件合并为同一个视频文件。5.根据权利要求4所述的方法,其特征在于,所述方法,还包括: 在每个所述时间段开始拍摄时,新建与所述时间段对应的视频文件; 所述将所述视频数据的相关信息缓存在预先创建在Java层的队列中,包括: 将所述视频数据中各帧数据各自所对应的视频文件名作为所述视频数据的一项相关信息缓存在所述队列中; 所述将各个时间段拍摄得到的视频数据分别编码至独立的一个视频文件,包括:根据在所述队列中缓存的所述视频数据中各帧数据各自所对应的视频文件名,将所述各帧数据编码至对应的视频文件中。6.根据权利要求2至5任一所述的方法,其特征在于,所述方法,还包括: 在所述队列中缓存每帧所述图像帧数据的相关信息时,将每帧所述图像帧数据的图像格式信息也作为一项相关信息进行缓存; 在编码前将每帧所述图像帧数据根据所述图像格式信息仿射变换至期望格式。7.根据权利要求1至5任一所述的方法,其特征在于,所述方法,还包括: 启动一个异步线程; 通过所述异步线程执行所述根据所述native层中缓存的所述视频数据编码得到视频文件的步骤。8.一种视频拍摄装置,其特征在于,所述装置包括: 数据采集模块,用于获取拍摄到的视频数据; 数据缓存模块,用于将所述视频数据缓存到内存分配不受限制的native层; 数据编码模块,用于根据所述native层中缓存的所述视频数据编码得到视频文件。9.根据权利要求8所述的装置,其特征在于,所述数据缓存模块,包括: 数据缓存单元,用于将所述视频数据的帧数据缓存在所述native层,所述视频数据包括图像帧数据和音频帧数据中的前一种或者全部两种; 信息缓存单元,用于将所述视频数据的相关信息缓存在预先创建在Java层的队列中,所述相关信息包括各帧数据在所述native层中的存储位置和各帧数据所对应的时间。10.根据权利要求9所述的装置,其特征在于,所述数据编码模块,包括: 同一编码单元,用于若所述视频数据包括同一时间段拍摄得到的视频数据,则根据所述队列中缓存的所述各帧数据各自在所述native层中的存储位置和各帧数据所对应的时间,从所述native层中读取各帧数据并顺序编码至同一个视频文件。11.根据权利要求9所述的装置,其特征在于,所述数据编码模块,包括:单独编码单元和文件合并单元; 所述单独编码单元,用于若所述视频数据包括不同时间段拍摄得到的视频数据,则将各个时间段拍摄得到的所述视频数据分别编码至独立的一个视频文件; 所述文件合并单元,用于将编码得到的至少两个所述视频文件合并为同一个视频文件。12.根据权利要求11所述的装置,其特征在于,所述装置,还包括: 文件新建单兀; 所述文件新建单元,用于在每个所述时间段开始拍摄时,新建与所述时间段对应的视频文件; 所述信息缓存单元,还用于将所述视频数据中各帧数据各自所对应的视频文件名作为所述视频数据的一项相关信息缓存在所述队列中; 所述单独编码单元,用于根据所述视频数据中各帧数据各自所对应的视频文件名,将所述各帧数据编码至对应的视频文件中。13.根据权利要求9至12任一所述的装置,其特征在于,所述装置,还包括:格式变换单元; 所述信息缓存单元,还用于在所述队列中缓存每帧所述图像帧数据的相关信息时,将每帧所述图像巾贞数据的图像格式信息也作为一项相关信息进行缓存; 所述格式变换单元,用于在编码前将每帧所述图像帧数据根据所述图像格式信息仿射变换至期望格式。14.根据权利要求9至12任一所述的装置,其特征在于,所述装置,还包括: 线程启动模块; 所述线程启动模块,用于启动一个异步线程; 所述数据编码模块,用于通过所述异步线程执行所述根据所述native层中缓存的所述视频数据编码得到视频文件的步骤。
【专利摘要】本发明实施例公开了一种视频拍摄方法及装置,属于多媒体处理领域。所述方法包括:获取拍摄到的视频数据;将所述视频数据缓存到内存分配不受限制的native层;根据所述native层中缓存的所述视频数据编码得到视频文件。本发明实施例解决了图像数据被缓存在Java层时,会频繁触发垃圾回收机制和发生内存溢出现象的问题;达到了不需要触发垃圾回收机制,也不会发生内存溢出现象的效果。
【IPC分类】H04N5/232, H04N5/76
【公开号】CN104967770
【申请号】CN201410201598
【发明人】吴凯, 刘伟
【申请人】腾讯科技(北京)有限公司
【公开日】2015年10月7日
【申请日】2014年5月14日
【公告号】WO2015172719A1
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1