CN114077409A - 投屏方法及装置、电子设备和计算机可读介质 - Google Patents
投屏方法及装置、电子设备和计算机可读介质 Download PDFInfo
- Publication number
- CN114077409A CN114077409A CN202010777220.0A CN202010777220A CN114077409A CN 114077409 A CN114077409 A CN 114077409A CN 202010777220 A CN202010777220 A CN 202010777220A CN 114077409 A CN114077409 A CN 114077409A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- search
- response message
- screen projection
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1454—Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Abstract
本公开公开一种投屏方法及装置、电子设备和计算机可读介质。该方法包括:发送搜索文件以搜索客户端;其中,搜索文件包括服务端的设备标识和服务端的配置参数,所述服务端的配置参数包括用于选择目标客户端的参数;接收所述客户端返回的搜索响应消息;其中,所述搜索响应消息包括所述客户端的设备标识和设备参数;依据所述搜索响应消息确定满足投屏条件的目标客户端;向所述目标客户端发送投屏文件。该投屏方法实现了差异化配置参数,而且,参数的传输在搜索阶段实现预解码,不需要在视频文件传输过程中解析传输参数,提升了投屏的稳定性和用户体验。
Description
技术领域
本公开涉及互联网、智能终端技术领域,尤其涉及一种投屏方法及装置、电子设备和计算机可读介质。
背景技术
投屏是指将一个设备上的媒体文件投放到其他设备上进行播放。例如,将当前手机上的视频或图片投放到其它手机、电脑或智能电视上进行播放,用户可以在其它手机、电脑或智能电视观看当前手机上的视频或图片。
目前的投屏依赖于服务端和客户端之间建立连接后传输视频或图片,通过视频流的传输过程中再解析传输参数,可能存在一些投屏显示问题;另外也有可能出现客户端不一定是投屏对象的问题,即不需要进行投屏的设备也收到投屏文件,这将导致网络资源的浪费。
公开内容
本公开实施例的主要目的在于提出一种投屏方法及装置、电子设备和计算机可读介质,旨在减少投屏时网络资源的浪费。
第一方面,本公开实施例提供一种投屏方法,其包括:发送搜索文件以搜索客户端;其中,所述搜索文件包括随机产生的服务端的设备标识和服务端的配置参数,所述服务端的配置参数包括用于选择目标客户端的参数;接收所述客户端返回的搜索响应消息;其中,所述搜索响应消息包括所述客户端的设备标识和设备参数;依据所述搜索响应消息确定满足投屏条件的目标客户端;向所述目标客户端确定发送投屏文件。
第二方面,本公开实施例提供一种投屏方法,包括:监听服务端发出的搜索文件;其中,所述搜索文件包括随机产生的服务端的设备标识和服务端的配置参数,所述服务端的配置参数包括用于选择目标客户端的参数;当监听到搜索文件时,基于所述搜索文件生成并向所述服务端返回搜索响应消息,其中,所述搜索响应消息包括所述客户端的设备标识和设备参数;接收所述客户端发送的投屏文件。
第三方面,本公开实施例提供一种投屏装置,包括:服务端发送模块,用于向外发送所述搜索文件以搜索客户端;其中,所述搜索文件包括随机产生的服务端的设备标识和服务端的配置参数,所述服务端的配置参数包括用于选择目标客户端的参数;服务端接收模块,用于接收所述客户端返回的搜索响应消息;其中,所述搜索响应消息包括所述客户端的设备标识和设备参数;服务端确定模块,用于依据所述搜索响应消息确定满足投屏条件的目标客户端;服务端发送模块,还用于向所述目标客户端确定发送投屏文件。
第四方面,本公开实施例提供一种投屏装置,包括:客户端接收模块,用于接收服务端发出的搜索文件;其中,所述搜索文件包括随机产生的服务端的设备标识和服务端的配置参数,所述服务端的配置参数包括用于选择目标客户端的参数;客户端发送模块,用于向所述服务端返回搜索响应消息;其中,所述搜索响应消息包括所述客户端的设备标识和设备参数;所述客户端接收模块,还用于接收所述客户端发送的投屏文件。
第五方面,本公开实施例提供了一种电子设备,其特征在于,包括:
一个或多个处理器;存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现投屏方法;一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
第六方面,本公开实施例提供了计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现前述方法的步骤。
本公开实施例提供的投屏方法,发送搜索文件以搜索客户端;其中,所述搜索文件包括服务端的设备标识和服务端的配置参数,所述服务端的配置参数包括用于选择目标客户端的参数;接收所述客户端返回的搜索响应消息;其中,所述搜索响应消息包括所述客户端的设备标识和设备参数;依据所述搜索响应消息确定满足投屏条件的目标客户端;向所述目标客户端确定发送投屏文件,服务端在搜索阶段将设备标识和配置参数传输给客户端,通过配置参数可以选择投屏的客户端,即只有选定的客户端能够进行投屏,实现了差异化配置参数,而且,参数的传输在搜索阶段实现预解码,不需要在视频文件传输过程中解析传输参数,提升了投屏的稳定性和用户体验。
附图说明
图1为本公开实施例提供的一种投屏方法的流程图;
图2为本公开实施例提供的一种投屏方法的流程图;
图3是本公开实施例提供的一种投屏装置的原理框图;
图4是本公开实施例提供的一种投屏装置的原理框图;
图5为本公开实施例提供的另一种投屏方法的流程图;
图6为本公开实施例提供的一种电子设备的原理框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的服务器进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
在设备之间进行投屏之前,服务端和客户端需要建立连接,然后将投屏文件传输至客户端,以供客户端进行投屏。由于配置文件随投屏文件一起发送至客户端设备,服务端无法对客户端进行控制,导致一些不必要的客户端接收投屏文件,浪费了网络资源。
在下述各实施例中,服务端也可称之为发送端,客户端也可称之为接收端。服务端发送投屏文件,客户端接收投屏文件并显示。
第一方面,本公开实施例提供一种投屏方法,该方法应用于服务端,即提供投屏文件的一端。图1为本公开实施例提供的一种投屏方法的流程图。如图1所示,投屏方法可以包括:
步骤101,发送搜索文件以搜索客户端。
其中,搜索文件包括服务端的设备标识和服务端的配置参数,其中,服务端的设备标识可以是随机产生的,服务端的配置参数包括用于选择目标客户端的参数,即服务端可以依据配置参数选择目标客户端。当然,在其他实施方式中,服务端的设备标识可以按照预设规则产生。
在一些实施例中,服务端和客户端为了实现连接,需要各自生成一个设备标识ip,并在搜索阶段将设备标识传输给对方。
在一些实施例中,服务端可以随机生成ip,ip的生成方式可以采用已有的方式,本实施例对此不作限定。服务端生成ip后,依据ip和配置参数生成搜索文件。其中配置参数可以手动输入,也可以通过后台自动生成。
在一些实施例中,配置参数可以包括地域特性,通过地域特性可以筛选客户端,将特定地域的客户端排除,或者只选择特定地域的客户端。例如,设定地域特性为地域A连接特性,那么,当服务端发出搜索文件后,只有位于地域A的客户端能够接收到搜索文件,并与其建立连接。换言之,配置参数相当于一个筛选机制,在建立连接阶段事先屏蔽一些客户端,从而在后续的投屏文件传输过程中可以减少占用网络资源。
在一些实施例中,通过客户端的配置参数可以生成客户端列表,即依据客户端的设备参数和设备标识生成客户端列表,客户端列表可以是按照预设的优先级顺序排列的列表,在客户端列表中包括至少一个客户端,其中的优先级可以按照地域来设定,如A区域的优先级为高、B区域的优先级为中,C区域的优先级为低。在一实施方式中,依据服务端的配置参数从客户端列表中选择目标客户端,可以将优先级较低的客户端屏蔽,达到差异化配置效果,减少后续占用网络资源。
在一些实施例中,服务端可以根据客户端的设备参数对客户端的优先级进行排序。例如,将不适合显示的客户端设置为低优先级,将适合显示的客户端设置为高优先级。按照客户端的优先级生成客户端列表。服务端可在建立连接阶段对客户端进行筛选,将优先级较低的客户端屏蔽掉。
在一些实施例中,服务端的配置参数可以包括设备类型,即服务端的设备类型,针对设备类型调整配置参数,对后续的数据交互过程中的固定参数做到动态增加或删减,服务端主动屏蔽不合适的客户端,或者,降低不合适的客户端的优先级,从而达到差异化配置效果,减少后续占用网络资源。
在一些实施例中,服务端的配置参数可以包括系统版本、屏幕大小或分辨率中的一种或多种参数。服务端可以将自己的系统版本、屏幕大小或投屏分辨率在搜索ip阶段发送给客户端,客户端依据系统版本可以确定是否支持服务端的投屏请求,依据屏幕大小和分辨率可以调整客户端显示设备的屏幕大小和分辨率。其中,系统版本是指操作系统的版本,例如,如果是手机,系统版本可以是安卓系统的各种版本。
需要说明的是,搜索文件可以包括设备标识和配置参数,其中,设备标识是服务端对应设备的唯一标识,客户端可以依据服务端的设备标识确定服务端。配置参数至少包括屏幕大小、分辨率、系统版本和地域特性之一。
步骤102,接收客户端返回的搜索响应消息。
其中,搜索响应消息可以包括客户端的设备标识和设备参数。其中的设备标识是客户端使用的设备的唯一标识,设备参数可以包括屏幕分辨率、屏幕大小和系统版本中的至少之一。
在一些实施例中,客户端接收服务端发出的搜索文件后,识别服务端的设备标识和配置参数,判断自身设备是否支持服务端的显示,并返回搜索响应消息。
在一些实施例中,客户端接收服务端发出的搜索文件后,判断自身设备是否支持投屏文件的显示,当不支持显示时,向服务端返回ip匹配成功的消息;或者,当支持显示时,向服务端返回ip匹配失败的消息。
步骤103,依据搜索响应消息确定满足投屏条件的目标客户端。
在一些实施例中,客户端返回的搜索响应消息包括匹配成功的消息或匹配失败的消息,当搜索响应消息为匹配成功消息时,确定该搜索响应消息对应的客户端是符合投屏条件的目标客户端。当搜索响应消息为匹配失败消息时,确定该搜索响应消息对应的客户端是不符合投屏条件的客户端。
在一些实施例中,服务端和客户端还可以依据相互的系统版本和设备参数在搜索ip阶段实现预解码,即约定通讯方式,从而避免在投屏文件的传输过程中解析配置参数,提高投屏效率和效果。
当客户端向服务端返回ip匹配成功的消息后,服务端和客户端完成投屏的前期工作。服务端可以向客户端发送投屏文件,并在客户端进行投屏。
步骤104,向目标客户端发送投屏文件。
在一些实施例中,投屏文件包括视频或图片等任意适用的文件,当服务端需要在客户端投屏图片时,向客户端发送图片流。当服务端需要在客户端投屏视频时,向客户端发送视频流。
本实施例提供的投屏方法,发送搜索文件以搜索客户端;其中,搜索文件包括服务端的设备标识和服务端的配置参数,服务端的配置参数可以包括用于选择目标客户端的参数;接收客户端返回的搜索响应消息;其中,搜索响应消息包括客户端的设备标识和设备参数;依据搜索响应消息确定满足投屏条件的目标客户端;向目标客户端发送投屏文件,通过配置参数可以选择投屏的客户端,即只有选定的客户端能够进行投屏,实现了差异化配置参数,而且,参数的传输在搜索阶段实现预解码,不需要在视频文件传输过程中解析传输参数,提升了投屏的稳定性和用户体验。
在一些实施例中,在步骤102后,还可以包括保存客户端的设备标识,以供服务端在需要时,方便获得客户端的设备标识。
本公开实施例提供的投屏方法,发送搜索文件以搜索客户端;其中,搜索文件包括服务端的设备标识和服务端的配置参数,服务端的配置参数包括用于选择目标客户端的参数;接收客户端返回的搜索响应消息;其中,搜索响应消息包括客户端的设备标识和设备参数;依据搜索响应消息确定满足投屏条件的目标客户端;向目标客户端确定发送投屏文件,服务端在搜索阶段将设备标识和配置参数传输给客户端,通过配置参数可以选择投屏的客户端,即只有选定的客户端能够进行投屏,实现了差异化配置参数,而且,参数的传输在搜索阶段实现预解码,不需要在视频文件传输过程中解析传输参数,提升了投屏的稳定性和用户体验。
第二方面,提供的一种投屏方法,该方法应用于客户端,即进行投屏的一端。图2为本公开实施例提供的一种投屏方法的流程图。如图2所示,投屏方法包括:
步骤201,接收服务端发出的搜索文件。
其中,搜索文件可以包括服务端的设备标识和服务端的配置参数,其中,服务端的设备标识可以是随机产生的,服务端的配置参数可以包括用于选择目标客户端的参数,即服务端可以依据配置参数选择目标客户端。
在一些实施例中,服务端和客户端为了实现连接,可以各自生成一个设备标识ip,并在搜索阶段将设备标识传输给对方。
在一些实施例中,服务端可以随机生成ip,ip的生成方式可以采用已有的方式,本实施例对此不作限定。服务端生成ip后,依据ip和配置参数生成搜索文件。其中配置参数可以手动输入,也可以通过后台自动生成。
在一些实施例中,配置参数可以包括地域特性,通过地域特性可以筛选客户端,将特定地域的客户端排除,或者只选择特定地域的客户端。例如,设定地域特性为地域A连接特性,那么,当服务端发出搜索文件后,只有位于地域A的客户端能够接收到搜索文件,并与其建立连接。换言之,配置参数相当于一个筛选机制,在建立连接阶段事先屏蔽一些客户端,从而在后续的投屏文件传输过程中可以减少占用网络资源。
在一些实施例中,通过客户端的配置参数可以生成客户端列表,客户端列表可以是按照预设的优先级顺序排列的列表,在客户端列表中包括至少一个客户端,如A区域的优先级为高、B区域的优先级为中,C区域的优先级为低。在一些实施方式中,依据服务端的配置参数从客户端列表中选择目标客户端,将优先级较低的客户端屏蔽,达到差异化配置效果,减少后续占用网络资源。
在一些实施例中,服务端的配置参数可以包括设备类型,即服务端的设备类型,针对设备类型调整配置参数,对后续的数据交互过程中的固定参数做到动态增加或删减,服务端主动屏蔽不合适的客户端,或者,降低不合适的客户端的优先级,从而达到差异化配置效果,减少后续占用网络资源。
在一些实施例中,服务端的配置参数可以包括系统版本、屏幕大小和分辨率中的一种或多种参数,服务端将自己的系统版本、屏幕大小或投屏分辨率在搜索ip阶段发送给客户端,客户端依据系统版本可以确定是否支持服务端的投屏请求,依据屏幕大小和分辨率可以调整客户端显示设备的屏幕大小和分辨率。其中,系统版本是指操作系统的版本,例如,如果是手机,系统版本可以是安卓系统的各种版本。
需要说明的是,搜索文件可以包括服务端的设备标识和配置参数,其中,设备标识是服务端对应设备的唯一标识,客户端可以依据服务端的设备标识确定服务端。配置参数至少包括屏幕大小、分辨率、系统版本和地域特性之一。
在一些实施例中,服务端是在搜索ip阶段向客户端发送搜索文件,由于服务端设置了配置参数,只有服务端指定的客户端能够接收搜索文件。当客户端在搜索ip阶段接收搜索文件后,与服务端建立连接,同时可以约定通讯方式,即在ip搜索阶段实现终端参数互传,有效地解决和规避了差异化的终端屏幕互投显示问题。
步骤202,基于搜索文件生成搜索响应消息。
其中,搜索响应消息包括客户端的设备标识和客户端的设备参数。其中,客户端的设备标识是用于表示客户端的唯一标识。
在一些实施例中,当客户端监听到服务端发出的搜索文件后,识别服务端的设备标识和配置参数,判断自身设备是否支持显示,并返回搜索响应消息。
在一些实施例中,客户端接收服务端发出的搜索文件后,判断自身设备是否支持投屏文件的显示,当不支持显示时,向服务端返回ip匹配成功的消息;当支持显示时,向服务端返回ip匹配失败的消息。在一些实施例中,客户端可以依据服务端的配置参数判断自身设备是否支持投屏文件的显示。
步骤203,向服务端返回搜索响应消息。
在一些实施例中,在步骤203后,投屏方法还包括:
接收服务端发送的投屏文件,其中,投屏文件包括视频或图片。
在一些实施例中,当服务端需要在客户端投屏图片时,向客户端发送图片流。当服务端需要在客户端投屏视频时,向客户端发送视频流。
步骤204,接收客户端发送的投屏文件。
在一些实施例中,投屏文件包括视频或图片,当服务端需要在客户端投屏图片时,向客户端发送图片流。当服务端需要在客户端投屏视频文件时,向客户端发送视频流。
在一些实施例中,客户端接收到投屏文件后,利用显示装置显示投屏文件。
第三方面,提供的一种投屏装置,应用于服务端。图3是本公开实施例提供的一种投屏装置的原理框图。如图3所示,投屏装置包括:
服务端发送模块301,用于向外发送搜索文件以搜索客户端。
在一些实施例中,搜索文件是由服务端生成模块生成的文件。其中,搜索文件包括随机产生的服务端的设备标识和配置参数,配置参数是用于选择满足条件的目标客户端。当然,在其他实施方式中,服务端的设备标识可以按照预设规则产生。
在一些实施例中,服务端和客户端为了实现连接,需要各自生成一个设备标识ip,并在搜索阶段将设备标识传输给对方。
在一些实施例中,服务端可以随机生成ip,ip的生成方式可以采用已有的方式,本实施例对此不作限定。服务端生成ip后,依据ip和配置参数生成搜索文件。其中配置参数可以手动输入,也可以通过后台自动生成。
其中,服务端的配置参数可以包括屏幕大小、分辨率、系统版本、地域特性和设备类型中的一种或多种参数。屏幕大小、分辨率、系统版本、地域特性和设备类型的作用可参见步骤101中,在此不再赘述。
服务端接收模块302,用于接收客户端返回的搜索响应消息。
其中,搜索响应消息可以包括客户端的设备标识和设备参数。其中的设备标识是客户端使用的设备的唯一标识,设备参数包括屏幕分辨率、屏幕大小和系统版本中的至少之一。
在一些实施例中,客户端接收服务端发出的搜索文件后,识别服务端的设备标识和配置参数,判断自身设备是否支持显示,然后返回搜索响应消息。
在一些实施例中,客户端接收服务端发出的搜索文件后,判断自身设备是否支持投屏文件的显示,当不支持显示时,向服务端返回ip匹配成功的消息;当支持显示时,向服务端返回ip匹配失败的消息。在一些实施例中,客户端可以依据服务端的配置参数判断自身设备是否支持投屏文件的显示。
服务端确定模块303,用于依据搜索响应消息确定满足投屏条件的客户端。
在一些实施例中,客户端返回的搜索响应消息包括匹配成功的消息和匹配失败的消息,当搜索响应消息为匹配成功消息时,确定该搜索响应消息对应的客户端是符合投屏条件的目标客户端。当搜索响应消息为匹配失败消息时,确定该搜索响应消息对应的客户端是不符合投屏条件的客户端。
在一些实施例中,服务端发送模块301还用于向满足投屏条件的目标客户端确定发送投屏文件。
在一些实施例中,投影装置还包括列表生成模块,用于依据客户端的配置参数生成客户端列表;其中,客户端列表是按照客户端的优先级排列的列表。
在一些实施例中,投影装置还包括存储模块,用于保存客户端的设备标识。
在一些实施例中,服务端发送模块301还用于向客户端发送投屏文件,其中,投屏文件包括视频或图片,对应地,服务端发送模块301向客户端发送视频流或图片流。
在一些实施例中,投影装置还包括通讯确定模块,用于依据配置参数和客户端返回的设备参数确定通讯方式。
本公开实施例提供的投屏装置,服务端发送模块发送搜索文件以搜索客户端;其中,搜索文件包括服务端的设备标识和服务端的配置参数,服务端的配置参数可以包括用于选择目标客户端的参数;服务端接收模块接收客户端返回的搜索响应消息;其中,搜索响应消息包括客户端的设备标识和设备参数;服务端确定模块用于依据搜索响应消息确定满足投屏条件的目标客户端;向目标客户端确定发送投屏文件,服务端在搜索阶段将设备标识和配置参数传输给客户端,通过配置参数可以选择投屏的客户端,即只有选定的客户端能够进行投屏,实现了差异化配置参数,而且,参数的传输在搜索阶段实现预解码,不需要在视频文件传输过程中解析传输参数,提升了投屏的稳定性和用户体验。
第四方面,提供的一种投屏装置,应用于客户端。图4是本公开实施例提供的一种投屏装置的原理框图。如图4所示,投屏装置包括:
客户端接收模块401,用于监听服务端发出的搜索文件。
其中,搜索文件可以包括随机产生的服务端的设备标识和服务端的配置参数,服务端的配置参数是用于选择满足条件的客户端。
在一些实施例中,服务端和客户端为了实现连接,需要各自生成一个设备标识ip,并在搜索阶段将设备标识传输给对方。
搜索响应生成模块402,用于当监听到搜索文件时,基于搜索文件生成搜索响应消息。
其中,搜索响应消息包括客户端的设备标识和客户端的设备参数。
在一些实施例中,客户端接收服务端发出的搜索文件后,识别服务端的设备标识和配置参数,判断自身设备是否支持显示,并返回搜索响应消息。
在一些实施例中,客户端接收服务端发出的搜索文件后,判断自身设备是否支持投屏文件的显示,如果不支持显示,则向服务端返回ip匹配成功的消息;如果支持显示,则向服务端返回ip匹配失败的消息。
客户端发送模块403,用于向服务端返回搜索响应消息。
客户端接收模块401,还用于接收客户端发送的投屏文件
在一些实施例中,投屏文件包括视频或图片,当服务端需要在客户端投屏图片时,向客户端发送图片流。当服务端需要在客户端投屏视频时,向客户端发送视频流。
在一些实施例中,投屏装置还包括显示模块,用于在客户端显示投屏文件。
本公开实施例提供的投屏装置,客户端接收模块用于接收服务端发出的搜索文件;其中,搜索文件包括随机产生的服务端的设备标识和配置参数,配置参数可以包括用于选择目标客户端的参数;客户端发送模块用于向服务端返回搜索响应消息;其中,搜索响应消息包括客户端的设备标识和设备参数服务端在搜索阶段将设备标识和配置参数传输给客户端,通过配置参数可以选择投屏的客户端,即只有选定的客户端能够进行投屏,实现了差异化配置参数,而且,参数的传输在搜索阶段实现预解码,不需要在视频文件传输过程中解析传输参数,提升了投屏的稳定性和用户体验。
为了更好地理解上述实施例提供的投屏方法和投屏装置,下面对投屏方法和投屏装置进一步说明。如图5所示,为实现投屏,服务端和客户端做如下流程。
步骤501,向客户端发送搜索文件。
服务端向客户端发送搜索文件,以搜索接收投屏的客户端。其中搜索文件包括随机产生的服务端的设备标识和配置参数,配置参数可以包括用于选择目标客户端的参数。
步骤502,客户端向服务端返回搜索响应。
客户端向述服务端返回搜索响应消息;其中,搜索响应消息包括客户端的设备标识和设备参数。
步骤503,服务端保存客户端的设备标识。
步骤504,服务端向客户端发送投屏文件。
服务端向满足要求的客户端发送投屏文件,投屏文件包括视频或图片。当服务端需要在客户端投屏图片时,向客户端发送图片流。当服务端需要在客户端投屏视频时,向客户端发送视频流。
当服务端和客户端建立连接后,服务端和客户端可以进行数据交互,进行投屏。若在搜索ip阶段没有将服务端的屏幕尺寸发送给客户端,那么在数据交互时,客户端可以向服务端发送获取屏幕尺寸的请求,服务端基于该请求将实际屏幕尺寸发送给客户端。之后进行投屏数据的传输。
在一些实施例中,投影屏幕可以传输图像或视频。投影图像可以通过安卓调试桥ADB命令去截取图像或者通过安卓系统的ImageReader获取图像,然后通过网络传输图像。视频流可以通过操作系统获得屏幕视频流,通过H264编码后传输给后台服务器,这样可以让画面显示的更加流畅。在操作系统中,系统代理有一个MediaCodec类以及VirtualDisplay类可以去读取屏幕流,然后转化为H264视频流。
反向控制:服务端通过套接字Socket接收客户端传过来的图像数据信息,解压缩显示到显示界面UI上,当用户点击UI时可获取点击位置的坐标,通过比例换算转化成实际坐标,之后通过ADB执行对应的命令,然后图像的变化再通过Socket实时传输给服务端。
对于PC端也可以读取安卓代理端的H264编码视频流,然后使用FFMPEG库去解码。
Web应用程序首先在node.js上通过socket获取安卓代理端的H264视频流,然后通过WebSocket实时将字节数组传输给WebRtc,通过WebRtc的video标签去显示,之后通过js获取鼠标点击的坐标事件,之后的操作和PC很相似了,都是得到命令然后执行,然后AndroidClient再投屏图像,如此循环。
需要说明的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本公开的创新部分,本实施方式中并没有将与解决本公开所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
第五方面,参照图6,本公开实施例提供一种电子设备,其包括:
一个或多个处理器601;
存储器602,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一项的投屏的方法;
一个或多个I/O接口603,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
其中,处理器601为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器602为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)603连接在处理器601与存储器602间,能实现处理器601与存储器602的信息交互,其包括但不限于数据总线(Bus)等。
在一些实施例中,处理器601、存储器602和I/O接口603通过总线相互连接,进而与计算设备的其它组件连接。
第六方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任意一种投屏的方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (12)
1.一种投屏方法,其特征在于,其包括:
发送搜索文件以搜索客户端;其中,所述搜索文件包括服务端的设备标识和服务端的配置参数,所述服务端的配置参数包括用于选择目标客户端的参数;
接收所述客户端返回的搜索响应消息;其中,所述搜索响应消息包括所述客户端的设备标识和设备参数;
依据所述搜索响应消息确定满足投屏条件的目标客户端;
向所述目标客户端发送投屏文件。
2.根据权利要求1所述的方法,其特征在于,所述依据所述搜索响应消息确定满足投屏条件的目标客户端,包括:
依据所述客户端的设备参数和设备标识生成客户端列表;其中,所述客户端列表包括按照预设的优先级顺序排列的至少一个客户端;
依据所述服务端的配置参数从所述客户端列表中确定所述目标客户端。
3.根据权利要求1所述的方法,其特征在于,所述接收的所述客户端返回的搜索响应消息之后,还包括:
依据所述服务端的配置参数和所述客户端返回的设备参数确定通讯方式,以供所述服务端与所述客户端按照所述通讯方式进行通信。
4.根据权利要求1所述的方法,其特征在于,所述依据所述搜索响应消息确定满足投屏条件的所述目标客户端,包括:
在所述搜索响应消息为匹配成功的消息时,确定所述搜索响应消息对应的所述客户端为满足投屏条件的目标客户端。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述配置参数包括下述一种或多种参数:屏幕大小、分辨率、系统版本、地域特性。
6.一种投屏方法,应用于客户端,其特征在于,包括:
监听服务端发出的搜索文件;其中,所述搜索文件包括服务端的设备标识和服务端的配置参数,所述服务端的配置参数包括用于选择目标客户端的参数;
当监听到所述搜索文件时,基于所述搜索文件生成并向所述服务端返回搜索响应消息,其中,所述搜索响应消息包括所述客户端的设备标识和设备参数;
接收所述服务端发送的投屏文件。
7.根据权利要求6所述的方法,其特征在于,所述配置参数包括下述一种或多种参数:屏幕大小、投屏分辨率、系统版本、地域特性。
8.根据权利要求6所述的方法,其特征在于,所述基于所述搜索文件生成并向所述服务端返回搜索响应消息,包括:
基于所述搜索文件判断所述客户端是否支持显示,当不支持显示时,向所述服务端返回匹配失败的响应消息;或当支持显示时,向所述服务端返回匹配成功的响应消息。
9.一种投屏装置,其特征在于,包括:
服务端发送模块,用于向外发送搜索文件以搜索客户端;其中,所述搜索文件包括随机产生的服务端的设备标识和服务端的配置参数,所述服务端的配置参数包括用于选择目标客户端的参数;
服务端接收模块,用于接收所述客户端返回的搜索响应消息;其中,所述搜索响应消息包括所述客户端的设备标识和设备参数;
服务端确定模块,用于依据所述搜索响应消息确定满足投屏条件的目标客户端;
服务端发送模块,还用于向所述目标客户端发送投屏文件。
10.一种投屏装置,其特征在于,包括:
客户端接收模块,用于接收服务端发出的搜索文件;其中,所述搜索文件包括随机产生的服务端的设备标识和服务端的配置参数,所述服务端的配置参数包括用于选择目标客户端的参数;
搜索响应生成模块,用于当监听到所述搜索文件时,基于搜索文件生成搜索响应消息,其中,所述搜索响应消息包括所述客户端的设备标识和设备参数;
客户端发送模块,用于向所述服务端返回搜索响应消息;
所述客户端接收模块,还用于接收所述客户端发送的投屏文件。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1-8任意一项所述的方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与存储器的信息交互。
12.一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-8任意一项所述的方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010777220.0A CN114077409A (zh) | 2020-08-05 | 2020-08-05 | 投屏方法及装置、电子设备和计算机可读介质 |
KR1020227038309A KR20220162775A (ko) | 2020-08-05 | 2021-07-06 | 스크린 프로젝션 방법 및 장치, 전자 장치 및 컴퓨터 판독 가능 저장 매체 |
JP2022572724A JP2023527393A (ja) | 2020-08-05 | 2021-07-06 | 画面ミラーリング方法および装置、電子デバイスならびにコンピュータ読み取り可能な記憶媒体 |
EP21853925.2A EP4180942A1 (en) | 2020-08-05 | 2021-07-06 | Screen projection method and apparatus, electronic device, and computer readable storage medium |
PCT/CN2021/104752 WO2022028189A1 (zh) | 2020-08-05 | 2021-07-06 | 投屏方法及装置、电子设备和计算机可读存储介质 |
US18/019,853 US20230333800A1 (en) | 2020-08-05 | 2021-07-06 | Screen projection method and apparatus, electronic device and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010777220.0A CN114077409A (zh) | 2020-08-05 | 2020-08-05 | 投屏方法及装置、电子设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114077409A true CN114077409A (zh) | 2022-02-22 |
Family
ID=80116887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010777220.0A Pending CN114077409A (zh) | 2020-08-05 | 2020-08-05 | 投屏方法及装置、电子设备和计算机可读介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230333800A1 (zh) |
EP (1) | EP4180942A1 (zh) |
JP (1) | JP2023527393A (zh) |
KR (1) | KR20220162775A (zh) |
CN (1) | CN114077409A (zh) |
WO (1) | WO2022028189A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827690B (zh) * | 2022-03-30 | 2023-07-25 | 北京奇艺世纪科技有限公司 | 一种网络资源显示方法、装置及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10389832B2 (en) * | 2017-02-17 | 2019-08-20 | Wyse Technology L.L.C. | Remote casting of media content |
CN108810594B (zh) * | 2018-05-04 | 2021-10-12 | 新华三技术有限公司 | 一种远程投屏方法、装置及系统 |
CN108989879B (zh) * | 2018-08-28 | 2021-06-15 | 广州视源电子科技股份有限公司 | 投屏的控制方法、装置和系统 |
CN110602087B (zh) * | 2019-09-10 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 智能投屏方法、装置、智能终端及服务器 |
CN111427527B (zh) * | 2020-03-20 | 2023-10-31 | 海信视像科技股份有限公司 | 投屏方法、装置、设备及计算机可读存储介质 |
-
2020
- 2020-08-05 CN CN202010777220.0A patent/CN114077409A/zh active Pending
-
2021
- 2021-07-06 EP EP21853925.2A patent/EP4180942A1/en active Pending
- 2021-07-06 JP JP2022572724A patent/JP2023527393A/ja active Pending
- 2021-07-06 KR KR1020227038309A patent/KR20220162775A/ko unknown
- 2021-07-06 US US18/019,853 patent/US20230333800A1/en active Pending
- 2021-07-06 WO PCT/CN2021/104752 patent/WO2022028189A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20230333800A1 (en) | 2023-10-19 |
WO2022028189A1 (zh) | 2022-02-10 |
JP2023527393A (ja) | 2023-06-28 |
EP4180942A1 (en) | 2023-05-17 |
KR20220162775A (ko) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105451087B (zh) | 弹幕信息的推送方法、终端、历史数据服务器及系统 | |
KR101467430B1 (ko) | 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템 | |
CN111309279B (zh) | 多屏互动显示方法及装置 | |
US10516856B2 (en) | Network video recorder cluster and method of operation | |
US20140143672A1 (en) | System and method for function expandable collaboration screen system | |
CN106301865B (zh) | 应用于服务提供设备的数据处理方法和设备 | |
CN108337127B (zh) | 应用性能监控方法、系统、终端及计算机可读存储介质 | |
CN110297944B (zh) | 分布式xml数据处理方法及系统 | |
CN104349177A (zh) | 一种在桌面云下转向播放多媒体文件的方法、虚拟机及系统 | |
CN112653736B (zh) | 一种并行回源方法、装置及电子设备 | |
US20160267624A1 (en) | Information terminal and image display system | |
CN114077409A (zh) | 投屏方法及装置、电子设备和计算机可读介质 | |
CN110677443A (zh) | 数据发送和接收方法、发送端、接收端、系统及存储介质 | |
US11025695B2 (en) | Techniques for modifying a rules engine in a highly-scaled computing environment | |
CN111026406A (zh) | 应用运行方法、设备和计算机可读存储介质 | |
CN111090818B (zh) | 资源管理方法、资源管理系统、服务器及计算机存储介质 | |
CN114844870A (zh) | 一种媒体流获取方法、装置、电子设备及存储介质 | |
CN113301100A (zh) | 基于内容分发网络的数据容灾方法、装置、设备及介质 | |
US20240098037A1 (en) | Multimedia Data Stream Processing Method, Electronic Device, and Storage Medium | |
CN111510480A (zh) | 一种请求发送方法、装置以及第一服务器 | |
US10511650B2 (en) | Quality of service system for a service provider that provides media content via a satellite media distribution system and a terrestrial media distribution system | |
CN115278278B (zh) | 一种页面显示方法、装置、电子设备及存储介质 | |
CN114630134B (zh) | 一种针对新增码流的处理方法和系统 | |
CN108040261B (zh) | 网络直播的管理方法、装置及存储介质 | |
CN113900830B (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 |