[發明專利]抓屏方法、裝置、電子設備及存儲介質有效
| 申請號: | 202110581339.5 | 申請日: | 2021-05-26 |
| 公開(公告)號: | CN113286005B | 公開(公告)日: | 2023-01-20 |
| 發明(設計)人: | 鄭明 | 申請(專利權)人: | 北京金山云網絡技術有限公司 |
| 主分類號: | H04L67/08 | 分類號: | H04L67/08;H04N19/85;G06F3/0484;G06T9/00 |
| 代理公司: | 北京華夏泰和知識產權代理有限公司 11662 | 代理人: | 張娜;蔡良偉 |
| 地址: | 100085 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 方法 裝置 電子設備 存儲 介質 | ||
1.一種抓屏方法,其特征在于,應用于云桌面服務器,所述云桌面服務器上安裝有虛擬顯示器,所述虛擬顯示器用于對接收到的數據進行圖像渲染,得到云桌面圖像,所述方法包括:
在檢測到所述虛擬顯示器當前渲染得到的云桌面圖像發生變化時,抓取所述虛擬顯示器當前渲染得到的云桌面圖像;
在所述虛擬顯示器的虛擬顯示器驅動程序中創建D3D設備,并在所述D3D設備上創建多個紋理容器;
將抓取的所述云桌面圖像寫入所述虛擬顯示器對應的顯卡內存,包括:從多個所述紋理容器中選擇一個目標紋理容器;將抓取的所述云桌面圖像寫入所述目標紋理容器;
當檢測到所述云桌面圖像寫入所述顯卡內存中時,從所述顯卡內存中查找到所述云桌面圖像,并在所述顯卡內存中對所述云桌面圖像進行編碼;
將編碼后的所述云桌面圖像發送至云桌面終端。
2.根據權利要求1所述的方法,其特征在于,所述從多個所述紋理容器中選擇一個目標紋理容器,包括:
對多個所述紋理容器對應的時間戳進行比較,確定對應的時間戳最早的紋理容器,所述時間戳用于表征所述紋理容器中最近一次寫入云桌面圖像的時間;
將對應的時間戳最早的紋理容器確定為目標紋理容器。
3.根據權利要求2所述的方法,其特征在于,在所述將抓取的所述云桌面圖像寫入所述目標紋理容器之后,所述方法還包括:
將所述目標紋理容器的時間戳更新為所述云桌面圖像寫入所述目標紋理容器的時間。
4.根據權利要求3所述的方法,其特征在于,在所述D3D設備上創建多個紋理容器之后,所述方法還包括:
在本地內存中創建共享內存區,將多個所述紋理容器的ID和時間戳存儲至所述共享內存區;
所述從所述顯卡內存中查找到所述云桌面圖像,包括:
從所述共享內存區中讀取多個所述紋理容器的時間戳;
將時間戳距離當前時間最近的紋理容器確定為目標紋理容器;
確定所述目標紋理容器中存儲的圖像為所述云桌面圖像。
5.一種抓屏裝置,其特征在于,應用于云桌面服務器,所述云桌面服務器上安裝有虛擬顯示器,所述虛擬顯示器用于對接收到的數據進行圖像渲染,得到云桌面圖像,所述裝置包括:
抓圖模塊,用于在檢測到所述虛擬顯示器當前渲染得到的云桌面圖像發生變化時,抓取所述虛擬顯示器當前渲染得到的云桌面圖像;
設置模塊,用于在所述虛擬顯示器的虛擬顯示器驅動程序中創建D3D設備,并在所述D3D設備上創建多個紋理容器;
寫入模塊,用于將抓取的所述云桌面圖像寫入所述虛擬顯示器對應的顯卡內存,包括:從多個所述紋理容器中選擇一個目標紋理容器;將抓取的所述云桌面圖像寫入所述目標紋理容器;
編碼模塊,用于當檢測到所述云桌面圖像寫入所述顯卡內存中時,從所述顯卡內存中查找到所述云桌面圖像,并在所述顯卡內存中對所述云桌面圖像進行編碼;
發送模塊,用于將編碼后的所述云桌面圖像發送至云桌面終端。
6.根據權利要求5所述的裝置,其特征在于,所述寫入模塊,具體用于:
對多個所述紋理容器對應的時間戳進行比較,確定對應的時間戳最早的紋理容器,所述時間戳用于表征所述紋理容器中最近一次寫入云桌面圖像的時間;
將對應的時間戳最早的紋理容器確定為目標紋理容器。
7.根據權利要求6所述的裝置,其特征在于,所述裝置還包括:
更新模塊,用于在所述將抓取的所述云桌面圖像寫入所述目標紋理容器之后,將所述目標紋理容器的時間戳更新為所述云桌面圖像寫入所述目標紋理容器的時間。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京金山云網絡技術有限公司,未經北京金山云網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110581339.5/1.html,轉載請聲明來源鉆瓜專利網。





