发明内容
有鉴于此,本发明的目的在于提出一种屏幕录制方法及装置,能够对屏幕中指定的区域内的显示内容进行录制,弥补了功能缺陷,提升了用户体验。
基于上述目的本发明提供的屏幕录制方法,包括:
获取屏幕内的指定视频录制区域;
抓取整个屏幕的图像数据;
提取所述指定视频录制区域内的图像数据;
将提取出的所述指定视频录制区域图像数据写入视频文件。
在一些实施方式中,所述获取屏幕内的指定视频录制区域的步骤之后还包括:根据所述指定视频录制区域,计算得到该指定视频录制区域的外接矩形轨迹和该指定视频录制区域的边界轨迹。
在一些实施方式中,所述提取所述指定视频录制区域内的图像数据的步骤包括:根据所述指定视频录制区域的外接矩形轨迹,获取所述外接矩形内的图像数据。
在一些实施方式中,所述获取所述外接矩形内的图像数据的步骤之后还包括:根据所述指定视频录制区域的边界轨迹,获取所述边界轨迹内的图像数据。
在一些实施方式中,所述获取所述边界轨迹内的图像数据的步骤之后还包括:
对整个屏幕的图像数据进行遍历处理;
将所述遍历处理后的整个屏幕图像数据与所述指定视频录制区域的外接矩形轨迹进行比较;
将整个屏幕图像数据位于所述指定视频录制区域的外接矩形以外的像素点置为黑色。
在一些实施方式中,所述将整个屏幕图像数据位于所述指定视频录制区域的外接矩形以外的像素点置为黑色的步骤之后还包括:
对所述指定视频录制区域的外接矩形内的图像数据进行遍历处理;
将所述遍历处理后的外接矩形内图像数据与所述指定视频录制区域的边界轨迹进行比较;
将所述外接矩形内图像数据位于所述指定视频录制区域的边界以外的像素点置为黑色。
在一些实施方式中,所述提取所述指定视频录制区域内的图像数据的步骤还包括:选择图像数据压缩编码,对图像数据进行压缩处理。
在一些实施方式中,所述获取屏幕内的指定视频录制区域的步骤同时还包括:获取屏幕图像数据抓取速度;
所述抓取整个屏幕的图像数据的步骤包括:按所述抓取速度抓取整个屏幕的图像数据。
在一些实施方式中,所述将提取出的所述指定视频录制区域图像数据写入视频文件的步骤包括:将处理后的每一帧图像按时间顺序保存在视频文件中。
在一些实施方式中,所述方法还包括:获取音频数据;以及,将所述音频数据写入所述视频文件中。
在一些实施方式中,所述指定视频录制区域的边界形状为不规则形状。
本发明还提供了了一种屏幕录制装置,包括:
获取模块,用于获取屏幕内的指定视频录制区域,以及抓取整个屏幕的图像数据;
图像处理模块,用于提取所述指定视频录制区域内的图像数据;
视频合成模块,用于将提取出的所述指定视频录制区域图像数据写入视频文件。
在一些实施方式中,所述图像处理模块还用于根据所述指定视频录制区域,计算得到该指定视频录制区域的外接矩形轨迹和该指定视频录制区域的边界轨迹。
在一些实施方式中,所述图像处理模块还用于根据所述指定视频录制区域的外接矩形轨迹,获取所述外接矩形内的图像数据。
在一些实施方式中,所述图像处理模块还用于根据所述指定视频录制区域的边界轨迹,获取所述边界轨迹内的图像数据。
在一些实施方式中,所述图像处理模块还用于对整个屏幕的图像数据进行遍历处理;将所述遍历处理后的整个屏幕图像数据与所述指定视频录制区域的外接矩形轨迹进行比较;以及,将整个屏幕图像数据位于所述指定视频录制区域的外接矩形以外的像素点置为黑色。
在一些实施方式中,所述图像处理模块还用于对所述指定视频录制区域的外接矩形内的图像数据进行遍历处理;将所述遍历处理后的外接矩形内图像数据与所述指定视频录制区域的边界轨迹进行比较;将所述外接矩形内图像数据位于所述指定视频录制区域的边界以外的像素点置为黑色。
在一些实施方式中,所述图像处理模块还用于选择图像数据压缩编码并对图像数据进行压缩处理。
在一些实施方式中,所述获取模块还用于获取屏幕图像数据抓取速度;以及按所述抓取速度抓取整个屏幕的图像数据。
在一些实施方式中,所述视频合成模块还用于将处理后的每一帧图像按时间顺序保存在视频文件中。
在一些实施方式中,所述获取模块还用于获取音频数据;所述视频合成模块还用于将所述音频数据写入所述视频文件中。
在一些实施方式中,所述指定视频录制区域的边界形状为不规则形状。
从上面所述可以看出,本发明提供的屏幕录制方法及装置,通过对抓取的整个屏幕的图像数据进行处理,实现了仅对屏幕内指定区域内显示的内容进行屏幕录制,使得用户在使用屏幕录制功能时,能够有针对性地对感兴趣的显示内容进行屏幕录制,而不用将整个屏幕录制下来;从而丰富了产品功能,提升了用户体验。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
参照附图1,为本发明提供的屏幕录制方法的一个实施例的流程示意图。
所述屏幕录制方法,包括:
步骤101:获取屏幕内的指定视频录制区域;
步骤102:抓取整个屏幕的图像数据;
步骤103:提取所述指定视频录制区域内的图像数据;
步骤104:将提取出的所述指定视频录制区域图像数据写入视频文件。
可选的,所述指定视频录制区域的边界形状可以是规则形状,例如三角形、正方形、矩形、圆形等;特别地,所述指定视频录制区域的边界形状可以是不规则形状;例如可以是任意绘制的边界形状,或者是多个不同的规则形状组合而成的不规则形状等等。
进一步的,所述获取屏幕内的指定视频录制区域的步骤101之后还包括:根据所述指定视频录制区域,计算得到该指定视频录制区域的外接矩形轨迹和该指定视频录制区域的边界轨迹。
更进一步的,所述提取所述指定视频录制区域内的图像数据的步骤103包括:根据所述指定视频录制区域的外接矩形轨迹,获取所述外接矩形内的图像数据。所述获取所述外接矩形内的图像数据的步骤之后还包括:根据所述指定视频录制区域的边界轨迹,获取所述边界轨迹内的图像数据。
较佳的,所述获取所述边界轨迹内的图像数据的步骤之后还包括:
对整个屏幕的图像数据进行遍历处理;
将所述遍历处理后的整个屏幕图像数据与所述指定视频录制区域的外接矩形轨迹进行比较;
将整个屏幕图像数据位于所述指定视频录制区域的外接矩形以外的像素点置为黑色。
可选的,所述将整个屏幕图像数据位于所述指定视频录制区域的外接矩形以外的像素点置为黑色的步骤之后还包括:
对所述指定视频录制区域的外接矩形内的图像数据进行遍历处理;
将所述遍历处理后的外接矩形内图像数据与所述指定视频录制区域的边界轨迹进行比较;
将所述外接矩形内图像数据位于所述指定视频录制区域的边界以外的像素点置为黑色。
较佳的,所述提取所述指定视频录制区域内的图像数据的步骤103还包括:选择图像数据压缩编码,对图像数据进行压缩处理。
进一步的,所述获取屏幕内的指定视频录制区域的步骤101同时还包括:获取屏幕图像数据抓取速度(例如每秒15帧);所述抓取整个屏幕的图像数据的步骤102包括:按所述抓取速度抓取整个屏幕的图像数据。
更进一步的,所述将提取出的所述指定视频录制区域图像数据写入视频文件的步骤104包括:将处理后的每一帧图像按时间顺序保存在视频文件中。
较佳的,所述视频文件的保存格式为AVI格式,当然还可以通过不同编码,将其压缩为其它格式的视频文件。
可选的,所述屏幕录制方法还包括:获取音频数据;以及,将所述音频数据写入所述视频文件中。AVI是音频和视频交错格式,在录制视频同时,同步进行音频录制,然后按AVI文件数据格式进行同步保存即可成为带音频的视频文件。
其中,所述将所述音频数据写入所述视频文件中的步骤还包括:为录音设备准备缓冲区;以及,检测缓冲区是否存满,若否,则继续录音,若是则清空缓冲区并继续录音。
参照附图2,为本发明提供的屏幕录制方法的另一个实施例的流程示意图。
所述屏幕录制方法,包括:
开始录制;
步骤201:获取屏幕内的指定视频录制区域;
步骤202:根据所述指定视频录制区域,计算得到该指定视频录制区域的外接矩形轨迹和该指定视频录制区域的边界轨迹;
步骤203:抓取整个屏幕的图像数据;
步骤204:根据所述指定视频录制区域的外接矩形轨迹,获取所述外接矩形内的图像数据;
步骤205:根据所述指定视频录制区域的边界轨迹,获取所述边界轨迹内的图像数据;
步骤206:对整个屏幕的图像数据进行遍历处理;
步骤207:将所述遍历处理后的整个屏幕图像数据与所述指定视频录制区域的外接矩形轨迹进行比较;
步骤208:将整个屏幕图像数据位于所述指定视频录制区域的外接矩形以外的像素点置为黑色;
步骤209:对所述指定视频录制区域的外接矩形内的图像数据进行遍历处理;
步骤210:将所述遍历处理后的外接矩形内图像数据与所述指定视频录制区域的边界轨迹进行比较;
步骤211:将所述外接矩形内图像数据位于所述指定视频录制区域的边界以外的像素点置为黑色;
步骤212:选择图像数据压缩编码,对图像数据进行压缩处理;并返回步骤203:抓取下一帧整个屏幕的图像数据;
同时,还包括步骤213:获取音频数据;
步骤214:为录音设备准备缓冲区;
步骤215:判断检测缓冲区是否存满;
若否,则转到步骤213:继续获取音频数据,
若是,则转到步骤216:清空缓冲区,接着转到步骤213:继续录音;
步骤217:将提取出的所述指定视频录制区域图像数据和所述获取的音频数据写入视频文件;
完成录制。
从上述实施例可以看出,本发明提供的屏幕录制方法,通过对抓取的整个屏幕的图像数据进行处理,实现了仅对屏幕内指定区域内显示的内容进行屏幕录制,使得用户在使用屏幕录制功能时,能够有针对性地对感兴趣的显示内容进行屏幕录制,而不用将整个屏幕录制下来;从而丰富了产品功能,提升了用户体验。
需要特别指出的是,上述屏幕录制方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于屏幕录制方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
本发明还提供了一种屏幕录制装置,参照附图3,为本发明提供的屏幕录制装置实施例的结构示意图。
所述屏幕录制装置300,包括:
获取模块301,用于获取屏幕内的指定视频录制区域,以及抓取整个屏幕的图像数据;
图像处理模块302,用于提取所述指定视频录制区域内的图像数据;
视频合成模块303,用于将提取出的所述指定视频录制区域图像数据写入视频文件。
可选的,所述指定视频录制区域的边界形状可以是规则形状,例如三角形、正方形、矩形、圆形等;特别地,所述指定视频录制区域的边界形状可以是不规则形状;例如可以是任意绘制的边界形状,或者是多个不同的规则形状组合而成的不规则形状等等。
进一步的,所述图像处理模块302还用于根据所述指定视频录制区域,计算得到该指定视频录制区域的外接矩形轨迹和该指定视频录制区域的边界轨迹。
更进一步的,所述图像处理模块302还用于根据所述指定视频录制区域的外接矩形轨迹,获取所述外接矩形内的图像数据。所述图像处理模块302还用于根据所述指定视频录制区域的边界轨迹,获取所述边界轨迹内的图像数据。
较佳的,所述图像处理模块302还用于对整个屏幕的图像数据进行遍历处理;将所述遍历处理后的整个屏幕图像数据与所述指定视频录制区域的外接矩形轨迹进行比较;以及,将整个屏幕图像数据位于所述指定视频录制区域的外接矩形以外的像素点置为黑色。
可选的,所述图像处理模块302还用于对所述指定视频录制区域的外接矩形内的图像数据进行遍历处理;将所述遍历处理后的外接矩形内图像数据与所述指定视频录制区域的边界轨迹进行比较;将所述外接矩形内图像数据位于所述指定视频录制区域的边界以外的像素点置为黑色。
较佳的,所述图像处理模块302还用于选择图像数据压缩编码并对图像数据进行压缩处理。所述获取模块301还用于获取屏幕图像数据抓取速度(例如每秒15帧);以及按所述抓取速度抓取整个屏幕的图像数据。所述视频合成模块303还用于将处理后的每一帧图像按时间顺序保存在视频文件中。
可选的,所述获取模块301还用于获取音频数据;所述视频合成模块303还用于将所述音频数据写入所述视频文件中。其中,所述获取模块301可选的包括系统默认音频设备,所述视频合成模块303还用于通过系统WaveIn系列API,将采集到数据写入到AVI文件中。
下面结合上述屏幕录制方法的另一个实施例对所述屏幕录制装置300的工作过程进行详细描述。
所述屏幕录制方法,包括:
开始录制;
步骤201:所述获取模块301获取屏幕内的指定视频录制区域;
步骤202:所述图像处理模块302根据所述指定视频录制区域,计算得到该指定视频录制区域的外接矩形轨迹和该指定视频录制区域的边界轨迹;
步骤203:所述获取模块301抓取整个屏幕的图像数据;
步骤204:所述图像处理模块302根据所述指定视频录制区域的外接矩形轨迹,获取所述外接矩形内的图像数据;
步骤205:所述图像处理模块302根据所述指定视频录制区域的边界轨迹,获取所述边界轨迹内的图像数据;
步骤206:所述图像处理模块302对整个屏幕的图像数据进行遍历处理;
步骤207:所述图像处理模块302将所述遍历处理后的整个屏幕图像数据与所述指定视频录制区域的外接矩形轨迹进行比较;
步骤208:所述图像处理模块302将整个屏幕图像数据位于所述指定视频录制区域的外接矩形以外的像素点置为黑色;
步骤209:所述图像处理模块302对所述指定视频录制区域的外接矩形内的图像数据进行遍历处理;
步骤210:所述图像处理模块302将所述遍历处理后的外接矩形内图像数据与所述指定视频录制区域的边界轨迹进行比较;
步骤211:所述图像处理模块302将所述外接矩形内图像数据位于所述指定视频录制区域的边界以外的像素点置为黑色;
步骤212:所述图像处理模块302选择图像数据压缩编码,对图像数据进行压缩处理;并返回步骤203:所述获取模块301抓取下一帧整个屏幕的图像数据;
同时,还包括步骤213:所述获取模块301获取音频数据;
步骤214:所述图像处理模块302为录音设备准备缓冲区;
步骤215:所述图像处理模块302判断检测缓冲区是否存满;
若否,则转到步骤213:所述获取模块301继续获取音频数据,
若是,则转到步骤216:所述图像处理模块302清空缓冲区,接着转到步骤213:继续录音;
步骤217:所述视频合成模块303将提取出的所述指定视频录制区域图像数据和所述获取的音频数据写入视频文件;
完成录制。
从上述实施例可以看出,本发明提供的屏幕录制装置,通过对抓取的整个屏幕的图像数据进行处理,实现了仅对屏幕内指定区域内显示的内容进行屏幕录制,使得用户在使用屏幕录制功能时,能够有针对性地对感兴趣的显示内容进行屏幕录制,而不用将整个屏幕录制下来;从而丰富了产品功能,提升了用户体验。
需要特别指出的是,上述屏幕录制装置的实施例仅采用了所述屏幕录制方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述屏幕录制方法的其他实施例中。当然,由于所述屏幕录制方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述屏幕录制装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。