CN118802869A - Desktop sharing method, desktop sharing device, electronic device and readable storage medium - Google Patents
Desktop sharing method, desktop sharing device, electronic device and readable storage medium Download PDFInfo
- Publication number
- CN118802869A CN118802869A CN202311406949.7A CN202311406949A CN118802869A CN 118802869 A CN118802869 A CN 118802869A CN 202311406949 A CN202311406949 A CN 202311406949A CN 118802869 A CN118802869 A CN 118802869A
- Authority
- CN
- China
- Prior art keywords
- desktop
- stream data
- terminal
- video stream
- client
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012546 transfer Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 5
- 238000007667 floating Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004080 punching Methods 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 1
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/401—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
- H04L65/4015—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
技术领域Technical Field
本发明属于计算机技术领域,尤其涉及一种桌面共享方法、桌面共享装置、电子设备及可读存储介质。The present invention belongs to the field of computer technology, and in particular relates to a desktop sharing method, a desktop sharing device, an electronic device and a readable storage medium.
背景技术Background Art
目前,在进行桌面共享时,分享端和接收端均需要安装同一桌面共享软件,而且桌面共享的功能通常是由软件内部完成的,无法实现系统层级的桌面共享。Currently, when sharing the desktop, both the sharing end and the receiving end need to install the same desktop sharing software, and the desktop sharing function is usually completed within the software, and system-level desktop sharing cannot be achieved.
发明内容Summary of the invention
本申请实施例提供一种桌面共享方法、桌面共享装置、电子设备及可读存储介质,能够实现系统层级的桌面共享。The embodiments of the present application provide a desktop sharing method, a desktop sharing device, an electronic device and a readable storage medium, which can realize system-level desktop sharing.
第一方面,本申请实施例提供了一种桌面共享方法,应用于第一云终端,所述方法包括:在检测到第一客户端与至少一个第二云终端的第二客户端建立视频通话连接的情况下,显示桌面共享操作按钮;响应于所述桌面共享操作按钮的触发操作,将桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端,其中,所述桌面视频流数据包括第一终端的屏幕显示内容,所述第一终端为所述第一云终端的操作终端,所述第一云终端与所述第二云终端的操作终端不同。In a first aspect, an embodiment of the present application provides a desktop sharing method, which is applied to a first cloud terminal, and the method includes: when it is detected that a first client establishes a video call connection with a second client of at least one second cloud terminal, displaying a desktop sharing operation button; in response to a triggering operation of the desktop sharing operation button, sharing desktop video stream data to the second client of at least one second cloud terminal, wherein the desktop video stream data includes the screen display content of the first terminal, the first terminal is an operating terminal of the first cloud terminal, and the operating terminals of the first cloud terminal and the second cloud terminal are different.
第二方面,本申请实施例提供了一种桌面共享装置,该装置包括:显示模块,用于在检测到第一客户端与至少一个第二云终端的第二客户端建立视频通话连接的情况下,显示桌面共享操作按钮;共享模块,用于响应于所述桌面共享操作按钮的触发操作,将桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端,其中,所述桌面视频流数据包括第一终端的屏幕显示内容,所述第一终端为所述第一云终端的操作终端,所述第一云终端与所述第二云终端的操作终端不同。In a second aspect, an embodiment of the present application provides a desktop sharing device, which includes: a display module, used to display a desktop sharing operation button when it is detected that a first client establishes a video call connection with a second client of at least one second cloud terminal; a sharing module, used to share desktop video stream data to the second client of at least one second cloud terminal in response to a triggering operation of the desktop sharing operation button, wherein the desktop video stream data includes the screen display content of the first terminal, the first terminal is the operating terminal of the first cloud terminal, and the operating terminals of the first cloud terminal and the second cloud terminal are different.
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。In a third aspect, an embodiment of the present application provides an electronic device, which includes a processor, a memory, and a program or instruction stored in the memory and executable on the processor, wherein the program or instruction, when executed by the processor, implements the steps of the method described in the first aspect.
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。In a fourth aspect, an embodiment of the present application provides a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented.
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。In a fifth aspect, an embodiment of the present application provides a chip, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instruction to implement the method described in the first aspect.
在本申请实施例中,通过在检测到第一客户端与至少一个第二云终端的第二客户端建立视频通话连接的情况下,显示桌面共享操作按钮,在该桌面共享操作按钮被触发的情况下,将桌面视频流数据共享至至少一个第二云终端的所述第二客户端,其中,所述桌面视频流数据包括第一终端的屏幕显示内容,所述第一终端为所述第一云终端的操作终端,所述第一云终端与所述第二云终端的操作终端不同,实现了将共享桌面内化为云终端的系统能力,共享双方无需安装同款应用软件,通过常用的IM工具即可实现桌面共享。In an embodiment of the present application, when it is detected that a first client has established a video call connection with a second client of at least one second cloud terminal, a desktop sharing operation button is displayed. When the desktop sharing operation button is triggered, the desktop video stream data is shared to the second client of at least one second cloud terminal, wherein the desktop video stream data includes the screen display content of the first terminal, the first terminal is the operating terminal of the first cloud terminal, and the operating terminals of the first cloud terminal and the second cloud terminal are different, thereby realizing the system capability of internalizing the shared desktop into the cloud terminal, and the sharing parties do not need to install the same application software, and desktop sharing can be achieved through commonly used IM tools.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1相关技术中云服务器的架构示意图;FIG1 is a schematic diagram of the architecture of a cloud server in the related art;
图2是本申请实施例提供的桌面共享方法的一种流程示意图;FIG2 is a schematic diagram of a process flow of a desktop sharing method provided in an embodiment of the present application;
图3是本申请实施例提供的一种第一云终端的示意图;FIG3 is a schematic diagram of a first cloud terminal provided in an embodiment of the present application;
图4是相关技术中建立通信连接的示意图;FIG4 is a schematic diagram of establishing a communication connection in the related art;
图5是本申请实施例提供的一种云手机共享桌面的架构示意图;FIG5 is a schematic diagram of an architecture of a cloud phone shared desktop provided in an embodiment of the present application;
图6是本申请实施例提供的桌面共享方法的另一种流程示意图;FIG6 is another schematic diagram of a process flow of a desktop sharing method provided in an embodiment of the present application;
图7是本申请实施例提供的一种桌面共享装置的结构示意图;FIG7 is a schematic diagram of the structure of a desktop sharing device provided in an embodiment of the present application;
图8是本申请实施例提供的电子设备的结构示意图。FIG8 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
具体实施方式DETAILED DESCRIPTION
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
为了更好的理解本申请方案,下面对本申请涉及到的技术进行说明。In order to better understand the present application, the technologies involved in the present application are described below.
云手机(Cloud Phone),是基于云端服务器虚拟出的带有原生安卓操作系统和虚拟手机功能的云服务器。云手机以音视频流的形式给各种用户提供交互控制,让用户可以从Android、IOS、浏览器程序等各种客户端进行操作。如图1所示,为云手机的一种架构示意图,硬件服务器可以是ARM服务器,硬件服务器用于提供云手机用到的硬件资源,包括CPU、GPU、内存、存储等,在服务器上运行宿主操作系统(如Linux操作系统),在宿主操作系统上,根据规格设计,将服务器的硬件资源分配给上层虚拟的多个安卓操作系统使用,每个安卓操作系统可以有独立分配的一个存储分区,这个存储分区可以存储用户数据,包括用户安装的应用和应用数据。每个安卓操作系统实例是一个被远程控制的云手机,通过左侧的云侧SDK和右侧的端侧SDK,来传输屏幕、声音以及控制指令,达到云手机的使用效果。Cloud Phone is a cloud server with native Android operating system and virtual phone functions virtualized from cloud server. Cloud Phone provides interactive control to various users in the form of audio and video streams, allowing users to operate from various clients such as Android, IOS, browser programs, etc. As shown in Figure 1, it is a schematic diagram of the architecture of Cloud Phone. The hardware server can be an ARM server. The hardware server is used to provide hardware resources used by Cloud Phone, including CPU, GPU, memory, storage, etc. The host operating system (such as Linux operating system) runs on the server. On the host operating system, according to the specification design, the hardware resources of the server are allocated to multiple Android operating systems virtualized at the upper layer. Each Android operating system can have an independently allocated storage partition, which can store user data, including user-installed applications and application data. Each Android operating system instance is a remotely controlled cloud phone, which transmits screen, sound and control instructions through the cloud-side SDK on the left and the terminal-side SDK on the right to achieve the use effect of Cloud Phone.
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的一种桌面共享方法、桌面共享装置、电子设备及可读存储介质进行详细地说明。In conjunction with the accompanying drawings, a desktop sharing method, a desktop sharing device, an electronic device and a readable storage medium provided by the embodiments of the present application are described in detail below through specific embodiments and their application scenarios.
图2示出本申请的一个实施例提供的一种桌面共享方法,应用于第一云终端,该方法可以由电子设备执行,该电子设备可以包括:终端设备。换言之,该方法可以由安装在电子设备的软件或硬件来执行,该方法包括如下步骤:FIG2 shows a desktop sharing method provided by an embodiment of the present application, which is applied to a first cloud terminal. The method can be executed by an electronic device, and the electronic device can include: a terminal device. In other words, the method can be executed by software or hardware installed in the electronic device, and the method includes the following steps:
S210:在检测到第一客户端与至少一个第二云终端的第二客户端建立视频通话连接的情况下,显示桌面共享操作按钮。S210: When it is detected that the first client has established a video call connection with a second client of at least one second cloud terminal, a desktop sharing operation button is displayed.
其中,第一客户端为第一云终端的客户端,第一客户端与至少一个第二云终端的第二客户端建立视频通话连接是指共享方用户通过第一客户端与至少一个接收方用户进行视频通话,第一云终端与第二云终端可以属于同一云服务器,也可以属于不同的云服务器。如图3所示,为本申请实施例提供的一种第一云终端的示意图,其中,视频窗301可以悬浮于第一云终端的云桌面300之上,悬浮方式可以包括小窗悬浮和全屏悬浮,桌面共享操作按钮302也可以悬浮于云桌面300上。在本申请中,通过桌面共享操作按钮,可以实现桌面共享功能的开启和关闭,在共享操作按钮被触发之前,视频窗301中的视频可以是显示所述第一云终端的终端的摄像头所采集的视频,或者显示所述第二云终端的终端的摄像头所采集的视频,或者是以上两者的合并。Among them, the first client is the client of the first cloud terminal, and the first client establishes a video call connection with the second client of at least one second cloud terminal, which means that the sharing user conducts a video call with at least one receiving user through the first client, and the first cloud terminal and the second cloud terminal can belong to the same cloud server or different cloud servers. As shown in Figure 3, it is a schematic diagram of a first cloud terminal provided in an embodiment of the present application, wherein a video window 301 can be suspended above the cloud desktop 300 of the first cloud terminal, and the suspension mode can include small window suspension and full screen suspension, and the desktop sharing operation button 302 can also be suspended on the cloud desktop 300. In the present application, the desktop sharing function can be turned on and off through the desktop sharing operation button. Before the sharing operation button is triggered, the video in the video window 301 can be a video captured by the camera of the terminal displaying the first cloud terminal, or a video captured by the camera of the terminal displaying the second cloud terminal, or a combination of the above two.
第一客户端可以是任意具有视频通话功能即时通讯(Instant Messaging,IM)工具,第二客户端是与第一客户端同类型的客户端,示例性的,假设第一云终端上安装的具有视频通话功能的IM工具包括客户端1、客户端2、客户端3,第二云终端上安装的IM工具包括客户端1、客户端2、客户端3、客户端4、客户端5,若第一客户端为客户端2,则第二客户端同样为客户端2,需要说明的是,第一云终端和至少一个第二云终端上的IM工具类型包括系统内置和用户自定义安装,因此,桌面共享的发送方和接收方在登陆云桌面后,可以通过系统内置的IM工具进行视频通话。The first client can be any instant messaging (IM) tool with a video call function, and the second client is a client of the same type as the first client. For example, it is assumed that the IM tools with a video call function installed on the first cloud terminal include client 1, client 2, and client 3, and the IM tools installed on the second cloud terminal include client 1, client 2, client 3, client 4, and client 5. If the first client is client 2, the second client is also client 2. It should be noted that the types of IM tools on the first cloud terminal and at least one second cloud terminal include system built-in and user-defined installations. Therefore, after logging into the cloud desktop, the sender and receiver of desktop sharing can make a video call through the system built-in IM tool.
在S210中,无论用户使用何种第一客户端与对端进行视频通话,双方的云桌面上均显示桌面共享操作按钮,也就是说,桌面共享操作按钮的显示不会受限于特定的IM工具。In S210, no matter which first client the user uses to make a video call with the other party, the desktop sharing operation button is displayed on the cloud desktops of both parties, that is, the display of the desktop sharing operation button is not limited to a specific IM tool.
另外,第一云终端和第二云终端的登录形式可以包括客户端软件、小程序和网页等,用户可以选择通过网页直接进行登陆,无须安装客户端软件。In addition, the login forms of the first cloud terminal and the second cloud terminal may include client software, applets, and web pages, etc. The user may choose to log in directly through a web page without installing client software.
S220:响应于所述桌面共享操作按钮的触发操作,通过服务器将桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端。S220: In response to the triggering operation of the desktop sharing operation button, the desktop video stream data is shared to the second client of at least one of the second cloud terminals through the server.
其中,所述桌面视频流数据包括第一终端的屏幕显示内容,所述第一终端为所述第一云终端的操作终端,所述第一云终端与所述第二云终端的操作终端不同。The desktop video stream data includes screen display content of a first terminal, the first terminal is an operating terminal of the first cloud terminal, and the operating terminals of the first cloud terminal and the second cloud terminal are different.
可以理解的是,在检测到桌面共享操作按钮被触发的情况下,第一云终端可以通过服务器将所述桌面视频流数据共享至至少一个第二客户端。也就是说,在开启桌面共享的情况下,第一云终端所在终端的显示内容可以实时同步至第二客户端,需要说明的是,该桌面视频流数据包括的第一终端的屏幕显示内容,也可以是经过第一云终端的操作用户选择后的显示内容,即由该操作用户选择共享哪些内容,例如,只共享第一云终端的显示界面。It is understandable that, when it is detected that the desktop sharing operation button is triggered, the first cloud terminal can share the desktop video stream data to at least one second client through the server. That is to say, when desktop sharing is turned on, the display content of the terminal where the first cloud terminal is located can be synchronized to the second client in real time. It should be noted that the screen display content of the first terminal included in the desktop video stream data can also be the display content selected by the operating user of the first cloud terminal, that is, the operating user selects which content to share, for example, only the display interface of the first cloud terminal is shared.
在本申请实施例中,通过在检测到第一客户端与至少一个第二云终端的第二客户端建立视频通话连接的情况下,显示桌面共享操作按钮,在该桌面共享操作按钮被触发的情况下,将桌面视频流数据共享至至少一个第二云终端的所述第二客户端,其中,所述桌面视频流数据包括第一终端的屏幕显示内容,所述第一终端为所述第一云终端的操作终端,所述第一云终端与所述第二云终端的操作终端不同,实现了将共享桌面内化为云终端的系统能力,共享双方无需安装同款应用软件,通过常用的IM工具即可实现桌面共享。In an embodiment of the present application, when it is detected that a first client has established a video call connection with a second client of at least one second cloud terminal, a desktop sharing operation button is displayed. When the desktop sharing operation button is triggered, the desktop video stream data is shared to the second client of at least one second cloud terminal, wherein the desktop video stream data includes the screen display content of the first terminal, the first terminal is the operating terminal of the first cloud terminal, and the operating terminals of the first cloud terminal and the second cloud terminal are different, thereby realizing the system capability of internalizing the shared desktop into the cloud terminal, and the sharing parties do not need to install the same application software, and desktop sharing can be achieved through commonly used IM tools.
在一种实现方式中,所述第一云终端包括屏幕录制服务、中转服务和视频处理服务。需要说明的是,每一个云终端均包括屏幕录制服务、中转服务和视频处理服务。其中,所述屏幕录制服务用于获取所述桌面视频流数据,所述中转服务用于接收所述屏幕录制服务发送的所述桌面视频流数据,所述视频处理服务用于将所述桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端。可选的,屏幕录制服务可以是CameraServer。In one implementation, the first cloud terminal includes a screen recording service, a transfer service, and a video processing service. It should be noted that each cloud terminal includes a screen recording service, a transfer service, and a video processing service. Among them, the screen recording service is used to obtain the desktop video stream data, the transfer service is used to receive the desktop video stream data sent by the screen recording service, and the video processing service is used to share the desktop video stream data to the second client of at least one of the second cloud terminals. Optionally, the screen recording service can be a CameraServer.
进一步地,在另一种实现方式中,在所述将所述桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端之前,所述方法包括:通过调用所述屏幕录制服务,录制所述第一终端的屏幕显示内容,得到所述桌面视频流数据。可以理解的是,该屏幕录制服务可以用于录制第一云终端的屏幕显示内容,也可以录制所述第一终端的屏幕显示内容。Furthermore, in another implementation, before sharing the desktop video stream data to the second client of at least one second cloud terminal, the method includes: recording the screen display content of the first terminal by calling the screen recording service to obtain the desktop video stream data. It is understandable that the screen recording service can be used to record the screen display content of the first cloud terminal, and can also record the screen display content of the first terminal.
进一步地,在又一种实现方式中,所述将桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端,包括:通过调用所述中转服务,获取所述屏幕录制服务发送的所述桌面视频流数据,并将所述桌面视频流数据转发至所述视频处理服务;通过调用所述视频处理服务,获取所述中转服务发送的所述桌面视频流数据,并将所述桌面视频流数据发送至所述第一客户端;通过所述第一客户端,将所述桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端。即录制得到的桌面视频流数据先由该屏幕录制服务发送到中转服务,再由中转服务转发至视频处理服务,视频处理服务可以丢弃由第一终端的摄像头所采集的视频数据,将所述桌面视频流数据作为目标数据发送给第一客户端,最终通过第一客户端将所述桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端。Furthermore, in another implementation, the sharing of the desktop video stream data to the second client of at least one of the second cloud terminals includes: obtaining the desktop video stream data sent by the screen recording service by calling the transfer service, and forwarding the desktop video stream data to the video processing service; obtaining the desktop video stream data sent by the transfer service by calling the video processing service, and sending the desktop video stream data to the first client; and sharing the desktop video stream data to the second client of at least one of the second cloud terminals through the first client. That is, the recorded desktop video stream data is first sent by the screen recording service to the transfer service, and then forwarded by the transfer service to the video processing service. The video processing service can discard the video data collected by the camera of the first terminal, and send the desktop video stream data as the target data to the first client, and finally share the desktop video stream data to the second client of at least one of the second cloud terminals through the first client.
关于上述各个实现方式,可以理解的是,在相关的桌面共享技术中,为了防止网络不通,需要通过打洞服务器来实现共享端和接收端的连接,即,如图4所示,①为共享端向服务器注册设备,②为接收端向服务器查询设备,③为接收端向共享端发起共享请求,④为共享端将屏幕数据发给接收端。由于使用打洞服务器意味着需要依赖第三方服务器,若该第三方服务器出现故障或限制访问,则导致共享失败,还可能会增加延迟和丢包率。因此在本申请实施例中,可以实现端到端的连接,无需使用网络打洞服务器,能够降低延迟和丢包率,而且通过云终端中的屏幕录制服务、中转服务和视频处理服务,实现了与Linux、IOS、Windows等其它智能终端的桌面共享功能。Regarding the above-mentioned various implementation methods, it can be understood that in the relevant desktop sharing technology, in order to prevent the network from being blocked, it is necessary to realize the connection between the sharing end and the receiving end through a hole-punching server, that is, as shown in Figure 4, ① the sharing end registers the device with the server, ② the receiving end queries the device from the server, ③ the receiving end initiates a sharing request to the sharing end, and ④ the sharing end sends the screen data to the receiving end. Since the use of a hole-punching server means that it is necessary to rely on a third-party server, if the third-party server fails or restricts access, it will cause sharing failure, and may also increase delay and packet loss rate. Therefore, in the embodiment of the present application, end-to-end connection can be achieved without the use of a network hole-punching server, which can reduce delay and packet loss rate, and through the screen recording service, transit service and video processing service in the cloud terminal, the desktop sharing function with other smart terminals such as Linux, IOS, Windows, etc. is realized.
在一种实现方式中,在所述通过调用所述视频处理服务,获取所述中转服务发送的所述桌面视频流数据之前,所述方法还包括:丢弃所述第一终端的摄像头实时采集的视频流数据。可以理解的是,在用户触发桌面共享操作按钮之前,第一客户端与第二客户端的之间的视频流数据是由第一终端的摄像头采集的,即发送给第二客户端的数据是由第一终端的摄像头所采集的视频数据;在用户触发桌面共享操作按钮之后,可以丢弃第一终端的摄像头所采集的视频数据,从而将桌面视频流数据发送给第二终端,从而实现桌面共享。在另一种实现方式中,不丢弃所述第一终端的摄像头实时采集的视频流数据,可以选择将第一终端的摄像头实时采集的视频流数据和所述桌面视频流数据同时发送给第二客户端。In one implementation, before the video processing service is called to obtain the desktop video stream data sent by the transit service, the method further includes: discarding the video stream data collected in real time by the camera of the first terminal. It is understandable that before the user triggers the desktop sharing operation button, the video stream data between the first client and the second client is collected by the camera of the first terminal, that is, the data sent to the second client is the video data collected by the camera of the first terminal; after the user triggers the desktop sharing operation button, the video data collected by the camera of the first terminal can be discarded, so that the desktop video stream data is sent to the second terminal, thereby realizing desktop sharing. In another implementation, the video stream data collected in real time by the camera of the first terminal is not discarded, and the video stream data collected in real time by the camera of the first terminal and the desktop video stream data can be sent to the second client at the same time.
在一种实现方式中,在所述得到所述桌面视频流数据之后,所述方法还包括:根据所述第一客户端预设的视频画面的目标分辨率,调整所述桌面视频流数据对应的视频画面的原始分辨率。其中,在另一种实现方式中,所述根据所述第一客户端预设的视频画面的目标分辨率,调整所述桌面视频流数据对应的视频画面的原始分辨率,包括:在所述原始分辨率与所述目标分辨率不满足等比例关系的情况下,对所述桌面视频流数据对应的视频画面进行预处理,其中,所述预处理后的所述桌面视频流数据对应的视频画面的分辨率与所述目标分辨率满足等比例关系。可以理解的是,通过将原始分辨率调整为与第一客户端预设的视频画面的目标分辨率等比例的分辨率,可以确保桌面视频流数据在共享过程中满足该第一客户端或第一云终端的要求,可以提高视频画面的兼容性,以提供更好的用户体验。In one implementation, after obtaining the desktop video stream data, the method further includes: adjusting the original resolution of the video picture corresponding to the desktop video stream data according to the target resolution of the video picture preset by the first client. Wherein, in another implementation, adjusting the original resolution of the video picture corresponding to the desktop video stream data according to the target resolution of the video picture preset by the first client includes: when the original resolution and the target resolution do not satisfy an equal proportion relationship, preprocessing the video picture corresponding to the desktop video stream data, wherein the resolution of the video picture corresponding to the preprocessed desktop video stream data satisfies an equal proportion relationship with the target resolution. It can be understood that by adjusting the original resolution to a resolution that is equal to the target resolution of the video picture preset by the first client, it can be ensured that the desktop video stream data meets the requirements of the first client or the first cloud terminal during the sharing process, and the compatibility of the video picture can be improved to provide a better user experience.
为了更好的说明以上各个实施例,示例性的,本申请提出了一种云手机共享桌面的架构示意图。如图5所示,第一云手机包括桌面、IM工具、开关悬浮按钮、录屏服务、中转服务和CameraServer,其中,开关悬浮按钮为该第一云手机的云OS层提供的系统级的悬浮按钮,可以在通过IM工具进行视频通话时显示,点击该按钮可以实现共享桌面功能的开启和关闭。录屏服务为该第一云手机的云OS层提供的运行在后台的服务,它会在开启共享功能时启动,录取屏幕图像,并转换成IM需要的尺寸,发送给中转服务。中转服务为该第一云手机的云OS层提供的系统常驻服务,它负责接收来自录屏服务的图像数据,并转发给系统CameraServer。当共享桌面功能开启时,CameraServer将丢弃掉从摄像头获取的数据,并将中转服务获取的视频数据发送给第一云手机的IM工具。图6为本申请实施例基于图5所示架构示意图桌面提出的共享方法的另一种流程示意图,如图6所示,该方法可以包括以下步骤:In order to better illustrate the above embodiments, illustratively, the present application proposes an architectural schematic diagram of a cloud phone sharing desktop. As shown in Figure 5, the first cloud phone includes a desktop, an IM tool, a switch floating button, a screen recording service, a transfer service and a CameraServer, wherein the switch floating button is a system-level floating button provided by the cloud OS layer of the first cloud phone, which can be displayed when making a video call through the IM tool. Clicking the button can turn the shared desktop function on and off. The screen recording service is a service running in the background provided by the cloud OS layer of the first cloud phone. It will start when the sharing function is turned on, record the screen image, and convert it into the size required by IM, and send it to the transfer service. The transfer service is a system resident service provided by the cloud OS layer of the first cloud phone, which is responsible for receiving image data from the screen recording service and forwarding it to the system CameraServer. When the shared desktop function is turned on, the CameraServer will discard the data obtained from the camera and send the video data obtained by the transfer service to the IM tool of the first cloud phone. Figure 6 is another flow diagram of the sharing method proposed by the present application embodiment based on the architectural schematic desktop shown in Figure 5. As shown in Figure 6, the method may include the following steps:
S610:共享端和接收端建立IM视频通话连接。S610: The sharing end and the receiving end establish an IM video call connection.
S620:自动显示悬浮按钮。S620: Automatically display the floating button.
S630:点击悬浮按钮打开共享功能。S630: Click the floating button to open the sharing function.
S640:启动录屏服务开始录屏,并将视频数据的画面尺寸转换为IM设置的尺寸。S640: Start the screen recording service to start screen recording, and convert the screen size of the video data into the size set by the IM.
S650:录屏服务将视频数据发送到中转服务。S650: The screen recording service sends the video data to the transfer service.
S660:中转服务将视频数据发送到CameraServer。S660: The transit service sends the video data to CameraServer.
S670:CameraServer在检测到共享功能已开启的情况下,丢弃掉摄像头数据,并将录屏数据交给IM。S670: When the CameraServer detects that the sharing function is enabled, it discards the camera data and sends the screen recording data to the IM.
S680:IM将录屏数据发送到接收端。S680: The IM sends the screen recording data to the receiving end.
在上述实施例中,可以实现上述图1-图5所示实施例中的各个过程,利用系统级的桌面共享方法,能够实现云手机与其它操作系统智能终端的桌面共享功能,共享双方无需安装特定功能的同款App,无需通过网络打洞服务器,通过常用的IM工具即可实现桌面共享。In the above embodiment, each process in the embodiment shown in Figures 1 to 5 can be implemented. By utilizing the system-level desktop sharing method, the desktop sharing function between the cloud phone and other operating system smart terminals can be realized. The sharing parties do not need to install the same App with specific functions, and there is no need to punch a server through the network. Desktop sharing can be achieved through commonly used IM tools.
图7示出本申请的一个实施例提供的桌面共享装置的结构示意图,如图7所示,该桌面共享装置700可以包括:显示模块710和共享模块720。FIG. 7 shows a schematic diagram of the structure of a desktop sharing device provided by an embodiment of the present application. As shown in FIG. 7 , the desktop sharing device 700 may include: a display module 710 and a sharing module 720 .
在本该实施例中,显示模块710,用于在检测到第一客户端与至少一个第二云终端的第二客户端建立视频通话连接的情况下,显示桌面共享操作按钮;In this embodiment, the display module 710 is used to display a desktop sharing operation button when it is detected that the first client has established a video call connection with the second client of at least one second cloud terminal;
共享模块720,用于响应于所述桌面共享操作按钮的触发操作,将桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端,其中,所述桌面视频流数据包括第一终端的屏幕显示内容,所述第一终端为所述第一云终端的操作终端,所述第一云终端与所述第二云终端的操作终端不同。The sharing module 720 is used to share the desktop video stream data to the second client of at least one of the second cloud terminals in response to the triggering operation of the desktop sharing operation button, wherein the desktop video stream data includes the screen display content of the first terminal, the first terminal is the operating terminal of the first cloud terminal, and the operating terminals of the first cloud terminal and the second cloud terminal are different.
在一种实现方式中,所述桌面共享装置700包括屏幕录制服务、中转服务和视频处理服务。In one implementation, the desktop sharing device 700 includes a screen recording service, a transfer service, and a video processing service.
在一种实现方式中,在所述将桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端之前,所述桌面共享装置700,还用于:通过调用所述屏幕录制服务,录制所述第一终端的屏幕显示内容,得到所述桌面视频流数据。In one implementation, before sharing the desktop video stream data to the second client of at least one of the second cloud terminals, the desktop sharing device 700 is further used to: obtain the desktop video stream data by recording the screen display content of the first terminal by calling the screen recording service.
在一种实现方式中,在所述得到所述桌面视频流数据之后,所述桌面共享装置700,还用于:根据所述第一客户端预设的视频画面的目标分辨率,调整所述桌面视频流数据对应的视频画面的原始分辨率。In one implementation, after obtaining the desktop video stream data, the desktop sharing device 700 is further used to adjust the original resolution of the video picture corresponding to the desktop video stream data according to the target resolution of the video picture preset by the first client.
在一种实现方式中,所述根据所述第一客户端预设的视频画面的目标分辨率,调整所述桌面视频流数据对应的视频画面的原始分辨率,包括:在所述原始分辨率与所述目标分辨率不满足等比例关系的情况下,对所述桌面视频流数据对应的视频画面进行预处理,其中,所述预处理后的所述桌面视频流数据对应的视频画面的分辨率与所述目标分辨率满足等比例关系。In one implementation, the original resolution of the video picture corresponding to the desktop video stream data is adjusted according to the target resolution of the video picture preset by the first client, including: when the original resolution and the target resolution do not satisfy a proportional relationship, preprocessing the video picture corresponding to the desktop video stream data, wherein the resolution of the video picture corresponding to the desktop video stream data after the preprocessing satisfies a proportional relationship with the target resolution.
在一种实现方式中,所述将桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端,包括:通过调用所述中转服务,获取所述屏幕录制服务发送的所述桌面视频流数据,并将所述桌面视频流数据转发至所述视频处理服务;通过调用所述视频处理服务,获取所述中转服务转发的所述桌面视频流数据,并将所述桌面视频流数据发送至所述第一客户端;通过所述第一客户端,将所述桌面视频流数据共享至至少一个所述第二云终端的所述第二客户端。In one implementation, sharing the desktop video stream data to the second client of at least one of the second cloud terminals includes: obtaining the desktop video stream data sent by the screen recording service by calling the transit service, and forwarding the desktop video stream data to the video processing service; obtaining the desktop video stream data forwarded by the transit service by calling the video processing service, and sending the desktop video stream data to the first client; and sharing the desktop video stream data to the second client of at least one of the second cloud terminals through the first client.
在一种实现方式中,在所述通过调用所述视频处理服务,获取所述中转服务发送的所述桌面视频流数据之前,所述桌面共享装置700,还用于:丢弃所述第一终端的摄像头实时采集的视频流数据。In one implementation, before acquiring the desktop video stream data sent by the transfer service by calling the video processing service, the desktop sharing device 700 is further used to discard the video stream data collected in real time by the camera of the first terminal.
本申请实施例提供的一种桌面共享装置能够实现图1至图6所示的实施例中实现的各个过程,为避免重复,这里不再赘述。A desktop sharing device provided in an embodiment of the present application can implement each process implemented in the embodiments shown in Figures 1 to 6. To avoid repetition, they will not be described here.
本申请实施例中的桌面共享装置可以是装置,也可以是电子设备中的部件、集成电路、或芯片。本申请实施例不作具体限定。The desktop sharing device in the embodiment of the present application may be a device, or a component, an integrated circuit, or a chip in an electronic device. The embodiment of the present application does not specifically limit this.
本申请实施例中的桌面共享装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。The desktop sharing device in the embodiment of the present application may be a device having an operating system. The operating system may be an Android operating system, an iOS operating system, or other possible operating systems, which are not specifically limited in the embodiment of the present application.
可选的,如图8所示,本申请实施例还提供一种电子设备800,包括处理器801,存储器802,存储在存储器802上并可在所述处理器801上运行的程序或指令,该程序或指令被处理器801执行时实现上述图1-图6所示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。Optionally, as shown in Figure 8, an embodiment of the present application also provides an electronic device 800, including a processor 801, a memory 802, and a program or instruction stored in the memory 802 and executable on the processor 801. When the program or instruction is executed by the processor 801, each process of the method embodiment shown in Figures 1 to 6 above is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图1-图6所示方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the various processes of the method embodiments shown in Figures 1 to 6 above are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。The processor is a processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a computer read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述图1-图6所示方法实施例的各个过程,为避免重复,这里不再赘述。An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the method embodiments shown in Figures 1 to 6 above. To avoid repetition, they are not described here.
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM/RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311406949.7A CN118802869A (en) | 2023-10-26 | 2023-10-26 | Desktop sharing method, desktop sharing device, electronic device and readable storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311406949.7A CN118802869A (en) | 2023-10-26 | 2023-10-26 | Desktop sharing method, desktop sharing device, electronic device and readable storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118802869A true CN118802869A (en) | 2024-10-18 |
Family
ID=93018636
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311406949.7A Pending CN118802869A (en) | 2023-10-26 | 2023-10-26 | Desktop sharing method, desktop sharing device, electronic device and readable storage medium |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118802869A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119363916A (en) * | 2024-10-25 | 2025-01-24 | 中移在线服务有限公司 | Screen video sharing method, device, electronic device and storage medium |
-
2023
- 2023-10-26 CN CN202311406949.7A patent/CN118802869A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119363916A (en) * | 2024-10-25 | 2025-01-24 | 中移在线服务有限公司 | Screen video sharing method, device, electronic device and storage medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10530716B2 (en) | Voice chat mode self-adapting method and apparatus | |
| WO2019024867A1 (en) | Method for message interaction in video page, computation device and storage medium | |
| WO2021204141A1 (en) | Video live-streaming control, bridging, stream control and broadcast control methods, and client | |
| WO2020221190A1 (en) | Applet state synchronization method, device and computer storage medium | |
| CN102970513A (en) | Monitoring system and related control method thereof | |
| US11438296B1 (en) | System and method for managing notifications from published applications | |
| US10389832B2 (en) | Remote casting of media content | |
| CN107800663B (en) | Method and device for detecting offline files of traffic | |
| CN109474646B (en) | Communication connection method, device, system and storage medium | |
| CN102761534A (en) | Method and device for realizing transparent proxy of media access control layer | |
| US9363157B2 (en) | Remotely controlling devices and processing asynchronous events for testing | |
| WO2023202721A1 (en) | File transmission method and apparatus, and electronic device and storage medium | |
| CN112235279A (en) | Method, apparatus, electronic device, and readable storage medium for inter-application communication | |
| CN118802869A (en) | Desktop sharing method, desktop sharing device, electronic device and readable storage medium | |
| CN112532714B (en) | Data processing method, processing device, server and storage medium | |
| US8498383B2 (en) | Media relay service | |
| US10158587B2 (en) | Communication between a web application instance connected to a connection server and a calling entity other than said connection server | |
| CN103401936B (en) | Processing method and device for interface sharing | |
| CN114895824B (en) | Application window processing method, terminal device, server and storage medium | |
| JP7259099B2 (en) | Multi-route communication system and route selection system | |
| KR102198799B1 (en) | Conferencing apparatus and method for sharing content thereof | |
| WO2020177731A1 (en) | Real-time communication method between hosted applications | |
| WO2024061308A1 (en) | Notification processing method, and terminal device, server side and computer storage medium | |
| CN112217850B (en) | Remote control processing method, device, equipment, server and storage medium | |
| CN104579901B (en) | Method and device for displaying file transmission result state |
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 |