CN117938827A - 远程操作方法、装置、电子设备及存储介质 - Google Patents
远程操作方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117938827A CN117938827A CN202311838257.XA CN202311838257A CN117938827A CN 117938827 A CN117938827 A CN 117938827A CN 202311838257 A CN202311838257 A CN 202311838257A CN 117938827 A CN117938827 A CN 117938827A
- Authority
- CN
- China
- Prior art keywords
- main control
- control end
- information
- coding information
- master
- 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 69
- 238000013507 mapping Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 10
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 230000011664 signaling Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 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
- 230000035515 penetration Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本申请适用于远程操作技术领域,提供了远程操作方法、装置、电子设备及存储介质,包括:与第一主控端建立第一连接;获取所述第一主控端的第一编码信息;响应于所述第一主控端的第一编码信息与预设数据库中第二主控端的第二编码信息匹配,获取与所述第二主控端对应的第二编码器输出的第二编码数据;所述第二编码信息为所述第二编码器的编码信息;通过所述第一连接将所述第二编码数据发送至所述第一主控端;本申请减少了被控端中CPU计算资源的消耗,利于改善远程操作体验。
Description
技术领域
本申请属于远程操作技术领域,尤其涉及远程操作方法、装置、电子设备及存储介质。
背景技术
目前的远程操作方法,当有多个主控端连接时,被控端会建立多个点对点连接对象,点对点连接对象与主控端一一对应,然后被控端在各个点对点连接对象中分别进行桌面采集数据的编码操作。
被控端编码过程中,需要在每个点对点连接对象中分别创建与各主控端对应的编码器,基于各自的编码器进行桌面采集数据的编码操作,也即每一主控端需要对应创建一编码器。那么当与被控端连接的主控端数量增加时,一方面被控端中创建的编码器的数量也随之增加,另一方面每个编码器要执行单独的编码任务,这两方面都会导致被控端占用的CPU计算资源增加,这会直接影响被控端的系统运行速度,甚至导致被控端的系统发生卡死的情况。
发明内容
本申请实施例提供了远程操作方法、装置、电子设备及存储介质,可以减少被控端中CPU计算资源的消耗,利于改善用户远程操作体验。
第一方面,本申请实施例提供了一种远程操作方法,应用于被控端,包括:
与第一主控端建立第一连接;
获取所述第一主控端的第一编码信息;
响应于所述第一主控端的第一编码信息与预设数据库中第二主控端的第二编码信息匹配,获取与所述第二主控端对应的第二编码器输出的第二编码数据;所述第二编码信息为所述第二编码器的编码信息;
通过所述第一连接将所述第二编码数据发送至所述第一主控端。
在第一方面的一种可能的实现方式中,所述获取所述第一主控端的第一编码信息,包括:
接收所述第一主控端发送的第一协商信息;
对所述第一协商信息解析得到与所述第一主控端对应的第一编码信息。
在第一方面的一种可能的实现方式中,所述响应于所述第一主控端的第一编码信息与预设数据库中第二主控端的第二编码信息匹配,获取与所述第二主控端对应的第二编码器输出的第二编码数据的步骤之前,还包括步骤:
建立所述预设数据库;
获取所述第二主控端的所述第二编码信息;
基于所述第二编码信息,构建所述第二编码器;
将所述第二编码信息和所述第二编码器的对应关系存储至所述预设数据库中。
在第一方面的一种可能的实现方式中,所述通过所述第一连接将所述第二编码数据发送至所述第一主控端的步骤之前,所述方法包括:
基于与所述被控端连接的多个主控端,分别创建对应的点对点连接对象,并获取所述多个主控端各自的标识信息;所述多个主控端包括所述第一主控端和所述第二主控端;
记录所述标识信息与所述点对点连接对象之间的映射匹配关系;
根据所述映射匹配关系以及所述第一主控端对应的标识信息,获取所述第一主控端对应的点对点连接对象;
所述通过所述第一连接将所述第二编码数据发送至所述第一主控端,包括:
通过所述第一主控端对应的点对点连接对象和所述第一连接,将所述第二编码数据发送至所述第一主控端。
在第一方面的一种可能的实现方式中,所述通过所述第一连接将所述第二编码数据发送至所述第一主控端,包括:
将与所述第一主控端对应的点对点连接对象注册至编码数据回调接口;
通过所述编码数据回调接口、所述第一主控端对应的点对点连接对象和所述第一连接,将所述第二编码数据发送至所述第一主控端。
在第一方面的一种可能的实现方式中,所述方法还包括:
响应于所述预设数据库中不存在所述第一编码信息,根据所述第一编码信息,于所述被控端中创建与所述第一编码信息对应的第一编码器;
创建一组映射对;所述映射对包括所述第一编码信息和所述第一编码器之间的对应关系;
将所述映射对添加至所述预设数据库中。
在第一方面的一种可能的实现方式中,所述方法还包括:
当与所述被控端建立远程连接的且采用相同编码信息的各个主控端中最后一个连接者与所述被控端断开连接时,被控端释放与所述编码信息对应的第二编码器,且将包含所述第二编码器的对应关系自所述预设数据库中删除。
第二方面,本申请实施例提供了一种远程操作装置,应用于被控端,包括:
第一连接建立模块,与第一主控端建立第一连接;
第一编码信息获取模块,获取所述第一主控端的第一编码信息;
第二编码数据获取模块,响应于所述第一主控端的第一编码信息与预设数据库中第二主控端的第二编码信息匹配,获取与所述第二主控端对应的第二编码器输出的第二编码数据;所述第二编码信息为所述第二编码器的编码信息;
第二编码数据发送模块,通过所述第一连接将所述第二编码数据发送至所述第一主控端。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的远程操作方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的远程操作方法。
本申请实施例与现有技术相比存在的有益效果是:
本申请实施例中在被控端同时与多个主控端远程连接的情况下,通过第一主控端的第一编码信息,判断预设数据库中是否存在匹配的另一主控端的编码信息,如果存在,则不必重复创建编码器,可以共用编码器,直接将另一主控端的编码器创建的编码数据发送给第一主控端即可,避免被控端在对应相同编码信息的情况下重复创建编码器,避免多次编码造成被控端中CPU计算资源占用过高的问题,减少了被控端中CPU计算资源的消耗,利于改善用户远程操作体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种远程操作方法的流程示意图;
图2是本申请另一实施例提供的一种远程操作方法的流程示意图;
图3是本申请另一实施例提供的一种远程操作方法的流程示意图;
图4是本申请一实施例提供的远程操作装置的结构示意图;
图5是本申请一实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
图1是本申请一实施例提供的一种远程操作方法的流程示意图。该方法可应用于远程协作、远程教育、远程控制等领域。该方法应用于被控端。被控端与多个主控端同时建立有通信连接。该多个主控端至少包括第一主控端和第二主控端。具体来说,被控端与信令服务器(Signal Server)建立连接,多个主控端分别与信令服务器建立连接。信令服务器就是在被控端与主控端之间传递消息的服务器,实现连接两端。被控端与各个主控端之间的所有数据传输均通过信令服务器转发,比如包括音视频数据传输和控制信令传输。控制信令比如为鼠标键盘(输入设备)的控制信号等。
其中,信令服务器是连接通信双方的桥梁。在通信过程中,会涉及到一些信息处理和传递的问题,这些统称为信令。信令服务器主要承担着处理信令的任务,确保通信双方正常交流。
作为示例而非限定,上述通信连接可以为基于WebRTC(Web Real-TimeCommunications,基于网页的即时通信)技术的连接,本申请不以此为限。
其中,WebRTC是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和/或音频流或者其他任意数据的传输。P2P(peer-to-peer)点对点技术,也称为对等互联网络技术,它依赖网络中参与者的计算能力和带宽,而不是聚集在较少的几台服务器上。
如图1所示,本实施例中该远程操作方法包括步骤:
S110,与第一主控端建立第一连接。
S120,获取第一主控端的第一编码信息。
S130,响应于第一主控端的第一编码信息与预设数据库中第二主控端的第二编码信息匹配,获取与第二主控端对应的第二编码器输出的第二编码数据。第二编码信息为第二编码器对应的编码信息。
S140,通过第一连接将第二编码数据发送至上述第一主控端。
具体而言,要实现WebRTC会话,就需要在会话建立过程中协商被控端和主控端各自的媒体信息(包括媒体发送/接收地址、媒体传送使用的编解码格式、协议等),目前WebRTC技术中使用会话描述协议(Session Description Protocol,SDP)作为媒体信息描述的协议。在会话建立过程中,利用SDP的OFFER/ANSWER机制进行媒体信息的协商。其中,在WebRTC中,远程连接的两端必须交换SDP信息。而交换SDP的过程,也被称为媒体协商。
上述步骤S120中,通过接收第一主控端发送的第一协商信息,该第一协商信息即为SDP信息,对该第一协商信息进行解析,得到与第一主控端对应的第一编码信息。第一编码信息比如可以为编解码格式。示例性地,编解码格式比如可以为H264(AVC)、H265(HEVC)、vp8、vp9、av1等。
上述预设数据库中存储有编码信息和编码器之间的对应关系。也即,根据编码信息,即可在预设数据库中唯一确定匹配的编码器。当预设数据库中存储的第二编码信息和第一主控端的第一编码信息相同时,则被控端就不需要单独创建与第一主控端对应的编码器,直接调用第二主控端已经创建的第二编码器使用即可。进一步来说,可以直接获取第二编码器编码输出的第二编码数据。上述步骤S140中,被控端将第二编码数据发送给信令服务器,信令服务器将该第二编码数据发送给第一主控端和第二主控端。其中,第二编码数据即为基于对被控端的桌面进行实时截屏生成的屏幕图片数据,再进行编码后得到的数据。每一张截屏图片即为主控端接收到的视频流中的每一帧图片,将所有截屏图片组合起来进行处理即形成了上述主控端接收到的视频流。上述第二编码器即为被控端创建的VideoStreamEncoder对象。
应理解的是,第二主控端是在同时与被控端进行远程连接的多个主控端中,由交换的SDP信息确定的第一个使用上述第一编码信息进行编码的主控端。第二主控端对应的第二编码器是基于上述第二编码信息创建的。
应理解的是,如果在同一时间还存在与被控端进行远程连接的其他主控端,且由其他主控端交换的SDP信息确定其他主控端也是基于上述第一编码信息进行编码,那么也可以基于本申请实施例提供的方法,不必针对其他主控端单独创建编码器,直接调用第二主控端已经创建的第二编码器使用即可,通过信令服务器将第二编码器编码输出的第二编码数据发送给其他主控端。
本实施例在具体实施时,也需要记录第二编码器和第二编码数据之间的对应关系,根据该对应关系,可以直接获取第二编码器编码输出的第二编码数据,发送给采用同一编码信息的各个主控端。
本实施例中,上述被控端与第一主控端建立第一连接,并且还与第二主控端建立第二连接,并且服务器通过第二连接将第二编码数据发送至上述第二主控端。上述第一连接和第二连接均为WebRTC连接。
作为示例而非限定,上述预设数据库中的编码信息和编码器之间的对应关系可以以哈希表的形式存储,比如为QHash<VideoType,VideoStreamEncoder>,其中VideoType表示编码信息,VideoStreamEncoder表示编码器。
在一些可选实施例中,上述创建的编码器需要根据远程连接情况实时判断是否需要删除。当采用同一编码信息的各个主控端中最后一个连接者与被控端断开连接的时候,被控端会释放掉针对该同一编码信息所创建的编码器,那么预设数据库也相应需要实时更新,也即上述预设数据库需要将包含有该编码器的对应关系删除。示例性地,比如被控端同时与主控端A、主控端B、主控端C建立远程连接,主控端A、主控端B、主控端C采用的编码信息相同,那么就可以共用同一编码器,然后主控端B和主控端C先后或者同时与被控端断开连接,主控端A是使用上述同一编码器的三个主控端中最后一个与被控端断开连接的,当主控端A与被控端断开连接后,被控端会将三个主控端所共用的编码器释放掉,这样可以节省被控端的内存资源。并且将预设数据库中包含有该编码器的对应关系删除,实现对预设数据库的准确更新,也即保证了对预设数据库的实时查询结果的准确性。其中,该实施例中所提及的编码器可以为上述第二编码器。
本发明的另一实施例公开了另一种远程操作方法。该实施例在上述图1对应实施例的基础上,在步骤S110之前,还包括步骤:
建立预设数据库。
与第二主控端建立第二连接,获取第二主控端的第二编码信息。
基于第二编码信息,构建第二编码器。
以及,将第二编码信息和第二编码器的对应关系存储至预设数据库中。
也即,被控端在与第二主控端建立第二连接的过程中,会与第二主控端交换SDP信息,由此接收到第二主控端发送的SDP信息即第二协商信息,根据第二协商信息解析得到对应的第二编码信息。
本发明的另一实施例公开了另一种远程操作方法。如图2所示,该实施例在上述任一实施例的基础上,在步骤S140之前,还包括步骤:
S150,基于与被控端连接的多个主控端,分别创建对应的点对点连接对象,并获取上述多个主控端各自的标识信息。多个主控端包括上述第一主控端和上述第二主控端。
S160,记录标识信息与点对点连接对象之间的映射匹配关系。
S170,根据映射匹配关系以及第一主控端对应的标识信息,获取第一主控端对应的点对点连接对象。
该实施例中,步骤S140替换为步骤S141:
通过上述第一连接以及与第一主控端对应的点对点连接对象,将第二编码数据发送至第一主控端。
具体而言,主控端和点对点连接对象是一一对应的。被控端与多个主控端进行远程连接时,被控端针对每一个主控端,分别创建对应的点对点连接对象即PeerConnection对象。根据映射匹配关系确定与第一主控端对应的PeerConnection对象之后,基于该PeerConnection对象创建编码器即VideoStreamEncoder对象,利用VideoStreamEncoder对象对被控端的桌面采集数据进行编码操作。并且基于该PeerConnection对象将第二编码数据发送至第一主控端。其中,上述标识信息可以为主控端对应的ID。
作为示例而非限定,上述标识信息和点对点连接对象之间的映射匹配关系可以以哈希表的形式表示,比如创建哈希表QHash<ID,PeerConnection>,ID即表示标识信息,PeerConnection即表示该主控端ID对应的点对点连接对象。
其中,PeerConnection也被称为对端连接,在远程连接中扮演关键角色,它允许两个或多个浏览器建立点对点连接,实现直接的音视频传输和数据交换。
需要说明的是,本实施例附图示出的上述步骤S150至步骤S170是位于上述步骤S110和步骤S120之间,并且是在图1对应实施例基础上进行绘制。但是在其他实施例中步骤S150至步骤S170可以位于步骤S110和步骤S140之间的任意位置,并且也可以结合其他实施例基础上进行绘制,本申请对此不作限制。
在一可选实施例中,如图3所示,在上述图2对应实施例的基础上,步骤S141包括:
S1411,将与第一主控端对应的点对点连接对象注册至编码数据回调接口;
以及S1412,通过编码数据回调接口、第一主控端对应的点对点连接对象和第一连接,将第二编码数据发送至第一主控端。
具体而言,当生成一主控端对应的PeerConnection对象时,就将该主控端对应的PeerConnection对象注册至编码数据回调接口。编码数据回调接口即为OnEncodedImage回调接口,OnEncodedImage回调接口起到数据通知的作用。并且一个OnEncodedImage回调接口同时维护着多个主控端,OnEncodedImage回调接口在侦测到被控端产生了与第一主控端有对应的编码数据时,就通知第一主控端对应的点对点连接对象将生成的编码数据发送给第一主控端。
本发明的另一实施例公开了另一种远程操作方法。该实施例在上述任一实施例的基础上,还包括步骤:
响应于预设数据库中不存在第一编码信息,根据第一编码信息,于被控端中创建与第一编码信息对应的第一编码器。
创建一组映射对。映射对包括第一编码信息和第一编码器之间的对应关系。
将映射对添加至预设数据库中。
也即,当预设数据库中不存在第一编码信息时,那么就创建新的第一编码器,并将第一编码信息和第一编码器之间的对应关系存储至预设数据库中。
本申请实施例中,在被控端同时与多个主控端远程连接的情况下,通过第一主控端的第一编码信息,判断预设数据库中是否存在匹配的另一主控端的编码信息,如果存在,则不必重复创建编码器,可以共用编码器,直接将另一主控端的编码器创建的编码数据发送给第一主控端即可,避免被控端在对应相同编码信息的情况下重复创建编码器,避免多次编码造成被控端中CPU计算资源占用过高的问题,减少了被控端中CPU计算资源的消耗,利于改善用户远程操作体验。
本发明的另一实施例还公开了一种远程操作方法。该实施例应用于服务端;该服务端即信令服务器。该方法包括步骤:
接收被控端发送的第二编码数据。
确定与预设数据库中第二主控端采用相同编码信息的其他主控端。
以及,将上述第二编码数据同时发送给第二主控端和上述其他主控端。
本发明的另一实施例还公开了一种远程操作方法。该实施例应用于主控端;该方法包括步骤:
向被控端发送远程连接建立请求。
响应于被控端同意建立远程连接的指令,与被控端建立远程连接。
接收服务端通过第一连接发送的第二编码数据并解码,通过服务端向被控端发送控制指令。
本发明的另一实施例还公开了一种远程操作方法。该实施例中,多个主控端,比如主控端1、主控端2和主控端3,分别与集控平台连接。
该方法包括步骤:
1)被控端与各个主控端分别与信令服务器连接。信令服务器创建虚拟房间,并生成虚拟房间ID。
2)集控平台确定被控端设备,然后向被控端下发控制指令,该控制指令中包含有上述虚拟房间ID。
3)集控平台上述多个主控端各自的远程连接进程,并将上述虚拟房间ID通知给各个主控端,各个主控端加入该虚拟房间。
4)被控端接收该控制指令,也启动远程连接进程,根据上述虚拟房间ID,也加入该虚拟房间。
5)然后主控端向被控端发送远程操作请求,被控端接收到该请求后响应,被控端与主控端成功建立远程连接。那么,建立连接的主控端就包括有主控端1、主控端2和主控端3。每一个主控端在该虚拟房间内被分配唯一的标识信息。被控端对连接的每一个主控端创建对应的点对点连接对象。比如被控端接收到主控端1发送的连接请求,被控端创建PeerConnection1对象,保存在对象管理容器QHash<ID1,PeerConnection1>中。
6)与主控端1对应的PeerConnection1对象创建offer SDP,将其保存到本地,并将该信息通过信令服务器,转发到主控端1。
7)主控端1收到被控端offer SDP之后,将该peer信息保存至本地,同时创建anwser SDP,以同样的方式将该信息通过信令服务器转发到被控端。
8)被控端PeerConnection1对象收到anwser SDP之后,将该peer信息保存下来,这样双方就完成一次SDP信息交换。双方匹配到合适的媒体信息,其中包括音视频编解码格式即编码信息VideoType1(比如:vp8)。
9)SDP信息匹配成功后,被控端创建采集模块,进行桌面数据采集。同时根据VideoType1类型创建编码器VideoStreamEncoder1,将采集桌面数据,进行编码。保存编码类型和编码器的对应关系至QHash<VideoType1,VideoStreamEncoder1>哈希表中,将该哈希表存储至预设数据库中。
10)PeerConnection1注册至被控端对应的OnEncodedImage编码数据回调接口,VideoStreamEncoder1将编码后的桌面数据,传递给PeerConnection1。PeerConnection1将视频数据传输给主控端1。
11)被控端接收主控端2发送的请求,双方进行SDP信息交换。信息匹配成功,被控端根据主控端2对应的VideoType2,先查询预设数据库中已有的编码器对应表,是否存在与VideoType2对应的编码器。如果存在,将已经编码的数据,传递给PeerConnection2并转发至主控端2。如果不存在,会根据VideoType2,创建新的VideoStreamEncoder2编码器,并保存至QHash<VideoType2,VideoStreamEncoder2>编码器哈希表中,并编码生成对应主控端2的编码数据,发送给主控端2。
其中,当被控端和主控端需要进行NAT网络穿透时,该需求可基于相关技术实现,比如基于coturn服务器实现,本申请不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
需要说明的是,本申请公开的上述各个方法实施例可以进行自由组合,且自由组合后得到的技术方案也在本申请的保护范围之内。
对应于上文实施例所述的远程操作方法,图4示出了本申请实施例提供的远程操作装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图4,该远程操作装置包括:
第一连接建立模块41,与第一主控端建立第一连接。
第一编码信息获取模块42,获取第一主控端的第一编码信息。
第二编码数据获取模块43,响应于第一主控端的第一编码信息与预设数据库中第二主控端的第二编码信息匹配,获取与第二主控端对应的第二编码器输出的第二编码数据。第二编码信息为第二编码器的编码信息。
第二编码数据发送模块44,通过第一连接将第二编码数据发送至第一主控端。
本申请实施例中在被控端同时与多个主控端远程连接的情况下,通过第一主控端的第一编码信息,判断预设数据库中是否存在匹配的另一主控端的编码信息,如果存在,则不必重复创建编码器,可以共用编码器,直接将另一主控端的编码器创建的编码数据发送给第一主控端即可,避免被控端在对应相同编码信息的情况下重复创建编码器,避免多次编码造成被控端中CPU计算资源占用过高的问题,减少了被控端中CPU计算资源的消耗,利于改善用户远程操作体验。
在一些可选实施例中,上述第一编码信息获取模块42包括:
第一协商信息接收单元,用于接收上述第一主控端发送的第一协商信息。
以及第一协商信息解析单元,用于对上述第一协商信息解析得到与上述第一主控端对应的第一编码信息。
在一些可选实施例中,远程操作装置还包括:
预设数据库建立模块,用于建立上述预设数据库。
第二编码信息获取模块,用于获取上述第二主控端的上述第二编码信息。
第二编码器构建模块,基于上述第二编码信息,构建上述第二编码器。
对应关系存储模块,用于将上述第二编码信息和上述第二编码器的对应关系存储至上述预设数据库中。
在一些可选实施例中,远程操作装置还包括:
点对点连接对象创建模块,基于与被控端连接的多个主控端,分别创建对应的点对点连接对象,并获取上述多个主控端各自的标识信息。多个主控端包括上述第一主控端和上述第二主控端。
映射匹配关系记录模块,记录标识信息与点对点连接对象之间的映射匹配关系。
点对点连接对象获取模块,根据映射匹配关系以及第一主控端对应的标识信息,获取第一主控端对应的点对点连接对象。
第二编码数据发送模块44用于通过上述第一连接以及与第一主控端对应的点对点连接对象,将第二编码数据发送至第一主控端。
在一些可选实施例中,第二编码数据发送模块44包括:
回调接口注册单元,用于将与上述第一主控端对应的点对点连接对象注册至编码数据回调接口。
第二编码数据发送单元,用于通过上述编码数据回调接口、上述第一主控端对应的点对点连接对象和上述第一连接,将上述第二编码数据发送至上述第一主控端。
在一些可选实施例中,远程操作装置还包括:
第一编码器创建模块,响应于上述预设数据库中不存在上述第一编码信息,根据上述第一编码信息,于上述被控端中创建与上述第一编码信息对应的第一编码器。
映射对创建模块,创建一组映射对。上述映射对包括上述第一编码信息和上述第一编码器之间的对应关系。
映射对存储模块,将上述映射对添加至上述预设数据库中。
在一些可选实施例中,远程操作装置还包括:
编码器释放模块,当与上述被控端建立远程连接的且采用相同编码信息的各个主控端中最后一个连接者与上述被控端断开连接时,被控端释放与上述编码信息对应的第二编码器,且将包含上述第二编码器的对应关系自上述预设数据库中删除。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种电子设备,如图5所示,该电子设备50包括:至少一个处理器501、存储器502以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序503,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/电子设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种远程操作方法,其特征在于,应用于被控端,包括:
与第一主控端建立第一连接;
获取所述第一主控端的第一编码信息;
响应于所述第一主控端的第一编码信息与预设数据库中第二主控端的第二编码信息匹配,获取与所述第二主控端对应的第二编码器输出的第二编码数据;所述第二编码信息为所述第二编码器的编码信息;
通过所述第一连接将所述第二编码数据发送至所述第一主控端。
2.如权利要求1所述的远程操作方法,其特征在于,所述获取所述第一主控端的第一编码信息,包括:
接收所述第一主控端发送的第一协商信息;
对所述第一协商信息解析得到与所述第一主控端对应的第一编码信息。
3.如权利要求1所述的远程操作方法,其特征在于,所述响应于所述第一主控端的第一编码信息与预设数据库中第二主控端的第二编码信息匹配,获取与所述第二主控端对应的第二编码器输出的第二编码数据的步骤之前,还包括步骤:
建立所述预设数据库;
获取所述第二主控端的所述第二编码信息;
基于所述第二编码信息,构建所述第二编码器;
将所述第二编码信息和所述第二编码器的对应关系存储至所述预设数据库中。
4.如权利要求1-3任一项所述的远程操作方法,其特征在于,所述通过所述第一连接将所述第二编码数据发送至所述第一主控端的步骤之前,所述方法包括:
基于与所述被控端连接的多个主控端,分别创建对应的点对点连接对象,并获取所述多个主控端各自的标识信息;所述多个主控端包括所述第一主控端和所述第二主控端;
记录所述标识信息与所述点对点连接对象之间的映射匹配关系;
根据所述映射匹配关系以及所述第一主控端对应的标识信息,获取所述第一主控端对应的点对点连接对象;
所述通过所述第一连接将所述第二编码数据发送至所述第一主控端,包括:
通过所述第一主控端对应的点对点连接对象和所述第一连接,将所述第二编码数据发送至所述第一主控端。
5.如权利要求4所述的远程操作方法,其特征在于,所述通过所述第一连接将所述第二编码数据发送至所述第一主控端,包括:
将与所述第一主控端对应的点对点连接对象注册至编码数据回调接口;
通过所述编码数据回调接口、所述第一主控端对应的点对点连接对象和所述第一连接,将所述第二编码数据发送至所述第一主控端。
6.如权利要求1-3任一项所述的远程操作方法,其特征在于,所述方法还包括:
响应于所述预设数据库中不存在所述第一编码信息,根据所述第一编码信息,于所述被控端中创建与所述第一编码信息对应的第一编码器;
创建一组映射对;所述映射对包括所述第一编码信息和所述第一编码器之间的对应关系;
将所述映射对添加至所述预设数据库中。
7.如权利要求1-3任一项所述的远程操作方法,其特征在于,所述方法还包括:
当与所述被控端建立远程连接的且采用相同编码信息的各个主控端中最后一个连接者与所述被控端断开连接时,被控端释放与所述编码信息对应的第二编码器,且将包含所述第二编码器的对应关系自所述预设数据库中删除。
8.一种远程操作装置,其特征在于,应用于被控端,包括:
第一连接建立模块,与第一主控端建立第一连接;
第一编码信息获取模块,获取所述第一主控端的第一编码信息;
第二编码数据获取模块,响应于所述第一主控端的第一编码信息与预设数据库中第二主控端的第二编码信息匹配,获取与所述第二主控端对应的第二编码器输出的第二编码数据;所述第二编码信息为所述第二编码器的编码信息;
第二编码数据发送模块,通过所述第一连接将所述第二编码数据发送至所述第一主控端。
9.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311838257.XA CN117938827A (zh) | 2023-12-28 | 2023-12-28 | 远程操作方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311838257.XA CN117938827A (zh) | 2023-12-28 | 2023-12-28 | 远程操作方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117938827A true CN117938827A (zh) | 2024-04-26 |
Family
ID=90769495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311838257.XA Pending CN117938827A (zh) | 2023-12-28 | 2023-12-28 | 远程操作方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117938827A (zh) |
-
2023
- 2023-12-28 CN CN202311838257.XA patent/CN117938827A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2863632B1 (en) | System and method for real-time adaptation of a conferencing system to current conditions of a conference session | |
CN113489805B (zh) | 一种云桌面系统的对接方法、装置、设备及存储介质 | |
CN104349118A (zh) | 实现视频会议系统调度视频监控系统的网关及其处理方法 | |
CN114157537A (zh) | 一种通用设备网关实现多源异构数据接入的系统及方法 | |
CN105207860A (zh) | 一种业务加速系统及方法 | |
CN113301388B (zh) | 一种视频流处理系统、设备和方法 | |
CN107302678A (zh) | 视频会议终端及其与互联网视讯软件的互通方法、系统 | |
CN111818010B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
CN110996039B (zh) | 电子白板共享方法、系统和计算机可读存储介质 | |
CN117938827A (zh) | 远程操作方法、装置、电子设备及存储介质 | |
CN110971873B (zh) | 一种实时监控方法、监控系统及存储介质 | |
CN110572476B (zh) | 一种远程控制方法、装置及设备 | |
CA2484728C (en) | Apparatus and method for distribution of streamed real-time information between clients | |
CN111193941B (zh) | 一种媒体数据的传输方法、装置、设备及存储介质 | |
CN111866559A (zh) | 无线投屏协议系统及方法 | |
CN110753071B (zh) | 一种信息获取方法和装置 | |
CN113542102A (zh) | 一种视频监控系统与网页即时通信融合的网关系统 | |
CN114079828A (zh) | 流媒体数据的处理方法以及装置 | |
CN111767271A (zh) | 数据处理方法及装置 | |
KR20170071251A (ko) | 회의 서비스를 제공하는 다중 접속 제어 장치 | |
WO2017186053A1 (zh) | 异构端点间通道建立方法及装置 | |
US20070172043A1 (en) | Ultimedia conference system | |
CN113993093B (zh) | 4g/5g条件下双向呼叫多端远程视频通信方法和系统 | |
CN115102944B (zh) | 终端升级方法、终端、服务器、电子设备及存储介质 | |
CN103826152A (zh) | 一种利用机顶盒实现多方会议通话的方法、设备和系统 |
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 |