CN105763926A - 屏幕录制的方法及装置 - Google Patents
屏幕录制的方法及装置 Download PDFInfo
- Publication number
- CN105763926A CN105763926A CN201410798079.7A CN201410798079A CN105763926A CN 105763926 A CN105763926 A CN 105763926A CN 201410798079 A CN201410798079 A CN 201410798079A CN 105763926 A CN105763926 A CN 105763926A
- Authority
- CN
- China
- Prior art keywords
- video
- benchmark
- audio stream
- video flowing
- internal memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开了一种屏幕录制的方法及装置,其中,屏幕录制的方法,包括:创建虚拟屏幕,其中,该虚拟屏幕中包含有待屏幕录制的内容;获取上述虚拟屏幕的视频流;以及根据上述视频流生成视频文件。通过本发明,可以录制帧率更高的视频文件,提高了屏幕录制的帧率和效率。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种屏幕录制的方法及装置。
背景技术
随着Android移动终端的普及,在教育、会议、演讲等过程中,经常采用Android移动终端来演示相关内容,为方便用户回顾,通常需要将屏幕画面及现场声音录制下来,形成多媒体视频以便回放。
相关技术中,Android移动终端的屏幕录制采用的通常方法是,通过连续截取屏幕画面的方式录制屏幕,形成一帧一帧的图像,然后编码压缩成视频文件,同时录制语音形成语音文件,最后两者合成形成录屏的多媒体视频文件。
上述的屏幕录制方法存在以下几个问题:首先,截屏的方式录屏需要消耗较多处理器运算资源,而且帧率很低,通常限制在5帧/秒以下;其次,图像文件和语音文件的合成需要消耗时间,导致结束录屏指令发出后,需要一段时间才能产生最终的视频文件;再次,在录制过程中每次暂停、恢复都将产生新的视频和语音文件,后续需要拼接合成,会出现卡顿现象;最后,由于图像文件和语音文件的合成使用各自的时间戳,因此音频和视频很难非常精确的同步。
针对相关技术中屏幕录制的上述问题,目前尚未提出有效的解决方案。
发明内容
发明提供了一种屏幕录制的方法及装置,以至少解决相关技术中屏幕录制帧率低的问题。
根据本发明的一个方面,提供了一种屏幕录制的方法,包括:创建虚拟屏幕,其中,该虚拟屏幕中包含有待屏幕录制的内容;获取虚拟屏幕的视频流;以及,根据上述视频流生成视频文件。
进一步的,根据视频流生成视频文件之前,还包括:获取音频流;根据视频流生成视频文件,包括:根据视频流和音频流以***时间为基准生成视频文件。
进一步的,根据视频流和音频流以***时间为基准生成视频文件,包括:将视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳,将音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳;根据视频编码处理后的视频流和音频编码处理后的音频流以***时间为基准生成视频文件。
进一步的,将视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳,包括:将视频流写入第一内存并以***时间为基准添加时间戳,按照第一预定时间间隔对第一内存中写入的视频流进行视频编码处理。将音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳,包括:将音频流写入第二内存并以***时间为基准添加时间戳,按照第二预定时间间隔对第二内存中写入的音频流进行音频编码处理。根据视频编码处理后的视频流和音频编码处理后的音频流以***时间为基准生成视频文件,包括:按照第三预定时间间隔,以***时间为基准将视频编码处理后的视频流和音频编码处理后的音频流写入视频文件,并释放相应的内存空间。
进一步的,上述方法还包括:响应暂停请求,暂停获取视频流和音频流;判断是否接收到开始请求;当接收到开始请求,重新开始获取视频流和音频流。
进一步的,方法还包括:创建第一线程和第二线程,其中,第一线程与第二线程为不同的线程。将视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳,包括:通过第一线程将视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳。将音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳,包括:通过第二线程将音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳。
根据本发明的另一个方面,提供了一种屏幕录制的装置,包括:第一创建模块,用于创建虚拟屏幕,其中,该虚拟屏幕中包含有待屏幕录制的内容;第一获取模块,用于获取虚拟屏幕的视频流;以及,生成模块,用于根据上述视频流生成视频文件。
进一步的,装置还包括:第二获取模块,用于获取音频流;生成模块,用于根据视频流和音频流以***时间为基准生成视频文件。
进一步的,生成模块,包括:第一处理单元,用于将视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳;第二处理单元,用于将音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳;生成单元,用于根据视频编码处理后的视频流和音频编码处理后的音频流以***时间为基准生成视频文件。
进一步的,第一处理单元,用于将视频流写入第一内存并以***时间为基准添加时间戳,按照第一预定时间间隔对第一内存中写入的视频流进行视频编码处理。第二处理单元,用于将音频流写入第二内存并以***时间为基准添加时间戳,按照第二预定时间间隔对第二内存中写入的音频流进行音频编码处理。生成单元,用于按照第三预定时间间隔,以***时间为基准将视频编码处理后的视频流和音频编码处理后的音频流写入视频文件,并释放相应的内存空间。
进一步的,上述装置还包括:暂停模块,用于响应暂停请求,暂停获取视频流和音频流;判断是否接收到开始请求;当接收到开始请求,重新开始获取视频流和音频流。
进一步的,装置还包括:第二创建模块,用于创建第一线程和第二线程,其中,第一线程与第二线程为不同的线程;第一处理单元,用于通过第一线程将视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳;第二处理单元,用于通过第二线程将音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳。
通过本发明,创建虚拟屏幕,获取虚拟屏幕的视频流,根据该视频流生成视频文件,可以录制帧率较高的视频文件,提高了屏幕录制的帧率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的屏幕录制的方法的流程图;
图2是根据本发明实施例的屏幕录制的装置的结构框图;
图3是根据本发明实施例一个可选实施方式的屏幕录制的装置的结构框图;
图4是根据本发明实施例一个可选实施方式的生成模块的结构框图;
图5是根据本发明实施例可选实施方式二的屏幕录制方法的流程图;
图6是根据本发明实施例可选实施方式二的录屏和录音方法的流程图;
图7是根据本发明实施例可选实施方式二的单独录屏方法的流程图;
图8是根据本发明实施例可选实施方式二的单独录音方法的流程图;以及
图9是根据本发明实施例可选实施方式三的屏幕录制***的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种屏幕录制的方法,图1是根据本发明实施例的屏幕录制的方法的流程图,如图1所示,该方法包括步骤S102至步骤S106:
步骤S102,创建虚拟屏幕,其中,该虚拟屏幕中包含有待屏幕录制的内容。
步骤S104,获取上述虚拟屏幕的视频流。
步骤S106,根据上述视频流生成视频文件。
通过本发明实施例,创建虚拟屏幕,虚拟屏幕中包含待屏幕录制的内容,获取虚拟屏幕的视频流,根据该视频流生成视频文件,提高了屏幕录制的帧率。
在上述步骤S102中,以运行Android操作***为例的终端为例,可以通过Android操作***的多屏显示功能创建虚拟屏幕。
实际应用中,在记录屏幕内容的同时,还可以记录声音内容。作为一个例子,在演讲中,屏幕上显示演讲幻灯片,演讲者进行口头演讲,口头演讲的音声和屏幕显示的幻灯片构成演讲的完整内容。为了录制语音,在本发明实施例一个可选实施方式中,上述步骤S106根据视频流生成视频文件之前,还可以获取音频流。可选地,可以提供操作接口,由用户选择录制语音还是屏幕,或者同时录制语音和屏幕。
相关技术中,分别生成语音和屏幕内容的文件,然后将语音的文件和屏幕内容的文件合成得到视频文件。由于语音的文件和屏幕视频的文件采用不同的时间基准,因此语音和视频难以实现精确同步,这就导致了语音和屏幕内容不一致。因此,在本发明实施例的一个可选实施方式中,上述步骤S106根据视频流生成视频文件可以包括:根据上述视频流和音频流以***时间为基准生成视频文件。通过该实施方式,语音和视频均以***时间为基准,实现了语音和视频的精确同步。
相关技术中,将图像或语音写入文件中,在录制结束时,对文件中的语音和视频进行编码,对文件的读写操作需要消耗大量的运算资源。在本发明实施例的一个可选实施方式中,上述根据视频流和音频流以***时间为基准生成视频文件,包括:将上述视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳,将上述音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳;根据视频编码处理后的视频流和音频编码处理后的音频流以***时间为基准生成视频文件。通过该实施方式,在内存中进行处理,提高了处理效率。
此外,相关技术中,在录制结束后才合成视频文件,这导致在录制结束后还需要等待一段时间才能得到视频文件。在本发明实施例的一个可选实施方式中,将视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳,包括:将视频流写入第一内存并以***时间为基准添加时间戳,按照第一预定时间间隔对第一内存中写入的视频流进行视频编码处理。将音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳,包括:将音频流写入第二内存并以***时间为基准添加时间戳,按照第二预定时间间隔对第二内存中写入的音频流进行音频编码处理。通过该实施方式,在获取到视频流或音频流后,按照一定的时间间隔进行视频和音频编码处理,而不是在结束时才进行处理,从而该实施方式可以在录制结束时快速得到视频文件。
在本发明实施例的一个可选实施方式中,根据视频编码处理后的视频流和音频编码处理后的音频流以***时间为基准生成视频文件,包括:按照第三预定时间间隔,以***时间为基准将视频编码处理后的视频流和音频编码处理后的音频流写入视频文件,并释放相应的内存空间。通过该实施方式,保证了内存空间不被一直占用,从而可以实现不限时长的录制。
在本发明实施例的一个可选实施方式中,可以通过不同的线程并行处理视频和音频,从而提高处理速度。因此,上述方法还包括:创建第一线程和第二线程,其中,第一线程与第二线程为不同的线程。将视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳,包括:通过第一线程将视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳;将音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳,包括:通过第二线程将音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳。通过该可选实施方式,实现了音频和视频的并行处理,提高了处理速度。
可选地,上述方法还可以包括:响应暂停请求,暂停获取视频流和音频流;判断是否接收到开始请求;当接收到开始请求,重新开始获取视频流和音频流。
在本实施例中提供了一种屏幕录制的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的屏幕录制的装置的结构框图,如图2所示,该装置包括:第一创建模块10、第一获取模块20和生成模块30,其中,第一创建模块10,用于创建虚拟屏幕,其中,该虚拟屏幕中包含有待屏幕录制的内容;第一获取模块20,与第一创建模块10相连,用于获取虚拟屏幕的视频流;生成模块30,与第一获取模块20相连,用于根据上述视频流生成视频文件。
在本发明实施例的一个可选实施方式中,如图3所示,上述装置还可以包括:第二获取模块40,与生成模块30相连,用于获取音频流。生成模块30,用于根据上述视频流和音频流以***时间为基准生成视频文件。
在本发明实施例的一个可选实施方式中,如图4所示,上述生成模块30包括:第一处理单元310,用于将视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳;第二处理单元320,用于将音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳;生成单元330,用于根据视频编码处理后的视频流和音频编码处理后的音频流以***时间为基准生成视频文件。
在本发明实施例的一个可选实施方式中,第一处理单元310,用于将视频流写入第一内存并以***时间为基准添加时间戳,按照第一预定时间间隔对第一内存中写入的视频流进行视频编码处理;第二处理单元320,用于将音频流写入第二内存并以***时间为基准添加时间戳,按照第二预定时间间隔对第二内存中写入的音频流进行音频编码处理。
在本发明实施例的一个可选实施方式中,上述生成单元330,用于按照第三预定时间间隔,以***时间为基准将视频编码处理后的视频流和音频编码处理后的音频流写入视频文件,并释放相应的内存空间。
在本发明实施例的一个可选实施方式中,上述装置还可以包括:暂停模块,用于响应暂停请求,暂停获取视频流和音频流;判断是否接收到开始请求;当接收到开始请求,重新开始获取视频流和音频流。
在本发明实施例的一个可选实施方式中,上述装置还可以包括:第二创建模块,用于创建第一线程和第二线程,其中,第一线程与第二线程为不同的线程;第一处理单元,用于通过第一线程将视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳;第二处理单元,用于通过第二线程将音频流写入第二内存进行音频编码处理并以***时间为基准添加时间戳。
下面通过实例对本发明实施例进行描述。
可选实施方式一
在本可选实施方式中,通过Android***的多屏显示功能,创建一路虚拟屏幕,并且采集虚拟屏幕的视频流,写入内存中,增加***时间戳,并进行编码、压缩;同时录制语音,采集语音流,也写入内存中,增加***时间戳,并进行编码、压缩,然后在内存中将编码压缩后视频流和语音流根据同一时间戳进行合成,最后形成指定格式的多媒体视频文件,比如MP4格式。进一步的,在本实例中,可以配置视频帧率,比如30帧/秒,视频编码压缩格式,比如H.264,定期合成时间间隔,比如30秒。
本实例的屏幕录制方法,主要包括以下步骤:
1,进行参数配置,包括录制类型,是屏幕录制,即同时录屏和录音,还是单独录屏,或单独录音,以及录屏、录音的具体参数,包括视频帧率、视频分辨率、视频格式、语音格式、多媒体视频文件格式等。
2,屏幕录制,收到录制开始命令后,首先利用Android的多屏显示功能,根据设置的参数,创建虚拟屏幕。
3,获取虚拟屏幕的视频流,写入一块内存中,进行视频编解码和压缩处理,并增加***时间戳,用于和音频流的合成同步,得到比如H.264格式的视频流。
4,语音录制,收到录制开始命令后,获取音频流,写入另一块内存中,进行音频编解码和压缩处理,并增加***时间戳,用于和视频流的合成同步,得到比如MP3格式的音频流。
5,录制过程中如果收到暂停命令,则停止获取视频流和音频流,也不再往内存里写视频流和音频流。
6,如果是暂停状态,并收到继续命令,则转到步骤3,继续进行录制。
7,如果合成时间间隔到了,则将视频流和语音流按照同一个***时间戳进行合成,写入结果文件,即比如MP4格式的多媒体视频文件,并释放占用的内存。
8,如果收到录制结束命令,则将视频流和语音流按照同一个***时间戳进行合成,写入结果文件,即比如MP4格式的多媒体视频文件,并释放占用的内存,并结束录制,流程结束。
需要说明的是,处理同时录屏和录音外,也可以只进行录音,不进行录屏;也可以只进行录屏,不进行录音。
本实例的屏幕录制***,包括:
参数配置模块,该模块负责对录制参数进行配置,包括录制类型,即屏幕录制(同时录屏和录音),还是单独录屏,或单独录音,以及录屏、录音的具体参数,包括视频采集帧率,比如30帧/秒、视频分辨率、视频格式,比如H.264、语音格式,比如MP3、多媒体视频文件格式,比如MP4等。
视频采集模块,该模块负责利用Android的多屏显示技术,根据设置的参数,创建虚拟屏幕,获取虚拟屏幕的视频流,写入内存,并进行时间戳和视频编解码压缩处理,得到比如H2.64格式的视频流。
音频采集模块,该模块负责音频流的采集,写入内存,并进行时间戳和音频编解码压缩处理,得到比如MP3格式的音频流。
命令监控模块,该模块对屏幕录制过程中的命令进行监控,收到命令后,进行相应的分发处理,分发给其他相应的模块进行处理。比如开始录制、暂停、继续、结束录制、合成时间间隔到达等命令的监控,收到这些命令后发给其他相应模块进行处理。
同步合成模块,该模块负责对内存中视频流和音频流根据统一的***时间戳进行同步合成,并从内存中写入结果文件,比如MP4格式的多媒体视频文件,然后释放占用的内存。
通过本可选实施方式,由于在内存中进行视频流音频流的编解码、压缩等处理,效率较高,而且边录制边定期处理,录制结束后,将实时产生录制结果文件。由于视频流和语音流采用的是***同一个时间戳,两者能够实现精确同步。而且由于在内存中进行定期处理,处理完成后就写入结果文件,释放这部分内存,这样消耗的内存总量总是有限的,从而能够实现不限时长的录制。另外,分别创建线程处理视频采集、处理和语音采集、处理,即多线程处理,从而实现更快速的录制。
可选实施方式二
图5是根据本发明实施例可选实施方式二的屏幕录制方法的流程图,如图5所示,该方法包括步骤S502至步骤S508。
步骤S502,参数配置,包括录制类型,屏幕录制(即同时录屏录音)、单独录屏、单独录音,视频采集帧率,比如30帧/秒,音频格式参数,比如MP3,合成时间间隔等参数,比如30秒。
步骤S504,屏幕录制,收到录制开始指令,首先创建一个虚拟屏幕,然后获取虚拟屏幕的视频流,写入内存中,并进行视频编解码和压缩处理,增加***时间戳,形成比如H.264格式的视频流。
步骤S506,语音录制,收到录制开始指令,获取音频流,写入内存中,并进行音频编解码和压缩处理,并增加***时间戳,形成比如MP3格式的音频流。
步骤S508,合成多媒体视频文件,收到录屏结束指令,或者合成时间间隔到了,将视频流和音频流按照统一***时间戳进行合成,写入结果文件,比如MP4格式的多媒体视频文件,并释放占用的内存。
在该可选实施方式中,录制类型可以分为三种:屏幕录制(即同时录屏和录音),该方法如图6所示;单独录屏,该方法如图7所示;单独录音,该方法如图8所示。下面针对这三种类型分别详细说明。
图6是根据本发明实施例可选实施方式二的录屏和录音方法的流程图,如图6所示,包括如下步骤:
步骤S602,进行参数设置,包括虚拟屏幕参数,包括视频帧率,比如30帧/秒、屏幕分辨率等,设置音频格式参数,比如MP3,合成时间间隔等参数,比如30秒。
步骤S604,收到屏幕录制开始命令后,首先利用Android的多屏显示技术,根据设置的参数,创建虚拟屏幕。
步骤S606,获取虚拟屏幕视频流,写入内存,进行视频编解码和压缩处理,并增加***时间戳,形成比如H.264格式的视频流。获取音频流,写入内存,进行音频编解码和压缩处理,并增加***时间戳,形成比如MP3格式的音频流。
步骤S608,判断是否收到结束录制的命令,如果是,则转步骤S620,否则进入步骤S610。
步骤S610,判断是否收到暂停录制的命令,如果是,则进入步骤S612,否则转步骤S616。
步骤S612,停止录制,即停止获取视频流和音频流,停止写入内存。
步骤S614,判断是否收到继续录制的命令,如果是则转步骤S606,否则转步骤S612。
步骤S616,判断同步合成时间间隔是否达到,如果是,则进入步骤S618,否则转步骤S606。
步骤S618,将视频流和音频流根据统一的***时间戳进行同步合成,并从内存中写入结果文件,比如MP4格式的多媒体视频文件,然后释放占用的内存。
步骤S620,将视频流和音频流根据统一的***时间戳进行同步合成,并从内存中写入结果文件,比如MP4格式的多媒体视频文件,然后释放占用的内存,并结束录制,流程结束。
图7是根据本发明实施例可选实施方式二的单独录屏方法的流程图,如图7所示,包括如下步骤:
步骤S702,进行参数设置,包括虚拟屏幕参数,包括视频帧率,比如30帧/秒、屏幕分辨率等,设置合成时间间隔等参数,比如30秒。
步骤S704,收到单独录屏开始命令后,首先利用Android的多屏显示技术,根据设置的参数,创建虚拟屏幕。
步骤S706,获取虚拟屏幕视频流,写入内存,进行视频编解码和压缩处理,并增加***时间戳,形成比如H.264格式的视频流。
步骤S708,判断是否收到结束录屏的命令,如果是,则转步骤S720,否则进入步骤S710。
步骤S710,判断是否收到暂停录屏的命令,如果是,则进入步骤S712,否则转步骤S716。
步骤S712,停止录制,即停止获取视频流,停止写入内存。
步骤S714,判断是否收到继续录屏的命令,如果是则转步骤S706,否则转步骤S712。
步骤S716,判断同步合成时间间隔是否达到,如果是,则进入步骤S718,否则转步骤S706。
步骤S718,将视频流从内存中写入结果文件,比如MP4格式的多媒体视频文件,然后释放占用的内存。
步骤S720、将视频流从内存中写入结果文件,比如MP4格式的多媒体视频文件,然后释放占用的内存,并结束录屏,流程结束。
图8是根据本发明实施例可选实施方式二的单独录音方法的流程图,如图8所示,包括如下步骤:
步骤S802,进行参数设置,设置音频格式参数,比如MP3,设置合成时间间隔等参数,比如30秒。
步骤S804,收到单独录音开始命令后,获取音频流,写入内存,进行音频编解码和压缩处理,并增加***时间戳,形成比如MP3格式的音频流
步骤S806,判断是否收到结束录音的命令,如果是,则转步骤S818,否则进入步骤S808。
步骤S808,判断是否收到暂停录音的命令,如果是,则进入步骤S810,否则转步骤S814。
步骤S810,停止录制,即停止获取音频流,停止写入内存。
步骤S812,判断是否收到继续录音的命令,如果是则转步骤S806,否则转步骤S810。
步骤S814,判断同步合成时间间隔是否达到,如果是,则进入步骤S816,否则转步骤S804。
步骤S816,将音频流从内存中写入结果文件,比如MP3格式的音频文件,然后释放占用的内存。
步骤S818,将音频流从内存中写入结果文件,比如MP3格式的音频文件,然后释放占用的内存,并结束录音,流程结束。
可选实施方式三
图9是根据本发明实施例可选实施方式三的屏幕录制***的结构示意图,如图9所示,屏幕录制***包括:参数配置模块910,视频采集模块920,音频采集模块930,命令监控模块940,同步合成模块950,以下对本发明***实施例的各个模块进行详细的说明。
参数配置模块910,该模块负责对录制参数进行配置,包括录制类型,即屏幕录制(同时录屏和录音),还是单独录屏,或单独录音,以及录屏、录音的具体参数,包括视频采集帧率,比如30帧/秒、视频分辨率、视频格式,比如H.264、语音格式,比如MP3、多媒体视频文件格式,比如MP4等。
视频采集模块920,该模块负责利用Android的多屏显示技术,根据设置的参数,创建虚拟屏幕,获取虚拟屏幕的视频流,写入内存,并进行时间戳和视频编解码压缩处理,得到比如H2.64格式的视频流。
音频采集模块930,该模块负责音频流的采集,写入内存,并进行时间戳和音频编解码压缩处理,得到比如MP3格式的音频流。
命令监控模块940,该模块对录屏过程中的命令进行监控,收到命令后,进行相应的分发处理,分发给其他相应的模块进行处理。比如开始录制、暂停、继续、结束录制、合成时间间隔到达等命令的监控,收到这些命令后发给其他相应模块进行处理。
同步合成模块950,该模块负责对内存中视频流和音频流根据统一的***时间戳进行同步合成,并从内存中写入结果文件,比如MP4格式的多媒体视频文件,然后释放占用的内存。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种屏幕录制的方法,其特征在于,包括:
创建虚拟屏幕,其中,所述虚拟屏幕中包含有待屏幕录制的内容;
获取所述虚拟屏幕的视频流;以及
根据所述视频流生成视频文件。
2.根据权利要求1所述的方法,其特征在于,
所述根据所述视频流生成视频文件之前,还包括:获取音频流;
根据所述视频流生成视频文件,包括:根据所述视频流和所述音频流以***时间为基准生成视频文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述视频流和所述音频流以***时间为基准生成视频文件,包括:
将所述视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳,将所述音频流写入第二内存进行音频编码处理并以所述***时间为基准添加时间戳;
根据视频编码处理后的所述视频流和音频编码处理后的所述音频流以所述***时间为基准生成视频文件。
4.根据权利要求3所述的方法,其特征在于,
将所述视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳,包括:将所述视频流写入第一内存并以***时间为基准添加时间戳,按照第一预定时间间隔对所述第一内存中写入的所述视频流进行视频编码处理;
将所述音频流写入第二内存进行音频编码处理并以所述***时间为基准添加时间戳,包括:将所述音频流写入第二内存并以***时间为基准添加时间戳,按照第二预定时间间隔对所述第二内存中写入的所述音频流进行音频编码处理;
根据视频编码处理后的所述视频流和音频编码处理后的所述音频流以所述***时间为基准生成视频文件,包括:按照第三预定时间间隔,以所述***时间为基准将视频编码处理后的所述视频流和音频编码处理后的所述音频流写入视频文件,并释放相应的内存空间。
5.根据权利要求3所述的方法,其特征在于,还包括:
响应暂停请求,暂停获取所述视频流和所述音频流;
判断是否接收到开始请求;
当接收到所述开始请求,重新开始获取所述视频流和所述音频流。
6.根据权利要求3所述的方法,其特征在于,
所述方法还包括:创建第一线程和第二线程,其中,所述第一线程与所述第二线程为不同的线程;
将所述视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳,包括:通过所述第一线程将所述视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳;
将所述音频流写入第二内存进行音频编码处理并以所述***时间为基准添加时间戳,包括:通过所述第二线程将所述音频流写入第二内存进行音频编码处理并以所述***时间为基准添加时间戳。
7.一种屏幕录制的装置,其特征在于,包括:
第一创建模块,用于创建虚拟屏幕,其中,所述虚拟屏幕中包含有待屏幕录制的内容;
第一获取模块,用于获取所述虚拟屏幕的视频流;以及
生成模块,用于根据所述视频流生成视频文件。
8.根据权利要求7所述的装置,其特征在于,
所述装置还包括:第二获取模块,用于获取音频流;
所述生成模块,用于根据所述视频流和所述音频流以***时间为基准生成视频文件。
9.根据权利要求8所述的装置,其特征在于,所述生成模块,包括:
第一处理单元,用于将所述视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳;
第二处理单元,用于将所述音频流写入第二内存进行音频编码处理并以所述***时间为基准添加时间戳;
生成单元,用于根据视频编码处理后的所述视频流和音频编码处理后的所述音频流以所述***时间为基准生成视频文件。
10.根据权利要求9所述的装置,其特征在于,
所述第一处理单元,用于将所述视频流写入第一内存并以***时间为基准添加时间戳,按照第一预定时间间隔对所述第一内存中写入的所述视频流进行视频编码处理;
所述第二处理单元,用于将所述音频流写入第二内存并以***时间为基准添加时间戳,按照第二预定时间间隔对所述第二内存中写入的所述音频流进行音频编码处理;
所述生成单元,用于按照第三预定时间间隔,以所述***时间为基准将视频编码处理后的所述视频流和音频编码处理后的所述音频流写入视频文件,并释放相应的内存空间。
11.根据权利要求9所述的装置,其特征在于,还包括:
暂停模块,用于响应暂停请求,暂停获取所述视频流和所述音频流;判断是否接收到开始请求;当接收到所述开始请求,重新开始获取所述视频流和所述音频流。
12.根据权利要求9所述的装置,其特征在于,
所述装置还包括:第二创建模块,用于创建第一线程和第二线程,其中,所述第一线程与所述第二线程为不同的线程;
所述第一处理单元,用于通过所述第一线程将所述视频流写入第一内存进行视频编码处理并以***时间为基准添加时间戳;
所述第二处理单元,用于通过所述第二线程将所述音频流写入第二内存进行音频编码处理并以所述***时间为基准添加时间戳。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410798079.7A CN105763926A (zh) | 2014-12-18 | 2014-12-18 | 屏幕录制的方法及装置 |
PCT/CN2015/076127 WO2016095369A1 (zh) | 2014-12-18 | 2015-04-09 | 屏幕录制的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410798079.7A CN105763926A (zh) | 2014-12-18 | 2014-12-18 | 屏幕录制的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105763926A true CN105763926A (zh) | 2016-07-13 |
Family
ID=56125739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410798079.7A Pending CN105763926A (zh) | 2014-12-18 | 2014-12-18 | 屏幕录制的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105763926A (zh) |
WO (1) | WO2016095369A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277607A (zh) * | 2017-06-09 | 2017-10-20 | 努比亚技术有限公司 | 一种屏幕图像录制方法、终端及计算机可读存储介质 |
CN108200275A (zh) * | 2017-12-27 | 2018-06-22 | 努比亚技术有限公司 | 一种录屏控制方法、设备及计算机可读存储介质 |
CN108323239A (zh) * | 2016-11-29 | 2018-07-24 | 华为技术有限公司 | 屏幕录像的录制、播放方法、录屏终端及播放终端 |
CN109255990A (zh) * | 2018-09-30 | 2019-01-22 | 杭州乔智科技有限公司 | 一种基于ar增强现实的教学*** |
CN109600661A (zh) * | 2018-08-01 | 2019-04-09 | 北京微播视界科技有限公司 | 用于录制视频的方法和装置 |
CN109672837A (zh) * | 2019-01-24 | 2019-04-23 | 深圳慧源创新科技有限公司 | 航拍设备实时视频录制方法、移动终端和计算机存储介质 |
CN111355729A (zh) * | 2020-02-27 | 2020-06-30 | 深圳市瑞驰信息技术有限公司 | 一种实时录屏推流与拉流显示引擎框架及数据传输方法 |
CN112565873A (zh) * | 2020-12-01 | 2021-03-26 | 梦想合力(北京)科技有限公司 | 屏幕录制方法和装置、设备及存储介质 |
CN112672201A (zh) * | 2020-12-18 | 2021-04-16 | 努比亚技术有限公司 | 一种录屏帧率控制方法、设备及计算机可读存储介质 |
CN112714352A (zh) * | 2021-03-25 | 2021-04-27 | 统信软件技术有限公司 | 一种屏幕录制方法、装置、计算设备及可读存储介质 |
CN113810639A (zh) * | 2021-09-28 | 2021-12-17 | 深圳万兴软件有限公司 | 一种录制鼠标信息可再编辑的方法、装置及相关介质 |
CN115086751A (zh) * | 2022-07-15 | 2022-09-20 | 福建合诚信息科技有限公司 | 一种浏览器屏幕录制的自动控制方法 |
CN117177066A (zh) * | 2022-05-30 | 2023-12-05 | 荣耀终端有限公司 | 一种拍摄方法及相关设备 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426606B (zh) * | 2017-06-26 | 2020-07-24 | 联想(北京)有限公司 | 录制屏幕的方法、装置、电子设备和*** |
CN108600668B (zh) * | 2018-03-27 | 2020-09-29 | 维沃移动通信有限公司 | 一种录屏帧率调整方法及移动终端 |
CN112804549B (zh) * | 2021-01-15 | 2023-07-28 | 北京字节跳动网络技术有限公司 | 直播数据处理方法及设备 |
CN115484423A (zh) * | 2021-06-16 | 2022-12-16 | 荣耀终端有限公司 | 一种转场特效添加方法及电子设备 |
CN113709553A (zh) * | 2021-09-30 | 2021-11-26 | 深圳市欢太数字科技有限公司 | 一种屏幕录制方法、装置、芯片和终端 |
CN117135299A (zh) * | 2023-04-27 | 2023-11-28 | 荣耀终端有限公司 | 视频录制方法和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609401A (zh) * | 2009-07-02 | 2009-12-23 | 深圳市万兴软件有限公司 | 一种无干扰屏幕录制方法和*** |
CN103686312A (zh) * | 2013-12-05 | 2014-03-26 | 中国航空无线电电子研究所 | 一种dvr多路音视频记录方法 |
US20140205259A1 (en) * | 2013-01-24 | 2014-07-24 | Kiran Kamity | Screen recording for creating contents in mobile devices |
US8798598B2 (en) * | 2012-09-13 | 2014-08-05 | Alain Rossmann | Method and system for screencasting Smartphone video game software to online social networks |
CN104092920A (zh) * | 2014-07-16 | 2014-10-08 | 浙江航天长峰科技发展有限公司 | 一种音视频同步方法 |
-
2014
- 2014-12-18 CN CN201410798079.7A patent/CN105763926A/zh active Pending
-
2015
- 2015-04-09 WO PCT/CN2015/076127 patent/WO2016095369A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609401A (zh) * | 2009-07-02 | 2009-12-23 | 深圳市万兴软件有限公司 | 一种无干扰屏幕录制方法和*** |
US8798598B2 (en) * | 2012-09-13 | 2014-08-05 | Alain Rossmann | Method and system for screencasting Smartphone video game software to online social networks |
US20140205259A1 (en) * | 2013-01-24 | 2014-07-24 | Kiran Kamity | Screen recording for creating contents in mobile devices |
CN103686312A (zh) * | 2013-12-05 | 2014-03-26 | 中国航空无线电电子研究所 | 一种dvr多路音视频记录方法 |
CN104092920A (zh) * | 2014-07-16 | 2014-10-08 | 浙江航天长峰科技发展有限公司 | 一种音视频同步方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108323239A (zh) * | 2016-11-29 | 2018-07-24 | 华为技术有限公司 | 屏幕录像的录制、播放方法、录屏终端及播放终端 |
CN108323239B (zh) * | 2016-11-29 | 2020-04-28 | 华为技术有限公司 | 屏幕录像的录制、播放方法、录屏终端及播放终端 |
US10785541B2 (en) | 2016-11-29 | 2020-09-22 | Huawei Technologies Co., Ltd. | Screencast recording method, screencast playing method, screen recording terminal, and playing terminal |
CN107277607A (zh) * | 2017-06-09 | 2017-10-20 | 努比亚技术有限公司 | 一种屏幕图像录制方法、终端及计算机可读存储介质 |
CN108200275A (zh) * | 2017-12-27 | 2018-06-22 | 努比亚技术有限公司 | 一种录屏控制方法、设备及计算机可读存储介质 |
CN109600661B (zh) * | 2018-08-01 | 2022-06-28 | 北京微播视界科技有限公司 | 用于录制视频的方法和装置 |
CN109600661A (zh) * | 2018-08-01 | 2019-04-09 | 北京微播视界科技有限公司 | 用于录制视频的方法和装置 |
CN109255990A (zh) * | 2018-09-30 | 2019-01-22 | 杭州乔智科技有限公司 | 一种基于ar增强现实的教学*** |
CN109672837A (zh) * | 2019-01-24 | 2019-04-23 | 深圳慧源创新科技有限公司 | 航拍设备实时视频录制方法、移动终端和计算机存储介质 |
CN111355729A (zh) * | 2020-02-27 | 2020-06-30 | 深圳市瑞驰信息技术有限公司 | 一种实时录屏推流与拉流显示引擎框架及数据传输方法 |
CN112565873A (zh) * | 2020-12-01 | 2021-03-26 | 梦想合力(北京)科技有限公司 | 屏幕录制方法和装置、设备及存储介质 |
CN112672201A (zh) * | 2020-12-18 | 2021-04-16 | 努比亚技术有限公司 | 一种录屏帧率控制方法、设备及计算机可读存储介质 |
CN112672201B (zh) * | 2020-12-18 | 2023-12-12 | 努比亚技术有限公司 | 一种录屏帧率控制方法、设备及计算机可读存储介质 |
CN113473214A (zh) * | 2021-03-25 | 2021-10-01 | 统信软件技术有限公司 | 一种屏幕录制方法、装置、计算设备及可读存储介质 |
CN112714352A (zh) * | 2021-03-25 | 2021-04-27 | 统信软件技术有限公司 | 一种屏幕录制方法、装置、计算设备及可读存储介质 |
WO2022199044A1 (zh) * | 2021-03-25 | 2022-09-29 | 统信软件技术有限公司 | 一种屏幕录制方法、装置、计算设备及可读存储介质 |
CN113810639A (zh) * | 2021-09-28 | 2021-12-17 | 深圳万兴软件有限公司 | 一种录制鼠标信息可再编辑的方法、装置及相关介质 |
CN113810639B (zh) * | 2021-09-28 | 2023-09-29 | 深圳万兴软件有限公司 | 一种录制鼠标信息可再编辑的方法、装置及相关介质 |
CN117177066A (zh) * | 2022-05-30 | 2023-12-05 | 荣耀终端有限公司 | 一种拍摄方法及相关设备 |
CN115086751A (zh) * | 2022-07-15 | 2022-09-20 | 福建合诚信息科技有限公司 | 一种浏览器屏幕录制的自动控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2016095369A1 (zh) | 2016-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105763926A (zh) | 屏幕录制的方法及装置 | |
CN109168014B (zh) | 一种直播方法、装置、设备及存储介质 | |
US10930318B2 (en) | Gapless video looping | |
JP2018026816A (ja) | 動画録画方法およびシステム | |
CN110858827B (zh) | 启播加速方法、装置及计算机可读取存储介质 | |
CN105307028A (zh) | 一种针对多个镜头视频素材的视频编辑方法和装置 | |
CN105681632B (zh) | 多目摄像机及其帧同步的方法 | |
CA3001480C (en) | Video-production system with dve feature | |
CN104091607A (zh) | 一种基于ios设备的视频编辑方法及装置 | |
TWI709331B (zh) | 經由多視圖壓縮/解壓縮減少記憶體頻寬的系統與方法 | |
TW202101445A (zh) | 使用編輯操作執行時域軌道推導的方法和裝置 | |
CN105472374A (zh) | 一种3d视频直播方法、装置及*** | |
CN105611280A (zh) | 一种基于android***的VR视频编辑方法和*** | |
TW202037160A (zh) | 時間軌道推導的方法和裝置 | |
CN104091608A (zh) | 一种基于ios设备的视频编辑方法及装置 | |
US10043302B2 (en) | Method and apparatus for realizing boot animation of virtual reality system | |
WO2016160240A1 (en) | Digital content streaming from digital tv broadcast | |
CN106101806B (zh) | 一种分享直播视频时的视频处理方法及装置 | |
CN109246433B (zh) | 视频编码方法及装置、解码方法及装置、视频传输*** | |
WO2021065605A1 (ja) | 情報処理装置および情報処理方法 | |
CN104780389B (zh) | 一种视频处理方法及装置 | |
CN103179421B (zh) | 一种立体视频文件的描述与管理方法 | |
CN105847994A (zh) | 一种多媒体文件的播放方法和装置 | |
CN115002335B (zh) | 视频处理方法、装置、电子设备和计算机可读存储介质 | |
EP3503563A1 (en) | Computer system and method for synchronous data transmission of multiple data streams |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160713 |