CN103823683A - 一种视频录制装置及方法 - Google Patents
一种视频录制装置及方法 Download PDFInfo
- Publication number
- CN103823683A CN103823683A CN201410069031.2A CN201410069031A CN103823683A CN 103823683 A CN103823683 A CN 103823683A CN 201410069031 A CN201410069031 A CN 201410069031A CN 103823683 A CN103823683 A CN 103823683A
- Authority
- CN
- China
- Prior art keywords
- dll
- target process
- function
- direct
- video
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种视频录制装置及方法,应用于用户主机上,该装置包括:DLL注入单元,用于向目标进程中注入DLL,所述DLL包括视频捕获DLL;接口创建单元,用于创建Direct设备接口;函数替换单元,用于通过所述Direct设备接口将所述目标进程中的绘图函数地址替换为所述视频捕获DLL中图像捕获函数的地址;函数调用单元,用于在所述目标进程每次调用所述绘图函数前,调用所述图像捕获函数获取后台缓冲中待绘制的图像像素数据。与现有技术相比,本发明可以通过对各Direct版本的绘图函数进行API HOOK,从而得到显卡上的图像数据,实现录制全屏幕游戏视频的同时,达到降低CPU、内存等资源消耗的目的,提供更佳的服务体验。
Description
技术领域
本发明涉及视频技术领域,尤其涉及一种视频录制装置及方法。
背景技术
随着电子游戏产业的发展以及游戏玩家数量激增,玩家对于游戏体验也有各种各样的需求,其中之一就是将游戏画面录制成视频,保存在本地或是上传视频到服务器进行直播,供玩家间交流使用。目前一些可以提供游戏视频录制功能的软件主要有yy游戏直播插件,Fraps,XSplit等。
由于游戏直播时,要在游戏运行时进行同步视频录制,上述的几款软件在游戏开始后进行视频录制时会占用大量CPU及内存,降低系统运行速度,从而导致游戏的卡顿、跳帧等问题。这样非但不能正常的录制视频,还可能导致正在运行的游戏进程卡滞。由此可见,现有技术没有充分考虑用户对于服务体验的要求,这在网络游戏等应用中,响应延迟、画面质量等服务体验对于用户而言恰恰是非常重要的。
发明内容
有鉴于此,本发明提供一种视频录制装置,应用于用户主机上,该装置包括:
DLL注入单元,用于向目标进程中注入DLL,所述DLL包括视频捕获DLL;
接口创建单元,用于创建Direct设备接口;
函数替换单元,用于通过所述Direct设备接口将所述目标进程中的绘图函数地址替换为所述视频捕获DLL中图像捕获函数的地址;
函数调用单元,用于在所述目标进程每次调用所述绘图函数前,调用所述图像捕获函数获取后台缓冲中待绘制的图像像素数据。
基于同样的思想,本发明还提供一种视频录制方法,应用于用户主机上,其特征在于,该方法包括步骤:
向目标进程中注入DLL,所述DLL包括视频捕获DLL;
创建Direct设备接口;
通过所述Direct设备接口将所述目标进程中的绘图函数地址替换为所述视频捕获DLL中图像捕获函数的地址;
在所述目标进程每次调用所述绘图函数前,调用所述图像捕获函数获取后台缓冲中待绘制的图像像素数据。
与现有技术相比,本发明可以通过对各Direct版本的绘图函数进行APIHOOK(一种改变应用程序编程接口执行结果的技术),从而得到显卡上的图像数据,实现录制全屏幕游戏视频的同时,达到降低CPU、内存等资源消耗的目的,提供更佳的服务体验。
附图说明
图1-1是本发明提供的一种视频录制装置的结构示意图;
图1-2是本发明提供的一种视频录制方法的处理流程图;
图2是本发明实施例中版本判断DLL的处理流程图;
图3是本发明实施例中一种注入DLL的处理流程图;
图4是本发明实施例中另一种注入DLL的处理流程图;
图5是本发明实施例中又一种注入DLL的处理流程图;
图6是本发明实施例中一种视频录制方法的处理流程图。
具体实施方式
为解决上述问题,本发明提供一种视频录制装置及方法,通过对各Direct版本的绘图函数进行API HOOK来实现录制全屏幕游戏视频的同时,达到降低CPU、内存等资源消耗的目的,提供更佳的服务体验。
请参见图1-1,是本发明提供的一种视频录制装置的结构示意图。所述视频录制装置,应用于用户主机上,所述用户主机包含CPU、非易失性存储器、内存以及其他硬件,所述装置包括:
DLL注入单元,用于向目标进程中注入DLL,其中所述注入DLL包括视频捕获DLL;
接口创建单元,用于创建Direct设备接口;
函数替换单元,用于通过所述Direct设备接口将所述目标进程中的绘图函数地址替换为所述视频捕获DLL中图像捕获函数的地址;
函数调用单元,用于在所述目标进程每次调用所述绘图函数前,调用所述图像捕获函数获取后台缓冲中待绘制的图像像素数据。
所述视频录制装置的处理流程如1-2所示,其中包括步骤:
101、向目标进程中注入DLL,所述DLL包括视频捕获DLL;
102、创建Direct设备接口;
103、通过所述Direct设备接口将所述目标进程中的绘图函数地址替换为所述视频捕获DLL中图像捕获函数的地址;
104、在所述目标进程每次调用所述绘图函数前,调用所述图像捕获函数获取后台缓冲中待绘制的图像像素数据。
当用户需要录制视频时,内存中的DLL注入单元就会向目标进程中注入DLL,其中,所述目标进程就是用户要录制视频所在的进程;所述DLL注入单元注入的DLL中又包含了多种DLL文件,其中之一就是所述视频捕获DLL。一旦所述视频捕获DLL被注入到目标进程后,就会由接口创建单元来创建一个Direct设备接口(又称DirectX),DirectX是一组COM组件,COM是一种二进制标准,每一个COM里面提供了至少一个接口,而接口就是一组相关的函数,这里使用DirectX,其实就是使用接口中的那些函数。
有了Direct设备接口后,就可以获取所述目标进程中的函数,其中就包括绘图函数。然后根据所述绘图函数的指针查找到所述绘图函数的地址;于是再将所述绘图函数的地址替换为所述视频捕获DLL中图像捕获函数的地址;这样就可以用所述图像捕获函数获取所述目标进程中的视频中的图像像素数据。由于目标进程中的绘图函数的地址已经被替代,则所述目标进程每次调用所述绘图函数时,其根据所述绘图函数的地址指针获取到的实际却是所述图像捕获函数的地址。于是目标进程每利用绘图函数绘制一帧图像前,都会先调用所述图像捕获函数,当所述图像捕获函数获取完目标进程后台缓冲中待绘制的图像像素数据后,将所述数据拷贝到新建的缓冲中;然后再调用所述绘图函数根据目标进程后台缓冲中待绘制的图像像素数据进程图像绘制。由于所述后台缓冲中的图像像素数据都是可以是全屏或是非全屏状态下下的图像数据,因此将所述图像捕获函数拷贝到新建缓冲中,就可以获得的数据就是需要录制的全屏或是非全屏状态下的视频的全屏视频数据。
需要说明的是,所述图像像素数据为RGB格式的数据,可以作为图像来显示,无需附加其它函数。当所述视频录制装置获取到所述图像像素数据后,会根据用户要求进行相应处理。若是用户需要对该视频进行直播,则将所述新建缓冲中的图像像素数据经过H264编码后,上传到服务器,再由服务器对编码后的数据进行转发,接收端的用户只需将所述数据进行对应的解码,就可以获取到该视频其中一帧的图像画面,由于所述视频录制过程是实时进行的,实现了视频直播的效果;若用户需要保存所述视频而非直播时,则所述图像像素数据就被从新建缓冲中保存到用户指定或是默认的存储地址。
上述的调用图像捕获函数获取图像像素数据的过程就是API HOOK(一种改变应用程序编程接口执行结果的技术)的过程,由于所述图像像素数据处理过程都相对简单,不需要进行复杂的图像处理。因此本发明可以通过APIHOOK调用图像捕获函数获取图像像素数据,从而可以大大提高CPU的处理速度,减小对系统内存资源的占用,从而有效的避免了卡顿、跳帧等现象,使用户享受到更加顺畅的视觉体验。
上述API HOOK过程是本发明提供的视频录制装置的主要工作过程,但是事实上在进行API HOOK时,还可以通过更多的准备工作来对其完善,以下的实施例中,会对所述API HOOK的过程进行进一步的说明。
由于视频捕获DLL在创建Direct设备接口前需要知道主程序分配的相关句柄,所述句柄是一种指向指针的指针。众所周知,Windows是一个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,以此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。为了解决这个问题,Windows操作系统为全体应用程序腾出一些内存单元,用来专门登记各应用程序的对象在内存中的地址的变化,而前者的物理地址在系统运行期间是始终保持不变的。Windows内存管理器移动了对象在内存中的位置后,会把该对象新的地址及时地告知给对应的句柄进行更新。这样只要知道这个句柄,就可以间接地知道对象在内存中的具体位置了。因此所述接口创建单元需要通过所述句柄来获取目标进程中的函数在内存中的具体位置,也就是函数指针。对于如何获取句柄,下面进行了进一步的说明。
在本发明优选的实施例中,所述装置还包括指针获取单元,所述指针获取单元用于根据所述目标进程创建与其关联的临时窗口,所述句柄就是所述临时窗口的标识,于是将所述临时窗口的句柄信息提供给主程序后,所述接口创建单元就可以通过所述临时窗口获取所述目标进程中的Direct函数指针;根据所述Direct函数指针来创建所述Direct设备接口。
值得注意的是,所述视频捕获DLL并不是唯一的,其根据目标进程所加载的最高Direct版本来确定。由于目前存在的Direct版本较多,在进行DLL注入前,可能无法判断所述目标进程加载的最高Direct版本,从而无法准确的进行视频捕获DLL的注入。因此,在优选的实施例中,上述DLL注入单元向目标进程中注入DLL中,不仅包括上述视频捕获DLL,还包括版本判断DLL。本发明所述DLL注入单元在注入所述视频捕获DLL前,先向所述目标进程中注入版本判断DLL。请参见图2,所述版本判断DLL获取目标进程加载的最高Direct版本具体步骤如下:
201、所述版本判断DLL中的程序通过枚举法获取目标进程中加载的一个DLL句柄,如果获取失败,则说明已经遍历了所有加载的DLL,从而结束;如果成功,则转步骤202;
202、根据所述DLL句柄获取目标进程中DLL可执行文件名称;
203、根据所述DLL可执行文件名称判断是否为Direct绘图DLL,如果是则转步骤204;如果不是则循环枚举下一个DLL句柄;
204、记录当前最高Direct版本号。
通过遍历游戏进程中加载的所有DLL模块,根据游戏进程加载的DLL名称进行判断。例如加载了名为d3d11.dll的游戏Direct版本为Direct11。若是该游戏同时加载几个版本的DLL则取最高版本号。如同时加载了d3d11.dll、d3d10.dll和d3d9.dll的游戏Direct版本为Direct11。得到目标进程所加载的最高Direct版本后,所述DLL注入单元根据所述Direct最高版本号向目标进程注入对应的视频捕获DLL。这样一来,就能够保证注入视频捕获DLL的准确性。
为了保证DLL注入单元顺利进行版本判断DLL的注入,因此本发明提供了三种DLL注入方案,用户可以依次尝试进行DLL注入。
请参见图3,本发明实施例中一种DLL注入方法的处理流程图;其中该方法包括步骤:
301、获取目标进程的远程进程分配内存函数指针和写内存函数指针;若成功则转步骤302,若否则结束;
302、根据所述函数指针在目标进程中进行内存分配,并向分配的内存中写入所述DLL路径;若成功则转步骤303,若否则结束;
303、通过目标进程中的Load Library函数将所述DLL注入到目标进程,然后结束。
其中,本发明首先通过调用系统函数获取目标进程号,根据获取到的进程号打开指定进程,若打开失败则结束。打开成功后获取远程进程分配内存和写内存函数指针,调用该函数在目标进程中进行内存分配,分配大小为要注入的DLL路径的长度。如果分配失败则结束,分配成功则向刚分配的内存中写入DLL路径。如果写入成功则在目标进程中通过Load Library函数创建远程线程,实现版本判断DLL向目标进程注入。
当上述注入方法失败后,可以采用其他方法进行注入。请参见图4,本发明实施例中另一种DLL注入方法的处理流程图;其中该方法包括步骤:
401、复制指定输入法文件到目标进程的系统目录,所述输入法文件中包含所述DLL;若成功则转步骤402,若否则结束;
402、在目标进程中,运行所述指定输入法文件,将所述DLL注入到目标进程。
本方法中,要为系统安装一个新的输入法,首先将输入法文件复制到系统目录,安装完成后,当在目标进程中切换到新的输入法,上述输入法会自动加载所述版本判断DLL文件到游戏进程空间。之后程序自动卸载此输入法,使该输入法对目标进程的运行不产生影响。
当上述两种注入方法都失败后,还可以采用其他方法进行注入。请参见图5,本发明实施例中又一种DLL注入方法的处理流程图;其中该方法包括步骤:
501、加载所述DLL到主进程空间,获取所述DLL内部的函数指针;
502、通过所述函数指针调用所述DLL内部函数来设置所述目标进程名称,并对指定系统消息处理函数进行替换;
503、目标进程收到所述指定系统消息后,将所述DLL注入到目标进程。
本方法中,首先加载所述DLL到主进程控件,之后获取DLL内部函数指针;通过指针调用函数设置DLL中目标进程名称;最后调用DLL内部函数对系统消息处理函数进行替换。替换特定的系统消息处理函数,当发生指定消息时,先判断是否为目标进程,如果是则加载指定DLL到目标进程空间。所述DLL内部根据之前设置的目标进程名称进行判断,在收到指定的系统消息后,则将所述DLL加载到目标进程空间中。
由此可见,通过上述的三种注入方法,可以保证所述版本判断DLL能够顺利地注入到目标进程中。
下面以一具体的实施例来对本发明的实施方案进行详细的说明,请参见图6,是本发明实施例中一种视频录制方法的处理流程图,该方法包括步骤:
601、向目标进程中注入DLL;
602、所述DLL中的版本判断DLL根据目标进程当前加载的DLL名称判断出目标进程中Direct最高版本号;
603、根据所述Direct最高版本号向目标进程注入对应的视频捕获DLL;
604、创建临时窗口,通过所述临时窗口获取所述目标进程中的Direct函数指针;
605、根据所述Direct函数指针创建所述Direct设备接口;
606、通过所述Direct设备接口将所述目标进程中的绘图函数地址替换为所述视频捕获DLL中图像捕获函数的地址;
607、尝试将所述后台缓冲中待绘制的图像像素数据拷贝到新建缓冲中,若成功,则转步骤608;若失败,则转步骤609;
608、在所述目标进程每次调用所述绘图函数前,调用所述图像捕获函数获取后台缓冲中待绘制的图像像素数据;
609、调用所述绘图函数进行图像绘制。
由上可见,目标进程每利用绘图函数绘制一帧图像前,都会先调用所述图像捕获函数,当所述图像捕获函数获取完目标进程后台缓冲中待绘制的图像像素数据后,将所述数据拷贝到新建的缓冲中;然后再调用所述绘图函数根据目标进程后台缓冲中待绘制的图像像素数据进程图像绘制。由于所述后台缓冲中的图像像素数据都是全屏下的图像数据,因此所述图像捕获函数拷贝到新建缓冲中的数据就是需要录制的视频的全屏视频数据。
相对于现有技术,本发明通过调用图像捕获函数来获取图像像素数据,并且所述图像像素数据处理过程都相对简单,不需要进行复杂的图像处理,因此可以大大提高CPU的处理速度,减小对系统内存资源的占用,从而有效的避免了卡顿、跳帧等现象,使用户享受到更加顺畅的视觉体验。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种视频录制装置,应用于用户主机上,其特征在于,该装置包括:
DLL注入单元,用于向目标进程中注入DLL,所述DLL包括视频捕获DLL;
接口创建单元,用于创建Direct设备接口;
函数替换单元,用于通过所述Direct设备接口将所述目标进程中的绘图函数地址替换为所述视频捕获DLL中图像捕获函数的地址;
函数调用单元,用于在所述目标进程每次调用所述绘图函数前,调用所述图像捕获函数获取后台缓冲中待绘制的图像像素数据。
2.如权利要求1所述的装置,其特征在于,所述装置还包括:
指针获取单元,用于创建临时窗口,通过所述临时窗口获取所述目标进程中的Direct函数指针;
所述接口创建单元,用于根据所述Direct函数指针创建Direct设备接口。
3.如权利要求1所述的装置,其特征在于,所述DLL还包括版本判断DLL,所述DLL注入单元进一步用于:
向所述目标进程中注入版本判断DLL;
所述版本判断DLL根据目标进程当前加载的DLL名称判断出目标进程中Direct最高版本号;
所述DLL注入单元根据所述Direct最高版本号向目标进程注入对应的视频捕获DLL。
4.如权利要求1所述的装置,其特征在于,所述向目标进程中注入DLL包括:
获取目标进程的远程进程分配内存函数指针和写内存函数指针;
根据所述函数指针在目标进程中进行内存分配,并向分配的内存中写入所述DLL路径;
通过目标进程中的Load Library函数将所述DLL注入到目标进程。
5.如权利要求1所述的装置,其特征在于,所述向目标进程中注入DLL还包括:
复制指定输入法文件到目标进程的系统目录,所述输入法文件中包含所述DLL;
在目标进程中,运行所述指定输入法文件,将所述DLL注入到目标进程。
6.如权利要求1所述的装置,其特征在于,所述向目标进程中注入DLL还包括:
加载所述DLL到主进程空间,获取所述DLL内部的函数指针;
通过所述函数指针调用所述DLL内部函数来设置所述目标进程名称,并对指定系统消息处理函数进行替换;
目标进程收到所述指定系统消息后,将所述DLL注入到目标进程。
7.一种视频录制方法,应用于用户主机上,其特征在于,该方法包括步骤:
向目标进程中注入DLL,所述DLL包括视频捕获DLL;
创建Direct设备接口;
通过所述Direct设备接口将所述目标进程中的绘图函数地址替换为所述视频捕获DLL中图像捕获函数的地址;
在所述目标进程每次调用所述绘图函数前,调用所述图像捕获函数获取后台缓冲中待绘制的图像像素数据。
8.如权利要求7所述的方法,其特征在于,所述方法还包括步骤:
创建临时窗口,通过所述临时窗口获取所述目标进程中的Direct函数指针;
根据所述Direct函数指针创建所述Direct设备接口。
9.如权利要求7所述的方法,其特征在于,所述DLL还包括版本判断DLL,所述方法还包括步骤:
向所述目标进程中注入版本判断DLL;
所述版本判断DLL根据目标进程当前加载的DLL名称判断出目标进程中Direct最高版本号;
根据所述Direct最高版本号向目标进程注入对应的视频捕获DLL。
10.如权利要求7所述的方法,其特征在于,所述向目标进程中注入DLL包括:
获取目标进程的远程进程分配内存函数指针和写内存函数指针;
根据所述函数指针在目标进程中进行内存分配,并向分配的内存中写入所述DLL路径;
通过目标进程中的Load Library函数将所述DLL注入到目标进程。
11.如权利要求7所述的方法,其特征在于,所述向目标进程中注入DLL还包括:
复制指定输入法文件到目标进程的系统目录,所述输入法文件中包含所述DLL;
在目标进程中,运行所述指定输入法文件,将所述DLL注入到目标进程。
12.如权利要求7所述的方法,其特征在于,所述向目标进程中注入DLL还包括:
加载所述DLL到主进程空间,获取所述DLL内部的函数指针;
通过所述函数指针调用所述DLL内部函数来设置所述目标进程名称,并对指定系统消息处理函数进行替换;
目标进程收到所述指定系统消息后,将所述DLL注入到目标进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410069031.2A CN103823683A (zh) | 2014-02-27 | 2014-02-27 | 一种视频录制装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410069031.2A CN103823683A (zh) | 2014-02-27 | 2014-02-27 | 一种视频录制装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103823683A true CN103823683A (zh) | 2014-05-28 |
Family
ID=50758768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410069031.2A Pending CN103823683A (zh) | 2014-02-27 | 2014-02-27 | 一种视频录制装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103823683A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333769A (zh) * | 2014-11-20 | 2015-02-04 | 广州华多网络科技有限公司 | 一种视频直播的方法以及装置 |
CN104811787A (zh) * | 2014-10-27 | 2015-07-29 | 深圳市腾讯计算机系统有限公司 | 游戏视频录制方法及装置 |
CN104936002A (zh) * | 2015-06-05 | 2015-09-23 | 网易有道信息技术(北京)有限公司 | 一种屏幕录制的方法和装置 |
CN105808251A (zh) * | 2016-03-03 | 2016-07-27 | 武汉斗鱼网络科技有限公司 | 一种基于虚函数表劫持绕过安全检测的方法与系统 |
CN106295325A (zh) * | 2016-08-12 | 2017-01-04 | 武汉斗鱼网络科技有限公司 | 一种用于获取显卡内容的hook方法和系统 |
CN106295326A (zh) * | 2016-08-12 | 2017-01-04 | 武汉斗鱼网络科技有限公司 | 一种用于获取显卡内容的内联hook方法和系统 |
CN106354247A (zh) * | 2015-07-17 | 2017-01-25 | 上海乐相科技有限公司 | 一种头戴式智能眼镜显示控制方法及装置 |
CN106507161A (zh) * | 2016-11-29 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 视频直播方法及直播装置 |
CN107426606A (zh) * | 2017-06-26 | 2017-12-01 | 联想(北京)有限公司 | 录制屏幕的方法、装置、电子设备和系统 |
CN108255537A (zh) * | 2017-06-20 | 2018-07-06 | 广州华多网络科技有限公司 | 一种dll基地址优化方法、系统及应用程序加载方法、系统 |
CN109168014A (zh) * | 2018-09-26 | 2019-01-08 | 广州虎牙信息科技有限公司 | 一种直播方法、装置、设备及存储介质 |
CN109840058A (zh) * | 2019-01-07 | 2019-06-04 | 烽火通信科技股份有限公司 | 云游戏数据采集方法及系统 |
CN113784075A (zh) * | 2021-09-28 | 2021-12-10 | 统信软件技术有限公司 | 一种屏幕录像读取方法、系统及计算设备 |
CN115167951A (zh) * | 2022-07-19 | 2022-10-11 | 深圳市雁联计算系统有限公司 | 一种非侵入式获取原始图像方法、系统及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1474267A (zh) * | 2002-08-09 | 2004-02-11 | 联想(北京)有限公司 | 一种准确获取计算机屏幕变化的方法 |
CN101046742A (zh) * | 2006-03-28 | 2007-10-03 | 联想(北京)有限公司 | 一种实时获取多媒体图像的方法以及设备 |
CN102281474A (zh) * | 2011-09-02 | 2011-12-14 | 乐视网信息技术(北京)股份有限公司 | 一种网络直播及录制方法 |
US8463612B1 (en) * | 2005-11-08 | 2013-06-11 | Raytheon Company | Monitoring and collection of audio events |
US20130254417A1 (en) * | 2012-03-21 | 2013-09-26 | Jason Nicholls | System method device for streaming video |
-
2014
- 2014-02-27 CN CN201410069031.2A patent/CN103823683A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1474267A (zh) * | 2002-08-09 | 2004-02-11 | 联想(北京)有限公司 | 一种准确获取计算机屏幕变化的方法 |
US8463612B1 (en) * | 2005-11-08 | 2013-06-11 | Raytheon Company | Monitoring and collection of audio events |
CN101046742A (zh) * | 2006-03-28 | 2007-10-03 | 联想(北京)有限公司 | 一种实时获取多媒体图像的方法以及设备 |
CN102281474A (zh) * | 2011-09-02 | 2011-12-14 | 乐视网信息技术(北京)股份有限公司 | 一种网络直播及录制方法 |
US20130254417A1 (en) * | 2012-03-21 | 2013-09-26 | Jason Nicholls | System method device for streaming video |
Non-Patent Citations (3)
Title |
---|
TIGERM: "输入法注入", 《HTTP://WWW.GHOFFICE.COM/BBS/SIMPLE/? T76297.HTML》 * |
张旻溟: "恶意代码行为动态分析技术研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
王艳平: "《Windows程序设计》", 31 March 2005 * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811787A (zh) * | 2014-10-27 | 2015-07-29 | 深圳市腾讯计算机系统有限公司 | 游戏视频录制方法及装置 |
CN104811787B (zh) * | 2014-10-27 | 2019-05-07 | 深圳市腾讯计算机系统有限公司 | 游戏视频录制方法及装置 |
CN104333769A (zh) * | 2014-11-20 | 2015-02-04 | 广州华多网络科技有限公司 | 一种视频直播的方法以及装置 |
CN104936002A (zh) * | 2015-06-05 | 2015-09-23 | 网易有道信息技术(北京)有限公司 | 一种屏幕录制的方法和装置 |
CN106354247A (zh) * | 2015-07-17 | 2017-01-25 | 上海乐相科技有限公司 | 一种头戴式智能眼镜显示控制方法及装置 |
CN105808251B (zh) * | 2016-03-03 | 2021-02-02 | 武汉斗鱼网络科技有限公司 | 一种基于虚函数表劫持绕过安全检测的方法与系统 |
CN105808251A (zh) * | 2016-03-03 | 2016-07-27 | 武汉斗鱼网络科技有限公司 | 一种基于虚函数表劫持绕过安全检测的方法与系统 |
CN106295325A (zh) * | 2016-08-12 | 2017-01-04 | 武汉斗鱼网络科技有限公司 | 一种用于获取显卡内容的hook方法和系统 |
CN106295326A (zh) * | 2016-08-12 | 2017-01-04 | 武汉斗鱼网络科技有限公司 | 一种用于获取显卡内容的内联hook方法和系统 |
CN106295325B (zh) * | 2016-08-12 | 2020-02-07 | 武汉斗鱼网络科技有限公司 | 一种用于获取显卡内容的hook方法和系统 |
CN106295326B (zh) * | 2016-08-12 | 2020-02-07 | 武汉斗鱼网络科技有限公司 | 一种用于获取显卡内容的内联hook方法和系统 |
CN106507161A (zh) * | 2016-11-29 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 视频直播方法及直播装置 |
US11943486B2 (en) | 2016-11-29 | 2024-03-26 | Tencent Technology (Shenzhen) Company Limited | Live video broadcast method, live broadcast device and storage medium |
WO2018099277A1 (zh) * | 2016-11-29 | 2018-06-07 | 腾讯科技(深圳)有限公司 | 视频直播方法及直播装置、存储介质 |
US11632576B2 (en) | 2016-11-29 | 2023-04-18 | Tencent Technology (Shenzhen) Company Limited | Live video broadcast method, live broadcast device and storage medium |
US11218739B2 (en) | 2016-11-29 | 2022-01-04 | Tencent Technology (Shenzhen) Company Limited | Live video broadcast method, live broadcast device and storage medium |
CN106507161B (zh) * | 2016-11-29 | 2019-11-15 | 腾讯科技(深圳)有限公司 | 视频直播方法及直播装置 |
CN108255537A (zh) * | 2017-06-20 | 2018-07-06 | 广州华多网络科技有限公司 | 一种dll基地址优化方法、系统及应用程序加载方法、系统 |
CN107426606B (zh) * | 2017-06-26 | 2020-07-24 | 联想(北京)有限公司 | 录制屏幕的方法、装置、电子设备和系统 |
CN107426606A (zh) * | 2017-06-26 | 2017-12-01 | 联想(北京)有限公司 | 录制屏幕的方法、装置、电子设备和系统 |
CN109168014B (zh) * | 2018-09-26 | 2021-05-28 | 广州虎牙信息科技有限公司 | 一种直播方法、装置、设备及存储介质 |
CN109168014A (zh) * | 2018-09-26 | 2019-01-08 | 广州虎牙信息科技有限公司 | 一种直播方法、装置、设备及存储介质 |
CN109840058A (zh) * | 2019-01-07 | 2019-06-04 | 烽火通信科技股份有限公司 | 云游戏数据采集方法及系统 |
CN113784075A (zh) * | 2021-09-28 | 2021-12-10 | 统信软件技术有限公司 | 一种屏幕录像读取方法、系统及计算设备 |
CN113784075B (zh) * | 2021-09-28 | 2024-05-14 | 统信软件技术有限公司 | 一种屏幕录像读取方法、系统及计算设备 |
CN115167951A (zh) * | 2022-07-19 | 2022-10-11 | 深圳市雁联计算系统有限公司 | 一种非侵入式获取原始图像方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103823683A (zh) | 一种视频录制装置及方法 | |
RU2639651C2 (ru) | Идентификация изображения и организация согласно макету без вмешательства пользователя | |
CN110933482B (zh) | 视频加载方法、装置、计算机可读存储介质和计算机设备 | |
CN106791953B (zh) | 多播放器控制方法、服务器及客户端 | |
US20180373736A1 (en) | Method and apparatus for storing resource and electronic device | |
CN107484011B (zh) | 一种视频资源解码方法及装置 | |
KR20220062095A (ko) | 랙 검출 방법 및 장치, 디바이스, 판독 가능형 저장 매체 | |
CN114329298B (zh) | 一种页面呈现方法、装置、电子设备及存储介质 | |
WO2019085598A1 (zh) | 计算页面首屏渲染时长的方法、装置及电子设备 | |
CN107864384B (zh) | 重定向云桌面上互联网视频播放的方法及装置 | |
JP6081037B1 (ja) | 画像受信再生装置、画像生成送信装置、表示システム、画像受信再生方法、画像生成送信方法、画像受信再生プログラム及び画像生成送信プログラム | |
CN107592118B (zh) | 可变长编码文件的解码方法以及装置 | |
US11792245B2 (en) | Network resource oriented data communication | |
CN109840058A (zh) | 云游戏数据采集方法及系统 | |
EP4080507A1 (en) | Method and apparatus for editing object, electronic device and storage medium | |
CN110362375A (zh) | 桌面数据的显示方法、装置、设备和存储介质 | |
CN108037968B (zh) | 执行进度的显示方法、装置、存储介质和电子设备 | |
EP4089533A2 (en) | Pooling user interface engines for cloud ui rendering | |
CN111726701B (zh) | 信息植入方法、视频播放方法、装置和计算机设备 | |
CN114090168A (zh) | 一种qemu虚拟机图像输出窗口自适应调整方法 | |
CN113709574A (zh) | 视频截图方法、装置、电子设备及计算机可读存储介质 | |
JP5949393B2 (ja) | システム、端末装置および画像取得方法 | |
CN108235144B (zh) | 播放内容获取方法、装置及计算设备 | |
CN112584236B (zh) | 图像擦除方法、装置、电子设备及存储介质 | |
CN114760116B (zh) | 验证方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140528 |
|
RJ01 | Rejection of invention patent application after publication |