CN109413350B - 一种远程桌面录像关键帧创建方法和装置 - Google Patents
一种远程桌面录像关键帧创建方法和装置 Download PDFInfo
- Publication number
- CN109413350B CN109413350B CN201710710346.4A CN201710710346A CN109413350B CN 109413350 B CN109413350 B CN 109413350B CN 201710710346 A CN201710710346 A CN 201710710346A CN 109413350 B CN109413350 B CN 109413350B
- Authority
- CN
- China
- Prior art keywords
- image
- instruction
- moment
- key frame
- recording instruction
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 16
- 238000001454 recorded image Methods 0.000 claims abstract description 10
- 238000004040 coloring Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 abstract description 8
- 230000009191 jumping Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234336—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开了一种远程桌面录像关键帧创建方法和装置。所述方法包括:在远程桌面录像过程中,从顺序记录的图像录制指令中,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据;根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧。本发明提供的方法生产的关键帧,使用了与远程桌面图像录制指令相同的原始指令描述,不需要转码,不会降低图像质量;而且该关键帧生成所需时间短、数据量小、定位速度快,有效避免了现有技术定位时间长、计算消耗大、需要专门的转码服务器来转码的问题,可实现实时处理。
Description
技术领域
本发明涉及远程IT运维技术领域,特别涉及一种远程桌面录像关键帧创建方法和装置。
背景技术
Windows的远程桌面(简称RDP)录像、Linux图形远程桌面录像、以及云主机管理终端桌面(简称VNC桌面)录像,存在以下问题:
上述远程桌面录像技术中的录像指令为流式指令,没有关键帧,不能快速定位到某个时刻点,每次定位必须从头开始计算,如果指令文件较大定位时间很长(数十秒)而且花费计算资源(CPU)也很多;而且将录像文件中的图像指令转码为MP4等视频格式的方法处理时,需要耗费大量的计算资源,且转码延时较大,如果排队转换的录像比较多时,用户要等待几个小时才能观看。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种远程桌面录像关键帧创建方法和装置。所述技术方案如下:
一方面,本发明实施例提供了一种远程桌面录像关键帧创建方法,所述方法包括:
在远程桌面录像过程中,从顺序记录的图像录制指令中,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据;
根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧,所述关键帧用于恢复待定位时刻的图像。
在本发明实施例提供的方法中,所述在远程桌面录像过程中,从顺序记录的图像录制指令中,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据,包括:
将图像录制指令按照时间顺序,储存到链表的结点中,每个所述图像录制指令包括:至少一个图像区域录制指令,所述链表中的每个结点储存一个图像区域录制指令;
根据预设的逆向着色求覆盖法,获取描述待定位时刻对应图像所需的最小图像区域录制指令集合。
在本发明实施例提供的方法中,所述根据预设的逆向着色求覆盖法,获取描述待定位时刻对应图像所需的最小图像区域录制指令集合,包括:
沿时间轴逆向遍历所述链表中的结点,依次判断待定位时刻及其之前时刻的图像区域录制指令是否为可覆盖指令,所述可覆盖指令是指其产生的图像区域可完全覆盖之前图像区域录制指令产生的图像区域;
排除可覆盖指令之前时刻的图像区域录制指令,并将剩余的图像区域录制指令集合在一起,形成描述待定位时刻对应图像所需的最小图像区域录制指令集合。
在本发明实施例提供的方法中,所述根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧,包括:
根据描述待定位时刻对应图像所需的最小图像区域录制指令集合,获取最小图像区域录制指令集合对应的区域录像指令ID集合;
根据所述区域录像指令ID集合及其相应的缓存数据,生成相应的关键帧。
在本发明实施例提供的方法中,所述方法还包括:
建立关键帧索引表,所述关键帧索引表记录所有关键帧的概要信息。
另一方面,本发明实施例提供了一种远程桌面录像关键帧创建装置,所述装置包括:
获取模块,用于在远程桌面录像过程中,从顺序记录的图像录制指令中,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据;
生成模块,用于根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧,所述关键帧用于恢复待定位时刻的图像。
在本发明实施例提供的装置中,所述获取模块包括:
储存单元,用于将图像录制指令按照时间顺序,储存到链表的结点中,每个所述图像录制指令包括:至少一个图像区域录制指令,所述链表中的每个结点储存一个图像区域录制指令;
第一获取单元,用于根据预设的逆向着色求覆盖法,获取描述待定位时刻对应图像所需的最小图像区域录制指令集合。
在本发明实施例提供的装置中,所述第一获取单元包括:
判断子单元,用于沿时间轴逆向遍历所述链表中的结点,依次判断待定位时刻及其之前时刻的图像区域录制指令是否为可覆盖指令,所述可覆盖指令是指其产生的图像区域可完全覆盖之前图像区域录制指令产生的图像区域;
处理子单元,用于排除可覆盖指令之前时刻的图像区域录制指令,并将剩余的图像区域录制指令集合在一起,形成描述待定位时刻对应图像所需的最小图像区域录制指令集合。
在本发明实施例提供的装置中,所述生成模块包括:
第二获取单元,用于根据描述待定位时刻对应图像所需的最小图像区域录制指令集合,获取最小图像区域录制指令集合对应的区域录像指令ID集合;
生成单元,用于根据所述区域录像指令ID集合及其相应的缓存数据,生成相应的关键帧。
在本发明实施例提供的装置中,所述装置还包括:
建立模块,用于建立关键帧索引表,所述关键帧索引表记录所有关键帧的概要信息。
本发明实施例提供的技术方案带来的有益效果是:
通过在远程桌面录像过程中,从顺序记录的图像录制指令中,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据;根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧。该方法生产的关键帧使用了与远程桌面图像录制指令相同的原始指令描述,不需要转码,不会降低图像质量;而且该关键帧生成所需时间短、数据量小、定位速度快,有效避免了现有技术定位时间长、计算消耗大、需要专门的转码服务器来转码的问题,可实现实时处理。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种远程桌面录像关键帧创建方法流程图;
图2是本发明实施例二提供的一种远程桌面录像关键帧创建装置结构示意图;
图3是本发明实施例二提供的一种获取模块的结构示意图;
图4是本发明实施例二提供的一种第一获取单元的结构示意图;
图5是本发明实施例二提供的一种生成模块的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种远程桌面录像关键帧创建方法,可以由关键帧生成器执行,参见图1,该方法可以包括:
步骤S11,在远程桌面录像过程中,从顺序记录的图像录制指令中,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据。
在本实施例中,根据流式图像录制指令,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据,但是由于图像录制指令可能会需要分别录制多个图像区域,例如Tile(磁贴)指令,每个图像区域可以单独作为一个计算的单元,称之为结点(Node)。一个Tile指令可以转换为多个Node加入到链表中,为了进一步减少关键帧的数据量,上述步骤S11可以通过如下方式实现:
1,将图像录制指令按照时间顺序,储存到链表的结点中,每个图像录制指令包括:至少一个图像区域录制指令,链表中的每个结点储存一个图像区域录制指令。
2,根据预设的逆向着色求覆盖法,获取描述待定位时刻对应图像所需的最小图像区域录制指令集合。
在本实施例中,使用逆向着色法求覆盖的指令,指令从新到旧的次序着色,可以容易判断出被完全覆盖的旧指令,去除被覆盖的指令后可以得到最小的指令集合。
进一步地,上述步骤2可以通过如下方式实现:
21,沿时间轴逆向遍历链表中的结点,依次判断待定位时刻及其之前时刻的图像区域录制指令是否为可覆盖指令,可覆盖指令是指其产生的图像区域可完全覆盖之前图像区域录制指令产生的图像区域。
在本实施例中,可覆盖指令:如果指令为不透明且规则的矩形,绘制后目标区域(矩形)中完全覆盖下层的图像,则这个指令为可覆盖的指令,如RECT、Bitmap指令是可覆盖的。
非覆盖指令:指令绘制后不能完全覆盖目标区域(矩形)下层的图像或者与下层图像相关(需要计算的,如XOR、Invert),则这个指令为非覆盖指令,如斜线、字形、反色等指令。
可覆盖指令可以完全覆盖下层的图像,可以替代下层的指令,计算关键帧时可以去掉下层的指令,而非覆盖指令则不可替代下层的指令。因此,可以利用是否为可覆盖指令来减少关键帧的数据量,达到进一步简化定位数据的目的。
22,排除可覆盖指令之前时刻的图像区域录制指令,并将剩余的图像区域录制指令集合在一起,形成描述待定位时刻对应图像所需的最小图像区域录制指令集合。
在实际应用中,上述获取图像录制指令的过程可以通过如下程序获取:
1)打开录像指令文件,打开失败则结束处理;
2)顺序读取每一个指令,没有指令了则结束处理;
3)如果为PUT缓存指令,则修改缓存状态,返回2);
4)如果为COPY指令,则进入COPY指令处理流程,然后跳转到8);
5)如果不是可绘制的指令,则返回2);
6)如果为GET缓存指令,则记录它引用的缓存对象的id及来源信息;
7)转换指令为结点,每一个区域转换为一个结点,多个区域(Tile指令)转换为多个结点,将所有结点加入主链表;
8)根据当前的计数器(指令数量、指令流量)判断是否需要创建关键帧,如否则返回2),是则继续;
9)进入创建关键帧流程;
10)将关键帧对象序列化保存到文件,返回2)。
录像指令实时处理模式与文件处理流程类似,差异点在于指令来源于桌面服务器实时分发的指令。其中,PUT操作是指写入/更新缓存数据,GET操作是指调用缓存数据进行绘制。PUT缓存类指令是指进行PUT操作的缓存指令,GET缓存类指令是指进行GET操作的缓存指令。某个缓存对象的都是先PUT操作,然后GET操作,同一个缓存对象的GET操作可以出现多次。在远程桌面中拖动应用程序窗口时,产生COPY指令,将源区域的某块图像复制到目标区域。COPY指令相对于其他指令而言,它本身是没有图像信息的,它操作的目标是当前的图像,此指令的必须的一个前提条件是COPY指令之前的图像是完整的。
其中,COPY指令处理流程如下:
1)查找COPY指令源区域相交的结点集合,并且对此集合复制得到C1;
2)计算COPY指令的目标区域与源区域的偏移位置;
3)对集合C1中的每个结点进行偏移和剪裁,使得每个结点绘制后落入目标区域指定位置;
4)删除COPY指令目标区域中完全覆盖的结点集合C2,即C2中的所有结点区域都是不超出COPY的目标区域;
5)将集合C1插入到主结点链表末尾,COPY指令转换为等价的绘制指令,COPY指令本身不再需要;
6)结束处理。
需要说明的是,待定位时刻的确认是由图像录制指令数量决定的,即每储存预定数量的图像录制指令时,就将此时刻设定为待定位时刻,并插入关键帧。从一个关键帧开始,如果图像录制指令的数量超过一定值就一定要插入下一个关键帧,这样定位到两个关键帧之间时,能够迅速从该时间之前的关键帧计算出该时间点的画面,进而实现任意时刻的快速定位。
步骤S12,根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧,关键帧用于恢复待定位时刻的图像。
在本实施例中,为了进一步降低关键帧的数据量,上述步骤S12可以通过如下方式实现:
1,根据描述待定位时刻对应图像所需的最小图像区域录制指令集合,获取最小图像区域录制指令集合对应的区域录像指令ID集合。
2,根据区域录像指令ID集合及其相应的缓存数据,生成相应的关键帧。
在实际应用中,生成关键帧的流程如下:
1)清空画布内容;
2)反向遍历结点链表,从新到旧遍历指令结点;
3)读取前一个指令,如果没有指令了则跳转到8);
4)判断画布上当前指令的区域是否全部被着色,全部被着色即此指令被新指令完全覆盖了,跳转到5),如果指令区域没有被完全着色,则跳转到6);
5)删除当前结点,跳转到3);
6)判断此结点的指令是否为可覆盖指令,否则返回3);
7)分配一个新的颜色,然后以此颜色填充结点区域,返回3);
8)将链表中剩下的结点和缓存数据封装为关键帧;
9)结束处理。
步骤S13,建立关键帧索引表,关键帧索引表记录所有关键帧的概要信息。
在本实施例中,建立关键帧索引表,用于快速查找某个时刻/某个指令序号最接近的关键帧,然后根据文件偏移位置加载关键帧数据,而现有技术中由于转码的原因,原始指令谢谢丢失,无法实现指令分析和检索等功能。下面介绍一下利用关键帧索引表的录像定位流程:
1)暂停播放;
2)遍历关键帧索引表;
3)读取下一个关键帧索引,如果没有了,则跳转到6);
4)判断关键帧的时刻点或者指令序号是否大于目标值,是则跳转到6);
5)设置[最后关键帧索引]=当前关键帧索引,跳转到3);
6)读取[最后关键帧索引]的关键帧数据;
7)绘制此关键帧到画布,同时还原相关缓存数据(字形、位图、光标等缓存);
8)判断当前播放时刻点或者指令序号是否小于目标值,如果是则继续,如果否则跳转到10);
9)绘制下一条指令,跳转到8);
10)恢复定位前的播放状态,结束处理。
此外,还介绍一下关键帧绘制流程,即利用关键帧恢复定位画面的过程:
1)将画布大小设置为关键帧的宽高;
2)顺序遍历指令结点链表;
3)读取下一个指令结点,如果没有结点了,则跳转到9);
4)如果节点是GET缓存类指令,则跳转到5),如果否则跳转到6);
5)根据结点引用的缓存对象id,还原相关的缓存数据;
6)根据结点的偏移位置和剪裁区域设置画布属性;
7)绘制指令图像;
8)还原画布的偏移位置和剪裁区域,跳转到3);
9)还原关键帧的字形、位图、鼠标缓存状态数据等;
10)结束处理。
在本实施例中,本方法播放录像的采用回放指令的方式,画质等同原始画质,比转码为视频格式的画面更清晰。
需要说明的是,假设录像时长是1个小时,原始指令文件总大小为100MB,在没有关键帧时,要定位到59分时需要按顺序处理完前面所有数据,每次定位花费的时间和CPU都是很大的。而且随着录像时长的增加,定位花费时间越长。
如果每隔一段时间加入一个关键帧,如5分钟一个关键帧,那么每次定位时找到最接近的关键帧,还原这个关键帧后只要再计算一下少量的指令,就可以定位到目标时刻/指令序号。
本发明实施例通过在远程桌面录像过程中,从顺序记录的图像录制指令中,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据;根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧。该方法生产的关键帧使用了与远程桌面图像录制指令相同的原始指令描述,不需要转码,不会降低图像质量;而且该关键帧生成所需时间短、数据量小、定位速度快,有效避免了现有技术定位时间长、计算消耗大、需要专门的转码服务器来转码的问题,可实现实时处理。
实施例二
本发明实施例提供了一种远程桌面录像关键帧创建装置,实现了实施例一所述的方法,参见图2,该装置可以包括:获取模块100、生成模块200。
获取模块100,用于在远程桌面录像过程中,从顺序记录的图像录制指令中,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据。
需要说明的是,待定位时刻的确认是由图像录制指令数量决定的,即每储存预定数量的图像录制指令时,就将此时刻设定为待定位时刻,并插入关键帧。从一个关键帧开始,如果图像录制指令的数量超过一定值就一定要插入下一个关键帧,这样定位到两个关键帧之间时,能够迅速从该时间之前的关键帧计算出该时间点的画面,进而实现任意时刻的快速定位。
生成模块200,用于根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧,关键帧用于恢复待定位时刻的图像。
在本实施例中,根据流式图像录制指令,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据,但是由于图像录制指令可能会需要分别录制多个图像区域,例如Tile(磁贴)指令,每个图像区域可以单独作为一个计算的单元,称之为结点(Node)。一个Tile指令可以转换为多个Node加入到链表中,为了进一步减少关键帧的数据量,具体地,参见图3,获取模块100可以包括:储存单元110、第一获取单元120。
储存单元110,用于将图像录制指令按照时间顺序,储存到链表的结点中,每个图像录制指令包括:至少一个图像区域录制指令,链表中的每个结点储存一个图像区域录制指令。
第一获取单元120,用于根据预设的逆向着色求覆盖法,获取描述待定位时刻对应图像所需的最小图像区域录制指令集合。
在本实施例中,使用逆向着色法求覆盖的指令,指令从新到旧的次序着色,可以容易判断出被完全覆盖的旧指令,去除被覆盖的指令后可以得到最小的指令集合。
进一步地,参见图4,第一获取单元120可以包括:判断子单元121、处理子单元122。
判断子单元121,用于沿时间轴逆向遍历链表中的结点,依次判断待定位时刻及其之前时刻的图像区域录制指令是否为可覆盖指令,可覆盖指令是指其产生的图像区域可完全覆盖之前图像区域录制指令产生的图像区域。
在本实施例中,可覆盖指令:如果指令为不透明且规则的矩形,绘制后目标区域(矩形)中完全覆盖下层的图像,则这个指令为可覆盖的指令,如RECT、Bitmap指令是可覆盖的。
非覆盖指令:指令绘制后不能完全覆盖目标区域(矩形)下层的图像或者与下层图像相关(需要计算的,如XOR、Invert),则这个指令为非覆盖指令,如斜线、字形、反色等指令。
可覆盖指令可以完全覆盖下层的图像,可以替代下层的指令,计算关键帧时可以去掉下层的指令,而非覆盖指令则不可替代下层的指令。因此,可以利用是否为可覆盖指令来减少关键帧的数据量,达到进一步简化定位数据的目的。
处理子单元122,用于排除可覆盖指令之前时刻的图像区域录制指令,并将剩余的图像区域录制指令集合在一起,形成描述待定位时刻对应图像所需的最小图像区域录制指令集合。
为了进一步降低关键帧的数据量,参见图5,生成模块200可以包括:第二获取单元210、生成单元220。
第二获取单元210,用于根据描述待定位时刻对应图像所需的最小图像区域录制指令集合,获取最小图像区域录制指令集合对应的区域录像指令ID集合。
生成单元220,用于根据区域录像指令ID集合及其相应的缓存数据,生成相应的关键帧。
在本实施例中,生产的关键帧使用了与远程桌面图像录制指令相同的原始指令描述,不需要转码,不会降低图像质量;而且该关键帧生成所需时间短、数据量小、定位速度快,有效避免了现有技术定位时间长、计算消耗大、需要专门的转码服务器来转码的问题,可实现实时处理。
可选地,参见图2,该装置还可以包括:建立模块300。
建立模块300,用于建立关键帧索引表,关键帧索引表记录所有关键帧的概要信息。
在本实施例中,建立关键帧索引表,用于快速查找某个时刻/某个指令序号最接近的关键帧,然后根据文件偏移位置加载关键帧数据,而现有技术中由于转码的原因,原始指令谢谢丢失,无法实现指令分析和检索等功能。
本发明实施例通过在远程桌面录像过程中,从顺序记录的图像录制指令中,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据;根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧。该装置生产的关键帧使用了与远程桌面图像录制指令相同的原始指令描述,不需要转码,不会降低图像质量;而且该关键帧生成所需时间短、数据量小、定位速度快,有效避免了现有技术定位时间长、计算消耗大、需要专门的转码服务器来转码的问题,可实现实时处理。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是:上述实施例提供的远程桌面录像关键帧创建装置在实现远程桌面录像关键帧创建方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的远程桌面录像关键帧创建装置与远程桌面录像关键帧创建方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种远程桌面录像关键帧创建方法,其特征在于,所述方法包括:
步骤S11:在远程桌面录像过程中,从顺序记录的图像录制指令中,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据;
所述步骤S11包括:
将图像录制指令按照时间顺序,储存到链表的结点中,每个所述图像录制指令包括:至少一个图像区域录制指令,所述链表中的每个结点储存一个图像区域录制指令;
根据预设的逆向着色求覆盖法,获取描述待定位时刻对应图像所需的最小图像区域录制指令集合,包括:沿时间轴逆向遍历所述链表中的结点,依次判断待定位时刻及其之前时刻的图像区域录制指令是否为可覆盖指令,所述可覆盖指令是指其产生的图像区域可完全覆盖之前图像区域录制指令产生的图像区域;排除被可覆盖指令完全覆盖的图像区域录制指令,并将剩余的图像区域录制指令集合在一起,形成描述待定位时刻对应图像所需的最小图像区域录制指令集合;
步骤S12:根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧,所述关键帧用于恢复待定位时刻的图像。
2.根据权利要求1所述的方法,其特征在于,所述根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧,包括:
根据描述待定位时刻对应图像所需的最小图像区域录制指令集合,获取最小图像区域录制指令集合对应的区域录像指令ID集合;
根据所述区域录像指令ID集合及其相应的缓存数据,生成相应的关键帧。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:
建立关键帧索引表,所述关键帧索引表记录所有关键帧的概要信息。
4.一种远程桌面录像关键帧创建装置,其特征在于,所述装置包括:
获取模块,用于在远程桌面录像过程中,从顺序记录的图像录制指令中,获取描述每个待定位时刻对应图像所需的图像录制指令和缓存数据;
所述获取模块包括:
储存单元,用于将图像录制指令按照时间顺序,储存到链表的结点中,每个所述图像录制指令包括:至少一个图像区域录制指令,所述链表中的每个结点储存一个图像区域录制指令;
第一获取单元,用于根据预设的逆向着色求覆盖法,获取描述待定位时刻对应图像所需的最小图像区域录制指令集合;
所述第一获取单元包括:
判断子单元,用于沿时间轴逆向遍历所述链表中的结点,依次判断待定位时刻及其之前时刻的图像区域录制指令是否为可覆盖指令,所述可覆盖指令是指其产生的图像区域可完全覆盖之前图像区域录制指令产生的图像区域;
处理子单元,用于排除被可覆盖指令完全覆盖的图像区域录制指令,并将剩余的图像区域录制指令集合在一起,形成描述待定位时刻对应图像所需的最小图像区域录制指令集合;
生成模块,用于根据获取的描述待定位时刻对应图像所需的图像录制指令和缓存数据,生成相应的关键帧,所述关键帧用于恢复待定位时刻的图像。
5.根据权利要求4所述的装置,其特征在于,所述生成模块包括:
第二获取单元,用于根据描述待定位时刻对应图像所需的最小图像区域录制指令集合,获取最小图像区域录制指令集合对应的区域录像指令ID集合;
生成单元,用于根据所述区域录像指令ID集合及其相应的缓存数据,生成相应的关键帧。
6.根据权利要求4所述的装置,其特征在于,所述装置还包括:
建立模块,用于建立关键帧索引表,所述关键帧索引表记录所有关键帧的概要信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710710346.4A CN109413350B (zh) | 2017-08-18 | 2017-08-18 | 一种远程桌面录像关键帧创建方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710710346.4A CN109413350B (zh) | 2017-08-18 | 2017-08-18 | 一种远程桌面录像关键帧创建方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109413350A CN109413350A (zh) | 2019-03-01 |
CN109413350B true CN109413350B (zh) | 2020-11-27 |
Family
ID=65455185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710710346.4A Active CN109413350B (zh) | 2017-08-18 | 2017-08-18 | 一种远程桌面录像关键帧创建方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109413350B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556492B (zh) * | 2021-07-09 | 2023-10-20 | 深圳传音控股股份有限公司 | 缩略图生成方法、移动终端及可读存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2074793B1 (en) * | 2006-10-20 | 2018-12-05 | Citrix Systems, Inc. | Methods and systems for recording and real-time playback and seeking of a presentation layer protocol data stream |
CN100568944C (zh) * | 2006-12-13 | 2009-12-09 | 四川川大智胜软件股份有限公司 | 与硬件和操作系统平台无关的屏幕景象记录方法 |
CN101848214B (zh) * | 2010-04-30 | 2012-10-03 | 德讯科技股份有限公司 | 基于rdp审计数据的任意定位回放方法及系统 |
CN102279739B (zh) * | 2011-06-10 | 2016-12-21 | 大连佳音科技有限公司 | 屏幕操作的记录方法和应用 |
CN102215133B (zh) * | 2011-06-21 | 2013-08-28 | 德讯科技股份有限公司 | 基于rdp远程协议跳板机审计数据定位回放系统及方法 |
WO2013134936A1 (zh) * | 2012-03-14 | 2013-09-19 | 华为技术有限公司 | 屏幕录制方法、屏幕录制控制方法及装置 |
CN104581353B (zh) * | 2013-10-24 | 2018-08-24 | 深圳习习网络科技有限公司 | 一种视频的录制/播放方法及录制/播放装置 |
CN103970533B (zh) * | 2014-04-14 | 2018-01-30 | 深信服科技股份有限公司 | 屏幕录制的信息记录方法及装置 |
CN103973781B (zh) * | 2014-04-29 | 2018-12-28 | 上海上讯信息技术股份有限公司 | 一种基于代理服务器的屏幕监控方法及其系统 |
-
2017
- 2017-08-18 CN CN201710710346.4A patent/CN109413350B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109413350A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109254733B (zh) | 用于存储数据的方法、装置和系统 | |
CN109348156B (zh) | 课件录制和播放方法、装置、智能交互平板及存储介质 | |
US11600301B2 (en) | Method and device of editing a video | |
CN112184856B (zh) | 支持多图层特效及动画混合的多媒体处理装置 | |
US9672646B2 (en) | System and method for image editing using visual rewind operation | |
US5515490A (en) | Method and system for temporally formatting data presentation in time-dependent documents | |
US8811797B2 (en) | Switching between time order and popularity order sending of video segments | |
CN107484011B (zh) | 一种视频资源解码方法及装置 | |
US20140193138A1 (en) | System and a method for constructing and for exchanging multimedia content | |
US20140325409A1 (en) | Active & Efficient Monitoring of a Graphical User Interface | |
US8941666B1 (en) | Character animation recorder | |
CN111459501A (zh) | 基于SVG的Web组态画面存储与展示系统和方法及介质 | |
CN114973056A (zh) | 基于信息密度的快速视频图像分割标注方法 | |
CN107277146B (zh) | 一种分布式存储业务流量模型生成方法及系统 | |
CN109413350B (zh) | 一种远程桌面录像关键帧创建方法和装置 | |
CN112256993B (zh) | 一种图片加速显示方法、系统、设备和介质 | |
US11645803B2 (en) | Animation effect reproduction | |
CN113900760A (zh) | 一种弹窗展示方法和装置 | |
WO2024037598A1 (zh) | 视频处理方法、装置及电子设备 | |
CN107885807B (zh) | 一种文件保存方法、装置、智能平板和存储介质 | |
JP3883078B2 (ja) | グラフィックイメージ生成方法 | |
US20180090174A1 (en) | Video generation of project revision history | |
CN103559000A (zh) | 一种面向质量的海量影像数据迁移方法和系统 | |
CN115964084A (zh) | 数据交互方法、电子设备、存储介质 | |
US9055169B2 (en) | Printing frames of a video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |