CN107426606A - 录制屏幕的方法、装置、电子设备和系统 - Google Patents
录制屏幕的方法、装置、电子设备和系统 Download PDFInfo
- Publication number
- CN107426606A CN107426606A CN201710497537.7A CN201710497537A CN107426606A CN 107426606 A CN107426606 A CN 107426606A CN 201710497537 A CN201710497537 A CN 201710497537A CN 107426606 A CN107426606 A CN 107426606A
- Authority
- CN
- China
- Prior art keywords
- video data
- data stream
- video
- belongs
- file
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- 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)
- Television Signal Processing For Recording (AREA)
Abstract
本公开提供了一种录制屏幕的方法。所述方法包括获取视频数据流,其中,当所述视频数据流属于第一类型时从显存中获取缓存于其中的所述视频数据流,当所述视频数据数据流属于第二类型时从内存中获取缓存于其中的所述视频数据流;将所述视频数据流的帧进行压缩编码以获得对应的视频文件;以及存储所述视频文件。本公开还提供了一种录制屏幕的装置、一种包括该装置的电子设备、以及一种录制屏幕的系统。
Description
技术领域
本公开涉及一种录制屏幕的方法、装置、电子设备和系统。
背景技术
当前游戏玩家利用游戏软件进行游戏录制时总会受到各种各样的限制,不能录制全部的游戏,并且往往无法录制桌面视频。例如,有的游戏录制软件只支持特定的显卡,如NVIDIA GetForce Experience只支持NVIDIA显卡,从而在其他显卡上运行的游戏就无法进行录制,并且NVIDIA GetForce Experience不能录制桌面视频。又或者,有的游戏录制软件虽然不限定于特定的显卡,但是只能够录制部分的游戏,而且录制文件占用磁盘空间非常大,且不能够录制桌面视频,如Fraps。
发明内容
本公开的一个方面提供了一种录制屏幕的方法。该方法包括获取视频数据流,其中,当所述视频数据流属于第一类型时从显存中获取缓存于其中的所述视频数据流,当所述视频数据数据流属于第二类型时从内存中获取缓存于其中的所述视频数据流。然后,将所述视频数据流的帧进行压缩编码以获得对应的视频文件,并且存储所述视频文件。
可选地,所述方法中根据预设条件判断所述视频数据流属于第一类型或者第二类型。
可选地,根据预设条件判断所述视频数据流属于第一类型或者第二类型,包括:若所述视频数据流所在的应用程序属于预设的应用程序,则所述视频数据流属于第一类型;若所述视频数据流所在的应用程序不属于预设的应用程序,则所述视频数据流属于第二类型。其中,所述预设的应用程序运行的视频数据流在展示之前需要在显卡中进行渲染。
可选地,所述渲染包括通过DirectX或者OpenGL进行渲染。
可选地,所述方法中将所述视频数据流的帧进行压缩编码以获得对应的视频文件包括通过显卡将所述视频数据流的帧进行压缩编码。
可选地,所述方法还包括获取所述视频数据流对应的音频数据流,将所述音频数据流的帧进行压缩编码以获得对应的音频文件,以及存储所述音频文件。
本公开的另一个方面提供了一种录制屏幕的装置,包括视频数据获取模块、视频数据压缩模块和视频数据存储模块。视频数据获取模块用于获取视频数据流,其中,当所述视频数据流属于第一类型时从显存中获取缓存于其中的所述视频数据流,当所述视频数据数据流属于第二类型时从内存中获取缓存于其中的所述视频数据流。视频数据压缩模块用于将所述视频数据流的帧进行压缩编码以获得对应的视频文件。视频数据存储模块用于存储所述视频文件。
可选地,所述视频数据压缩模块通过显卡将所述视频数据流的帧进行压缩编码。
本公开的另一方面提供了一种电子设备,包括如上所述的录制屏幕的装置。
本公开的另一方面提供了一种录制屏幕的系统,包括:一个或多个存储器,存储有可执行指令;以及一个或多个处理器,执行所述可执行指令,以实现如上所述的录制屏幕的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的录制屏幕的方法和装置的应用场景;
图2示意性示出了根据本公开实施例的录制屏幕的方法的流程图;
图3示意性示出了根据本公开另一实施例的录制屏幕的的方法的流程图;
图4示意性示出了根据本公开再一实施例的录制屏幕的方法的流程图;
图5示意性示出了根据本公开实施例的录制屏幕的装置的框图;
图6示意性示出了根据本公开实施例的电子设备的框图;以及
图7示意性示出了根据本公开实施例的录制屏幕的系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开的实施例提供了一种录制屏幕的方法及装置。该方法包括获取视频数据流,其中,当该视频数据流属于第一类型时从显存中获取缓存于其中的该视频数据流,当该视频数据数据流属于第二类型时从内存中获取缓存于其中的该视频数据流;将该视频数据流的帧进行压缩编码以获得对应的视频文件;以及存储该视频文件。
根据本公开实施例,对于例如至少一部分的游戏视频流,可以按照第一类型的视频数据流进行录制;对于例如通过各种播放软件在桌面播放的电影等视频数据流,可以按照第二类型的视频数据流进行录制。以此方式,根据本公开实施例的录制屏幕的方法及装置既能够录制游戏视频等第一类型的视频数据流,也能够录制桌面视频等第二类型的视频数据流,而且可以不区分显卡的类型,用途广泛。
图1示意性示出了根据本公开实施例的录制屏幕的方法和装置的应用场景。
如图1所示,该应用场景包括主机设备110和显示设备120。其中显示设备120与主机设备110相连接。
主机设备110可以是任何一种包括处理器、内存储器和显卡的电子设备,其中显卡中包括有显存。
显示设备120可以用于展示视频画面,也可以用于展示供用户操作的交互界面等。显示设备120可以是具有屏幕的设备,也可以是具有投影功能的设备,还可以是可穿戴的眼镜设备等。
另外,该应用场景还可以包括输入设备130,输入设备130也连接到主机设备110上,提供用户操作的输入终端。
该应用场景还可以包括音频输出设备(图中未示出),音频输出设备可以连接至主机设备110上,或者音频输出设备可以集成在主机设备110内部。
主机设备110、显示设备120和/或输入设备130、和/或音频输出设备可以是如图1所示的分体式结构,也可以是至少部分集成一起的结构,例如笔记本计算机等。
可以理解,虽然这里示出了一个显示设备120,但本公开的实施例也可以应用于多个显示设备的情况。
图2示意性示出了根据本公开实施例的录制屏幕的方法的流程图。
如图2所示,根据本公开实施例的录制屏幕的方法包括操作S201~操作S203。
在操作S201,获取视频数据流。其中,当该视频数据流属于第一类型时从显存中获取缓存于其中的该视频数据流,当该视频数据数据流属于第二类型时从内存中获取缓存于其中的该视频数据流。
根据本公开实施例,第一类型的视频数据流可以是在其通过显示设备120进行展示之前,需要在显卡中进行渲染的视频数据流,例如至少一部分的游戏视频数据流在展示之前需要在显卡中进行例如2D、或者3D渲染等。
具体地,第一类视频数据流进入显卡之后,会经过显卡中的绘制函数等进行渲染,然后将渲染之后得到的该视频数据流缓存于显存中,之后再将显存中缓存的该视频数据流进行数字信号和模拟信号的转换等处理,最后通过显示设备120进行展示。
根据本公开的实施例,对于第一类视频数据流,从显存中获取缓存于其中的该视频数据流,使得获取得到的该视频数据流是经过显卡渲染完成的视频数据流。
根据本公开实施例,第二类型的视频数据流是可以通过视频播放软件等进行播放的视频数据流。该类视频数据流在被展示时可以先被加载到内存,然后由处理器从内存中读取数据并发送到显卡中,经过显卡的数字信号与模拟信号的转换等一系列处理,最终通过显示设备120进行展示的视频数据流。其中,第二类型的视频数据流经过显卡的一系列处理中可以不包括在显卡中进行渲染。
根据本公开的实施例,对于第二类视频数据流,从内存中获取缓存与其中的该视频数据流。第二类视频数据流可以不在显卡中进行渲染,因此可以从内存中获取缓存于其中的视频数据流,从而能够使得获取到的视频数据流具有一定程度的完整性。
在操作S202,将该视频数据流的帧进行压缩编码以获得对应的视频文件。
具体地,将该视频数据流的帧进行压缩编码可以是通过软件方式进行编码,这种情况下主要由CPU运行承担压缩编码工作。或者,将该视频数据流的帧进行压缩编码也可以是通过硬件进行编码,例如通过显卡中的GPU进行压缩编码。
根据本公开的实施例,将该视频输数据流的帧进行压缩编码以获得对应的视频文件包括通过显卡对该视频数据流的帧进行压缩编码。
具体地,利用显卡中的GPU对视频数据流的帧进行压缩编码,以形成对应的视频文件。
通过显卡对该视频数据流的帧进行压缩编码可以是,例如通过NVDIA显卡、Intel显卡或者AMD显卡对该视频数据通过硬件进行编码,并且可以根据需要设置压缩编码后的视频文件的格式,以控制获得的视频文件的大小。
根据本公开的实施例,通过显卡对该视频数据流的帧进行压缩编码能够有效降低CPU的占用率,从而减少屏幕录制对正在运行的视频数据流的传输速率等方面的影响。
在操作S203,存储该视频文件,即将在操作S202获得的该视频文件进行存储。
根据本公开实施例的录制屏幕的方法,最终存储得到的该视频文件在通过显示设备120进行展示时,能够获得与录制时展示在显示设备120上的视频文件相同的视觉效果。
具体地,对根据本公开实施例的方法最终存储得到的视频文件进行展示时,相当于是对电影视频等进行展示。即,对该视频文件通过显示设备120进行展示之前可以不经过显卡的渲染。
如此,若录制该视频文件时的视频数据流是第一类型的视频数据流,在操作S201中从显存中获取缓存于其中的该视频数据流,而且如前所述从显存中获取的是经过显卡渲染完成的视频数据流。从而,根据本公开实施例的方法最终存储得到的视频文件中的数据是经过渲染的数据。这样,对该视频文件进行展示时可以不经过渲染,其画面中的图像就已经包括了对该第一类型的视频数据流的渲染效果。例如录制游戏时,对根据本公开的实施例的方法最终存储得到的录制的游戏视频文件进行展示时可以不经过显卡的渲染,其展示的画面中的图像就包括了对该游戏场景的渲染,例如3D场景渲染等等。
相应的,若录制该视频文件时的视频数据流是第二类型的视频数据流,在操作S201中从该内存中获取缓存与其中的该视频数据流。根据本公开实施例的方法最终存储得到该视频文件的展示的过程与录制时展示在显示设备120上的视频文件的展示过程相类似,都可以不经过显卡的渲染。从而,对于根据本公开实施例的方法最终存储得到该视频文件进行展示时能够获得与录制时展示的视频文件相同的视觉效果。
根据本公开的实施例,录制屏幕时既能够录制第一类型的视频数据流,也能够录制第二类型的视频数据流,并且不受显卡类型的显示,极大地提高了录制屏幕的便利性。
图3示意性示出了根据本公开另一实施例的录制屏幕的的方法的流程图。
如图3所示,根据本公开另一实施例的录制屏幕的方法在操作S201~操作S203之前,还包括操作S301。
在操作S301,根据预设条件判断该视频数据流属于第一类型或者第二类型。
在操作S201,获取视频数据流。其中,当该视频数据流属于第一类型时从显存中获取缓存于其中的该视频数据流,当该视频数据数据流属于第二类型时从内存中获取缓存于其中的该视频数据流。
在操作S202,将该视频数据流的帧进行压缩编码以获得对应的视频文件。
在操作S203,存储该视频文件。
根据本公开的实施例,判断要进行录制的该视频数据流属于第一类型或者第二类型,从而在操作S201中可以根据其所属的类型采用对应的手段获取该视频数据流。
第一类型的视频数据流和第二类型的视频数据流的主要区别是第一类型的视频数据流在展示之前需要在显卡中进行渲染,而第二类型的视频数据流在展示之前可以不在显卡中进行渲染。
区分第一类型的视频数据流和第二类型的视频数据流可以通过两者的展示过程的各种特征差异进行。例如,当第一类型的视频数据流是游戏视频数据流、第二类型的视频数据流是电影视频数据流时,相较于电影视频数据流,游戏视频数据流在展示过程中需要展示在显示设备120的最前端、具有最优先的展示权限、要占满全屏、需要在显卡中进行渲染或者CPU的占用率高等。
预设的条件可以是根据第一类型的视频数据流和第二类型的视频数据流的特征差异而设定的条件
或者,预设的条件也可以是根据第一类型的视频数据流和第二类型的视频数据流的特征差异预先将两种类型的视频数据流所在的应用程序进行区分。从而,对于将要录制的视频数据流,根据该视频数据流所运行的程序判断其属于第一类型的视频数据还是第二类型的视频数据。
根据本公开的实施例,根据预设条件根据预设条件判断该视频数据流属于第一类型或者第二类型,包括:若该视频数据流所在的应用程序属于预设的应用程序,则该视频数据流属于第一类型;若该视频数据流所在的应用程序不属于预设的应用程序,则该视频数据流属于第二类型。其中,该预设的应用程序运行的视频数据流在展示之前需要在显卡中进行渲染。
预设的应用程序是其所运行的视频数据流在展示之前需要在显卡中进行渲染的应用程序。
根据本公开的实施例,如果要录制的视频数据流所在的应用程序属于预设的应用程序,就按照第一类型的视频数据流从显存中获取该视频数据流,如果要录制的视频数据流所在的应用程序不属于预设的应用程序,就按照第二类型的视频数据流从内存中获取该视频数据流。以此方式,能够快速地判断视频数据流属于第一类型或者第二类型,
根据本公开的实施例,在显卡中进行渲染包括通过DirectX或者OpenGL进行渲染。
图4示意性示出了根据本公开再一实施例的录制屏幕的方法的流程图。
根据本公开再一实施例的录制屏幕的方法,除了操作S201~操作S203外,还包括操作S401~操作S403。
在操作S401,获取该视频数据流对应的音频数据流。
根据本公开的实施例,获取该视频数据流对应的音频数据流时可以不区分该视频数据流为第一类型的视频数据流或者为第二类型的视频数据流。
获取该视频数据流对应的音频数据流,可以是,例如从内存中获取缓存于其中的音频数据流。
在操作S402,将该音频数据流的帧进行压缩编码以获得对应的音频文件。
在操作S403,存储该音频文件。
具体地,操作S401~操作S403可以与操作S201~操作S203同步进行。
根据本公开的实施例,在录制屏幕时,同步录制视频数据流以及其对应的音频数据流,并将最终获得的视频文件和音频文件同步存储,以获得具有声音和图像的多媒体文件。
图5示意性示出了根据本公开实施例的录制屏幕的装置的框图。
如图5所示,根据本公开实施例的录制屏幕的装置500包括视频数据获取模块510、视频数据压缩模块520和视频数据存储模块530。
视频数据获取模块510用于获取视频数据流。其中,当该视频数据流属于第一类型时从显存中获取缓存于其中的该视频数据流,当该视频数据数据流属于第二类型时从内存中获取缓存于其中的该视频数据流;
视频数据压缩模块520用于将该视频数据流的帧进行压缩编码以获得对应的视频文件。
视频数据存储模块530用于存储该视频文件。
根据本公开实施例的装置500存储得到的该视频文件在通过显示设备120进行展示时,能够获得与录制时展示在显示设备120上的视频文件相同的视觉效果。
具体地,对根据本公开实施例的装置500存储得到的视频文件进行展示时,相当于是对电影视频等进行展示。即,对该视频文件通过显示设备120进行展示之前可以不经过显卡的渲染。
如此,若录制该视频文件时的视频数据流是第一类型的视频数据流,视频数据获取模块510从显存中获取缓存于其中的该视频数据流,而且如前所述从显存中获取的是经过显卡渲染完成的视频数据流。从而,装置500存储得到的视频文件中的数据是经过渲染的数据。这样,对该视频文件进行展示时可以不经过渲染,其画面中的图像就已经包括了对该第一类型的视频数据流的渲染效果。例如录制游戏时,对根据本公开的实施例的装置500存储得到的录制的游戏视频文件进行展示时可以不经过显卡的渲染,其展示的画面中的图像就包括了对该游戏场景的渲染,例如3D场景渲染等等。
相应的,若录制该视频文件时的视频数据流是第二类型的视频数据流,视频数据获取模块510从该内存中获取缓存与其中的该视频数据流。根据本公开实施例的装置500存储得到该视频文件的展示的过程与录制时展示在显示设备120上的视频文件的展示过程相类似,都可以不经过显卡的渲染。从而,根据本公开实施例的装置500存储得到该视频文件进行展示时能够获得与录制时展示的视频文件相同的视觉效果。
根据本公开实施例的装置500,录制屏幕时既能够录制第一类型的视频数据流,也能够录制第二类型的视频数据流,并且不受显卡类型的显示,极大地提高了录制屏幕的便利性。
根据本公开,实施例的装置500中,视频数据压缩模块520可以通过显卡将该视频数据流的帧进行压缩编码。
通过显卡对该视频数据流的帧进行压缩编码能够有效降低CPU的占用率,从而减少屏幕录制对正在运行的视频数据流的传输速率等方面的影响。
可以理解的是,视频数据获取模块510、视频数据压缩模块520和视频数据存储模块530可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,视频数据获取模块510、视频数据压缩模块520和视频数据存储模块530中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,身视频数据获取模块510、视频数据压缩模块520和视频数据存储模块530中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图6示意性示出了根据本公开实施例的电子设备的框图。
如图6所述,根据本公开实施例的电子设备600可以是主机终端120的具体实施例中的一种。
该电子设备600包括录制屏幕的装置500,可以执行图2~图4描述的方法,以实现屏幕录制。
根据本公开的实施例,电子设备600可以录制第一类型的视频数据流,也可以录制第二类型的视频数据流,并且录制过程不受显卡类型的限制,极大地提高了录制屏幕的便利性,方便了用户的使用。
图7示意性示出了根据本公开实施例的录制屏幕的系统的框图。
如图7所示,录制屏幕的系统700包括处理器710、计算机可读存储介质720、以及显卡730。该录制屏幕的系统700可以执行上面参考图2~图4描述的方法,以实现屏幕录制。
具体地,处理器710例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器710还可以包括用于缓存用途的板载存储器。处理器710可以是用于执行参考图2~图4描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质720,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质720可以包括计算机程序721,该计算机程序721可以包括代码/计算机可执行指令,其在由处理器710执行时使得处理器710执行例如上面结合图2~图4所描述的方法流程及其任何变形。
计算机程序721可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序721中的代码可以包括一个或多个程序模块,例如包括721A、模块721B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器710执行时,使得处理器710可以执行例如上面结合图2~图4所描述的方法流程及其任何变形。
根据本公开的实施例,处理器710可以与显卡730进行交互,对于第一类型的视频数据流,可以从显卡730的显存中获取缓存与其中的该视频数据流。
根据本公开的实施例,,处理器710还可以控制显卡730对视频数据流的帧进行压缩编码以获得对应的视频文件。
根据本发明的实施例,视频数据获取模块510、视频数据压缩模块520和视频数据存储模块530中的至少一个可以实现为参考图7描述的计算机程序模块,其在被处理器710执行时,可以实现上面描述的相应操作。
根据本公开各实施例的上述方法、装置、单元和/或模块可以通过有计算能力的电子设备执行包含计算机指令的软件来实现。该系统可以包括存储设备,以实现上文所描述的各种存储。该有计算能力的电子设备可以包含通用处理器、数字信号处理器、专用处理器、可重新配置处理器等能够执行计算机指令的装置,但不限于此。执行这样的指令使得电子设备被配置为执行根据本公开的上述各项操作。上述各设备和/或模块可以在一个电子设备中实现,也可以在不同电子设备中实现。这些软件可以存储在计算机可读存储介质中。计算机可读存储介质存储一个或多个程序(软件模块),该一个或多个程序包括指令,当电子设备中的一个或多个处理器执行该指令时,该指令使得电子设备执行本公开的方法。
这些软件可以存储为易失性存储器或非易失性存储装置的形式(比如类似ROM等存储设备),不论是可擦除的还是可重写的,或者存储为存储器的形式(例如RAM、存储器芯片、设备或集成电路),或者被存储在光可读介质或磁可读介质上(比如,CD、DVD、磁盘或磁带等等)。应该意识到,存储设备和存储介质是适于存储一个或多个程序的机器可读存储装置的实施例,该一个程序或多个程序包括指令,当该指令被执行时,实现本公开的实施例。实施例提供程序和存储这种程序的机器可读存储装置,该程序包括用于实现本公开的任何一项权利要求该的装置或方法的代码。此外,可以经由任何介质(比如,经由有线连接或无线连接携带的通信信号)来电传递这些程序,多个实施例适当地包括这些程序。
根据本公开各实施例的方法、装置、单元和/或模块还可以使用例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC)或可以以用于对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。该系统可以包括存储设备,以实现上文所描述的存储。在以这些方式实现时,所使用的软件、硬件和/或固件被编程或设计为执行根据本公开的相应上述方法、步骤和/或功能。本领域技术人员可以根据实际需要来适当地将这些系统和模块中的一个或多个,或其中的一部分或多个部分使用不同的上述实现方式来实现。这些实现方式均落入本公开的保护范围。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (10)
1.一种录制屏幕的方法,包括:
获取视频数据流,其中,当所述视频数据流属于第一类型时从显存中获取缓存于其中的所述视频数据流,当所述视频数据数据流属于第二类型时从内存中获取缓存于其中的所述视频数据流;
将所述视频数据流的帧进行压缩编码以获得对应的视频文件;以及
存储所述视频文件。
2.如权利要求1所述的方法,其中:
根据预设条件判断所述视频数据流属于第一类型或者第二类型。
3.如权利要求2所述的方法,其中,根据预设条件判断所述视频数据流属于第一类型或者第二类型,包括:
若所述视频数据流所在的应用程序属于预设的应用程序,则所述视频数据流属于第一类型;
若所述视频数据流所在的应用程序不属于预设的应用程序,则所述视频数据流属于第二类型;
其中
所述预设的应用程序运行的视频数据流在展示之前需要在显卡中进行渲染。
4.如权利要求3所述的方法,其中:
所述渲染包括通过DirectX或者OpenGL进行渲染。
5.如权利要求1所述的方法,其中,将所述视频数据流的帧进行压缩编码以获得对应的视频文件包括:
通过显卡将所述视频数据流的帧进行压缩编码。
6.如权利要求1所述的方法,还包括:
获取所述视频数据流对应的音频数据流;
将所述音频数据流的帧进行压缩编码以获得对应的音频文件;以及
存储所述音频文件。
7.一种录制屏幕的装置,包括:
视频数据获取模块,用于获取视频数据流,其中,当所述视频数据流属于第一类型时从显存中获取缓存于其中的所述视频数据流,当所述视频数据数据流属于第二类型时从内存中获取缓存于其中的所述视频数据流;
视频数据压缩模块,用于将所述视频数据流的帧进行压缩编码以获得对应的视频文件;
视频数据存储模块,用于存储所述视频文件。
8.如权利要求7所述的装置,其中:
所述视频数据压缩模块通过显卡将所述视频数据流的帧进行压缩编码。
9.一种电子设备,包括根据权利要求7或8所述的装置。
10.一种录制屏幕的系统,包括:
一个或多个存储器,存储有可执行指令;以及
一个或多个处理器,执行所述可执行指令,以实现根据权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710497537.7A CN107426606B (zh) | 2017-06-26 | 2017-06-26 | 录制屏幕的方法、装置、电子设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710497537.7A CN107426606B (zh) | 2017-06-26 | 2017-06-26 | 录制屏幕的方法、装置、电子设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107426606A true CN107426606A (zh) | 2017-12-01 |
CN107426606B CN107426606B (zh) | 2020-07-24 |
Family
ID=60427706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710497537.7A Active CN107426606B (zh) | 2017-06-26 | 2017-06-26 | 录制屏幕的方法、装置、电子设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107426606B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556325A (zh) * | 2019-02-12 | 2020-08-18 | 广州艾美网络科技有限公司 | 结合音视频的渲染方法、介质及计算机设备 |
CN111901654A (zh) * | 2020-08-04 | 2020-11-06 | 海信视像科技股份有限公司 | 一种显示设备及屏幕录制方法 |
CN112218148A (zh) * | 2020-09-11 | 2021-01-12 | 杭州易现先进科技有限公司 | 屏幕录制方法、装置、计算机设备和计算机可读存储介质 |
CN112565873A (zh) * | 2020-12-01 | 2021-03-26 | 梦想合力(北京)科技有限公司 | 屏幕录制方法和装置、设备及存储介质 |
CN112714352A (zh) * | 2021-03-25 | 2021-04-27 | 统信软件技术有限公司 | 一种屏幕录制方法、装置、计算设备及可读存储介质 |
WO2022012154A1 (zh) * | 2020-07-14 | 2022-01-20 | 海信视像科技股份有限公司 | 显示设备、屏幕录制方法及录屏分享方法 |
WO2023130965A1 (zh) * | 2022-01-06 | 2023-07-13 | 海信视像科技股份有限公司 | 一种显示设备及音视频数据播放方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1575599A (zh) * | 2001-08-31 | 2005-02-02 | 克里A·汤普森 | 用于随机播放技术的方法和设备 |
CN101609401A (zh) * | 2009-07-02 | 2009-12-23 | 深圳市万兴软件有限公司 | 一种无干扰屏幕录制方法和系统 |
CN103823683A (zh) * | 2014-02-27 | 2014-05-28 | 北京六间房科技有限公司 | 一种视频录制装置及方法 |
CN104113704A (zh) * | 2014-07-01 | 2014-10-22 | 深圳市欢创科技有限公司 | 一种游戏图像处理方法及装置 |
CN104424022A (zh) * | 2013-08-30 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 屏幕录制方法及装置 |
CN105163127A (zh) * | 2015-09-07 | 2015-12-16 | 浙江宇视科技有限公司 | 视频分析方法及装置 |
CN105518614A (zh) * | 2013-03-15 | 2016-04-20 | 谷歌公司 | 用于多屏幕应用程序的屏幕录制 |
WO2016095369A1 (zh) * | 2014-12-18 | 2016-06-23 | 中兴通讯股份有限公司 | 屏幕录制的方法及装置 |
CN105871916A (zh) * | 2016-06-08 | 2016-08-17 | 浙江宇视科技有限公司 | 视频流送显处理方法、装置及系统 |
WO2017086821A1 (en) * | 2015-11-17 | 2017-05-26 | Kordić Aleksandar | Method for determining cheating and match outcome in video games via recording player screens |
-
2017
- 2017-06-26 CN CN201710497537.7A patent/CN107426606B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1575599A (zh) * | 2001-08-31 | 2005-02-02 | 克里A·汤普森 | 用于随机播放技术的方法和设备 |
CN101609401A (zh) * | 2009-07-02 | 2009-12-23 | 深圳市万兴软件有限公司 | 一种无干扰屏幕录制方法和系统 |
CN105518614A (zh) * | 2013-03-15 | 2016-04-20 | 谷歌公司 | 用于多屏幕应用程序的屏幕录制 |
CN104424022A (zh) * | 2013-08-30 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 屏幕录制方法及装置 |
CN103823683A (zh) * | 2014-02-27 | 2014-05-28 | 北京六间房科技有限公司 | 一种视频录制装置及方法 |
CN104113704A (zh) * | 2014-07-01 | 2014-10-22 | 深圳市欢创科技有限公司 | 一种游戏图像处理方法及装置 |
WO2016095369A1 (zh) * | 2014-12-18 | 2016-06-23 | 中兴通讯股份有限公司 | 屏幕录制的方法及装置 |
CN105163127A (zh) * | 2015-09-07 | 2015-12-16 | 浙江宇视科技有限公司 | 视频分析方法及装置 |
WO2017086821A1 (en) * | 2015-11-17 | 2017-05-26 | Kordić Aleksandar | Method for determining cheating and match outcome in video games via recording player screens |
CN105871916A (zh) * | 2016-06-08 | 2016-08-17 | 浙江宇视科技有限公司 | 视频流送显处理方法、装置及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556325A (zh) * | 2019-02-12 | 2020-08-18 | 广州艾美网络科技有限公司 | 结合音视频的渲染方法、介质及计算机设备 |
WO2022012154A1 (zh) * | 2020-07-14 | 2022-01-20 | 海信视像科技股份有限公司 | 显示设备、屏幕录制方法及录屏分享方法 |
CN111901654A (zh) * | 2020-08-04 | 2020-11-06 | 海信视像科技股份有限公司 | 一种显示设备及屏幕录制方法 |
CN112218148A (zh) * | 2020-09-11 | 2021-01-12 | 杭州易现先进科技有限公司 | 屏幕录制方法、装置、计算机设备和计算机可读存储介质 |
CN112565873A (zh) * | 2020-12-01 | 2021-03-26 | 梦想合力(北京)科技有限公司 | 屏幕录制方法和装置、设备及存储介质 |
CN112714352A (zh) * | 2021-03-25 | 2021-04-27 | 统信软件技术有限公司 | 一种屏幕录制方法、装置、计算设备及可读存储介质 |
WO2022199044A1 (zh) * | 2021-03-25 | 2022-09-29 | 统信软件技术有限公司 | 一种屏幕录制方法、装置、计算设备及可读存储介质 |
WO2023130965A1 (zh) * | 2022-01-06 | 2023-07-13 | 海信视像科技股份有限公司 | 一种显示设备及音视频数据播放方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107426606B (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107426606A (zh) | 录制屏幕的方法、装置、电子设备和系统 | |
US10229651B2 (en) | Variable refresh rate video capture and playback | |
US11100992B2 (en) | Selective pixel output | |
CN112739433B (zh) | 用于远程渲染的vr的异步空间扭曲 | |
US9398297B2 (en) | Integral image coding | |
US10957285B2 (en) | Method and system for playing multimedia data | |
US9251731B2 (en) | Multi-sampling anti-aliasing compression by use of unreachable bit combinations | |
CN111491208B (zh) | 视频处理方法、装置、电子设备及计算机可读介质 | |
US9196083B2 (en) | Time-continuous collision detection using 3D rasterization | |
US11516549B2 (en) | Electronic apparatus and control method thereof | |
US11418830B2 (en) | Distributed video and graphics rendering system | |
US20210049983A1 (en) | Display rendering | |
WO2020258907A1 (zh) | 虚拟物品的生成方法、装置及设备 | |
US9538208B2 (en) | Hardware accelerated distributed transcoding of video clips | |
CN106412718A (zh) | 一种字幕在3d空间中的渲染方法及其装置 | |
US20120206450A1 (en) | 3d format conversion systems and methods | |
CN107209926A (zh) | 具有拜耳映射的图形处理单元 | |
CN109741430A (zh) | 动画实例创建方法、装置、设备及存储介质 | |
CN115396674A (zh) | 用于处理至少一个图像帧的方法、装置、介质及计算装置 | |
CN111355960A (zh) | 合成视频文件的方法、装置、移动终端及存储介质 | |
CN108027715B (zh) | 图形命令令牌的修改 | |
CN111711800B (zh) | 拼接显示屏的图像处理方法、装置及存储介质 | |
CN117065357A (zh) | 媒体数据处理方法、装置、计算机设备和存储介质 | |
US20230245375A1 (en) | Cloud Rendering of Texture Map | |
US10861497B2 (en) | High framerate video recording |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |