CN111654742A - 一种远程智能联动投屏方法及系统 - Google Patents
一种远程智能联动投屏方法及系统 Download PDFInfo
- Publication number
- CN111654742A CN111654742A CN202010558451.2A CN202010558451A CN111654742A CN 111654742 A CN111654742 A CN 111654742A CN 202010558451 A CN202010558451 A CN 202010558451A CN 111654742 A CN111654742 A CN 111654742A
- Authority
- CN
- China
- Prior art keywords
- screen
- screen projection
- client
- image data
- module
- 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.)
- Granted
Links
Images
Classifications
-
- 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
- H04N21/43637—Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4122—Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/4104—Peripherals receiving signals from specially adapted client devices
- H04N21/4126—The peripheral being portable, e.g. PDAs or mobile phones
Abstract
本发明公开了一种远程智能联动投屏方法及系统,其方法包括:设置多屏联动模块的客户端总数N,并依次编号为1~N;投屏模块在接收到投屏请求后,向网络发送投屏请求指令,并接收所有客户端的投屏请求应答指令且分别计算权重;以权重最大的客户端为主客户端,其余为从客户端,且主从客户端设置不同的数据接收端口;投屏模块获取屏幕的镜像数据并发送到网络;主客户端从网络中接收镜像数据,并转发给从客户端;所有客户端均将接收到的镜像数据按宽度等分为N份数据并按联屏顺序依次编号;每个客户端均展示编号与自身分配的投屏分区序列编号对等的的1份屏幕数据,实现远程智能联动投屏。本发明能完成联动投屏应用,降低成本,提高设备利用率。
Description
技术领域
本发明涉及移动设备投屏,尤其涉及一种远程智能联动投屏方法及系统。
背景技术
目前将移动设备的屏幕信号经由无线传输到远程显示装置(如电视、显示屏等)的技术模式有三种:DLNA、AIRPLAY、Miracast。移动设备投屏技术正成为在教学、会议等场景中的一个重要工具得到广泛应用。
DNLA(Digital Living Network Alliance),是索尼、英特尔、微软等发起的一套PC、移动设备、消费电器之间互联互通的协议。AirPlay是苹果开发的一种无线技术,可以通过WiFi将iPhone、iPad等iOS设备上的包括图片、音频、视频通过无线的方式传输到支持AirPlay设备,AirPlay具备与DLNA所没有的镜像功能。Miracast是由WiFi联盟于2012年所制定,以WiFi直连为基础的无线显示标准,支持此标准的设备可通过无线方式分享视频画面,例如手机可通过Miracast将影片或照片直接在电视或其他装置播放。
但目前三种投屏模式都是一对一的,而针对多终端设备客户端投屏,且终端设备客户端作为一个整体联动屏幕展示或者部分区域投屏展示的场景,当前并没有专门直接的解决方案。针对此现状市面上通过纯软件实现多台终端播放整体画面的各个部分这种同步播放方式的方案并不多见,大部分是通过硬件或者使用HDMI分离器等方式,要特殊硬件支持,也受限于布线距离,灵活度较低。也增加了部署以及维护成本,不方便大规模拓展应用。
发明内容
本发明所要解决的技术问题在于,提供一种远程智能联动投屏方法及系统,能完成联动投屏应用,降低成本,提高设备利用率。
为实现上述技术目的,本发明采用如下技术方案:
一种远程智能联动投屏方法,包括以下步骤:
步骤10,设置多屏联动模块的客户端总数N,并为所有客户端按联屏顺序设置终端ID依次为1~N;
步骤20,投屏模块在接收到投屏请求后,向网络发送投屏请求指令,并接收所有客户端的投屏请求应答指令,从中获取每个客户端的信息以计算其权重;
步骤30,以权重最大的客户端为主客户端,其余客户端为从客户端,且主客户端和从客户端设置不同的数据接收端口;
步骤40,投屏模块获取屏幕的镜像数据并发送到网络;
步骤50,主客户端通过自身的数据接收端口从网络中接收镜像数据,并通过与从客户端的数据接收端口相同的端口向网络发送镜像数据;从客户端通过自身的数据接收端口接收镜像数据;
步骤60,所有客户端均将接收到的镜像数据按宽度等分为N份数据,将N份数据按联屏顺序依次编号为1~N;每个客户端均展示编号与自身已分配的投屏分区序列编号相等的1份数据,实现远程智能联动投屏。
在更优的技术方案中,投屏模块在接收投屏请求应答指令时,设置超时检测,若在预设时长内未接收到所有客户端的投屏请求应答指令,则退出投屏流程;否则在预设时长内继续接收投屏请求应答指令,直到在预设时长内接收到所有客户端的投屏请求指令。
在更优的技术方案中,投屏请求应答指令中包括自身客户端的投屏分区序列编号、终端ID、内存使用率、CPU使用率、磁盘使用率,投屏模块根据客户端的内存使用率、CPU使用率、磁盘使用率计算其权重。
在更优的技术方案中,权重的计算方法为:权重=内存使用率*0.6+CPU使用率*0.3+磁盘使用率*0.1。本技术方案根据客户端实时系统资源空闲状况的计算权重动态指定主客户端,主客户端是联动投屏模块的通讯和数据处理枢纽中心,实时性要求较高,将本地系统资源最充足的客户端指定为主客服端,可保障主客户端的实时处理性能。
在更优的技术方案中,所述方法还包括:步骤70,投屏模块在接收到停止投屏请求时,向网络发送投屏停止指令,同时停止获取屏幕的镜像数据;所有客户端在接收到投屏停止指令时,其数据接收端口停止镜像数据接收。
在更优的技术方案中,所述投屏请求指令包括投屏的类型;
若投屏的类型为同一局域网多屏联动投屏,则投屏模块和所有客户端,均以UDP的方式通过局域网收发指令和数据;
若投屏的类型为跨网段多屏联动投屏,则投屏模块和所有客户端,均通过与消息中转模块建立TCP长连接进行通信。
在更优的技术方案中,所述投屏请求指令包括投屏的方式;
若投屏的方式为实时投屏,则投屏模块获取屏幕的镜像数据是指截取投屏模块的终端屏幕图像,投屏模块在每截取一帧终端屏幕图像时,均先将得到的屏幕图像压缩为WEBP图片格式,然后实时发送给网络;且客户端在接收终端屏幕图像数据时,若当前帧的终端屏幕图像数据未完全收到、且接收到新的另一帧终端屏幕图像数据,则舍弃当前帧的终端屏幕图像数据接收;
若投屏的方式为延时投屏,投屏模块获取屏幕的镜像数据是指按预设的延时时长录制投屏模块的终端屏幕视频,投屏模块在每录制完一段终端屏幕视频时,均先将得到的屏幕视频压缩为WEBP动图格式,然后实时发送给网络。
在更优的技术方案中,投屏模块使用不同的端口A1、B1、C1,分别进行指令接收、除镜像数据以外的指令发送、镜像数据的发送;
主客户端使用不同的端口A2、B2、C2、D2,分别进行除镜像数据以外的指令发送、除镜像数据以外的指令接收、镜像数据的接收、镜像数据的发送;
从客户端使用不同的端口A3、B3、D3,分别进行除镜像数据以外的指令发送、除镜像数据以外的指令接收、镜像数据的接收。
在更优的技术方案中,投屏模块向网络发送镜像数据时,每两个数据包之间间隔100us。本方案可保证数据有序传输、传输数据完整性以及为客户端完整接收处理的当前数据包提供更多的时间。
本发明还提供一种远程智能联动投屏系统,包括投屏模块和多屏联动模块,多屏联动模块包括N个客户端;所述投屏模块和所有客户端均包括处理器和存储器,所述存储器用于存储自身投屏模块或客户端的计算机指令,所述处理器用于执行自身投屏模块或客户端的存储器上存储的计算机指令,用于实现上述任一所述的方法。
有益效果
本发明具有以下有益效果:1)任意安装了投屏应用的智能终端都可作为客户端,应用简单广泛;2)多个客户端联动展示投屏模块的屏幕镜像,提升屏幕镜像的视觉效果;3)同时支持局域网和跨网段、公网等网络条件下的远程投屏;4)只需要多屏联动模块中的主客户端从网络中下载屏幕镜像,主客户端再基于UDP协议发送镜像数据给从客户端并进行联动投屏控制,所有客户端即再显示相应部分的镜像即可完成多屏联动投屏,节省流量,节约带宽。
附图说明
图1为本发明实施例中投屏模块与客户端之间的指令报文序列格式;
图2为本发明实施例中投屏请求应答指令格式;
图3为本发明实施例一的系统结构图;
图4为本发明实施例一和二的多屏联动模块的构成图;
图5为本发明实施例一和二的实时投屏方式流程图;
图6为本发明实施例二的系统结构图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例以本发明的技术方案为依据开展,给出了详细的实施方式和具体的操作过程,对本发明的技术方案作进一步解释说明。
本发明提供一种远程智能联动投屏方法,应用于投屏模块和多屏联动模块之间,投屏模块在接收到用户通过投屏应用输入的投屏请求时,经过多屏联动模块的N个客户端的投屏应用同意后,获取投屏模块所在终端的屏幕镜像数据,并将镜像数据通过网络远程在N个客户端作为一个整体屏幕进行联动展示。其中的投屏模块以及每个客户端,可以是安装了投屏应用的任意智能终端。例如用户通过智能手机或平板发起投屏请求,多个自助零售终端作为多个客户端对手机的屏幕镜像进行联动投屏。
其中,投屏模块与客户端之间的通信,主要包括以下几种指令序列(格式如图1所示):
指令1,即系统镜像屏幕指令序列(屏幕数据不超过报文最长度1020字节);
指令2,即投屏请求指令序列(由投屏模块发送给客户端):报文包括投屏类型(1个字节)和组ID(可选),值分别为1:同一局域网多屏联动投屏,2:跨网段多屏联动投屏;
指令3,投屏请求应答指令序列(由客户端回应投屏模块):报文包括投屏分区序列编号、设备客户端总数N、内存使用率R、CPU使用率C、磁盘使用率D、终端ID。其中R、C、D的范围为[0,100]。如图2所示。
指令4,设备客户端主控选择指令序列(由投屏模块选择主客户端):报文包括投屏分区序列编号和终端ID;
指令5、停止投屏指令序列。
实施例一:
本实施例所应用的网络为局域网,即投屏模块和所有客户端在同一局域网下,选用投屏类型为同一局域网多屏联动投屏。
本实施例提供的远程智能联动投屏系统如图3所示,由投屏模块和多屏联动模块组成;其中的多屏联动模块如图4所示,由N个客户端组成。在投屏应用中,包括2种投屏方式:实时投屏和延时投屏,实时投屏即为截取图像并压缩为WEBP图片格式;延时投屏即通过设置延时时间K秒,录制K秒视频,最低1秒。
A)投屏模块,即Server端,利用安卓系统提供的接口,负责获取终端屏幕的镜像数据,并通过UDP广播到局域网内。若投屏方式为实时投屏,则实际为截取投屏模块的终端屏幕图像,并压缩为WEBP图片格式,并实时发送给网络,即实时地通过UDP广播到局域网内;若投屏方式为延时投屏,则实际为按预设的延时时长(预设的延时时长为K秒,最低为1秒)录制投屏模块的终端屏幕视频,在每录制完一段预设K秒的终端屏幕视频时,均压缩为WEBP动格式,然后实时发送给网络,即实时地将完整的一段视频通过UDP广播到局域网内。
投屏模块设置不同的端口A1、B1、C1,分别进行监听、除镜像数据以外的指令发送、镜像数据的发送;即投屏模块的端口A1用于监听指令3,端口B1用于发送指令2、指令4、指令5,端口C1用于发送指令1;
B)多屏联动模块,由多个客户端(Client端)组成,在实施本发明方法时必须要设置各客户端的投屏分区序列编号、终端ID及Client总数N,投屏分区序列编号不重复且范围为[1-N](N为客户端的总数,下同),主客户端由投屏模块根据权重算法动态指定;其中,
主客户端:设置不同的端口A2、B2、C2、D2,分别进行除镜像数据以外的指令发送、除镜像数据以外的指令监听、镜像数据的监听、镜像数据的发送;即主客户端使用端口B2监听指令2、指令4、指令5,使用端口A2发送指令3,使用端口C2监听指令1,使用端口D2发送指令1。
在本实施例中,主客户端与所有从客户端之间基于UDP协议进行联动控制。若投屏方式为实时投屏,主客户端从C2端口监听到图像数据时,立即通过D2端口实时将监听到的图像数据通过UDP发送给从客户端;并在收到一帧完整图像后,根据投屏分区序列编号计算显示图像的对应部分。若投屏方式为延时投屏,主客户端从C2端口监听到视频数据时,则在当前视频数据接收完全时,再将该视频数据通过UDP发送给从客户端,并通知所有客户端开始播放。
从客户端:设置不同的不同的端口A3、B3、D3,分别进行除镜像数据以外的指令发送、除镜像数据以外的指令监听、镜像数据的监听;即从客户端使用端口B3监听指令2、指令4、指令5,使用端口A3发送指令3,使用端口D3监听指令1。
若投屏方式为实时投屏,从客户端从D3端口监听到一帧完整图像后,根据投屏分区序列编号计算显示图像的对应部分。若投屏方式为延时投屏,从客户端从D3端口监听到视频数据,并在当前视频数据接收完全时,通知主客户端该视频已收到,在接收到播放指令后开始播放视频。
若投屏方式为实时投屏,所有客户端在当前帧的终端屏幕图像数据未完全收到、且监听到新的另一帧终端屏幕图像数据时,均舍弃当前帧的终端屏幕图像数据接收。
其中,投屏模块,即Server端,在本实施例中的方法包括以下步骤(如图5所示):
步骤S1,Server端连接Wi-Fi热点,安装对应的投屏应用,启动投屏应用;
步骤S2、Server端选择同一局域网下多联屏投屏模式,点击开始投屏,同时自动启动A1端口监听。
步骤S3、Server端向B1端口发送指令2;
步骤S4、Server端等待Client端回应指令3,并进行超时检测;
步骤S5、如果超时,则提示投屏失败。否则,如果没有收到指令3,则继续步骤S4;否则进行步骤S6;
步骤S6、将收到的指令3存入缓存列表;
步骤S7、检测缓存列表中的指令3,若投屏分区序列编号从1~N的报文全部收到,进行步骤S8;否则继续步骤4;
步骤S8、根据指令3的各参数计算权重,选取权重最大的作为主Client并向B端口发送指令4;
步骤S9、持续截屏,并向C1端口发送指令1;
步骤S10、点击停止投屏后,立即停止截屏,不再发送投屏数据,同时向B1端口发送指令5,停止A1端口监听。
客户端在本实施例中的方法包括以下步骤:
步骤T1、各Client端安装对应的投屏应用,启动应用;
步骤T2、设置各Client端的投屏分区序列编号及Client总数,投屏分区序列编号不重复且范围为[1-N](N为Client总数,下同),各Client端启动B2端口监听;
步骤T3、从B端口收到报文,若为指令2,进行步骤4;若为指令5,进行步骤6;
步骤T4、收集本机内存、CPU、磁盘使用信息,向A2端口发送指令3;
步骤T5、从B2端口收到指令4,根据投屏分区序列编号判断自身是否是主Client。如果不是主Client,则启动D2端口监听,否则启动C2端口监听数据并进行联动展示;
步骤T6、停止D2或C2端口监听,退出投屏界面。
综合以上投屏模块和N个客户端在同一局域网应用时的功能和方法介绍,总结将投屏模块和N个客户端应用于本发明实施例中进行远程智能联动投屏的方法实施例,具体包括以下步骤:
步骤10,设置多屏联动模块的客户端总数N,并为所有客户端按联屏顺序设置投屏分区序列编号依次为1~N;
步骤20,投屏模块在接收到投屏请求后,以UDP的方式将投屏请求指令通过端口B1发送到局域网,并通过端口A1监听局域网中来自所有客户端的投屏请求应答指令,从中获取每个客户端的信息以计算其权重;
其中,客户端通过端口B2或端口B3监听到投屏请求指令后,收集自身的内存使用率、CPU使用率、磁盘使用率等信息,并将这些信息与自身的终端ID均存入到投屏请求应答指令,并通过端口A2或端口A3发送到局域网。
投屏模块在监听投屏请求应答指令时,设置超时检测:若在预设的监听时长内未监听到所有客户端的投屏请求应答指令,则退出投屏流程;否则在预设的监听时长内继续监听投屏请求应答指令,直到在预设的监听时长内监听到所有客户端的投屏请求指令,再执行下一步权重计算。
投屏模块在监听到所有客户端的投屏请求应答指令后,从中获取每个客户端的投屏分区序列编号、终端ID以及内存使用率、CPU使用率、磁盘使用率等信息,以计算对应客户端的权重;其中,权重的计算方法为:权重=内存使用率*0.6+CPU使用率*0.3+磁盘使用率*0.1。根据客户端实时系统资源空闲状况的计算权重动态指定主客户端,主客户端是联动投屏模块的通讯和数据处理枢纽中心,实时性要求较高,将本地系统资源最充足的客户端指定为主客服端,可保障主客户端的实时处理性能。
步骤30,以权重最大的客户端为主客户端,其余客户端为从客户端,且主客户端设置端口C2作为自身的数据监听端口,从客户端设置端口D3作为自身的数据监听端口;
投屏模块在计算得到每个客户端的权重后,将其中权重最大的客户端的投屏分区序列编号存入到主控选择指令序列中,并将该主控选择指令序列通过端口B1发送到局域网;局域网中的客户端通过端口B2或端口B3监听到主控选择指令序列时,将其中的投屏分区序列编号与自身已分配的投屏分区序列编号比较,若相同则自身客户端为主客户端,若不同则自身客户端为从客户端。
步骤40,投屏模块获取屏幕的镜像数据,并通过与主客户端的数据监听端口C2相同的端口C1,以UDP的方式将镜像数据发送到局域网;
若投屏请求指令中的投屏方式为实时投屏,则投屏模块获取屏幕的镜像数据是指截取投屏模块的终端屏幕图像,投屏模块在每截取一帧终端屏幕图像时,均先将得到的屏幕图像压缩为WEBP图片格式,然后实时发送给网络;且客户端在接收终端屏幕图像数据时,若当前帧的终端屏幕图像数据未完全收到、且接收到新的另一帧终端屏幕图像数据,则舍弃当前帧的终端屏幕图像数据接收;
若投屏请求指令中的投屏方式为实时投屏,投屏模块获取屏幕的镜像数据是指按预设的延时时长录制投屏模块的终端屏幕视频,投屏模块在每录制完一段终端屏幕视频时,均先将得到的屏幕视频压缩为WEBP动图格式,然后实时发送给网络。
步骤50,主客户端通过自身的数据监听端口B2监听镜像数据,并通过与从客户端的数据监听端口D3相同的端口D2将镜像数据发送到局域网;从客户端通过自身的数据监听端口D3监听镜像数据;
若投屏方式为实时投屏,所有客户端在监听图像数据时,若当前帧的图像数据未完全收到且监听到新的另一帧图像数据,则舍弃当前帧的图像数据接收,即舍弃当前缓存的图像数据帧,将新收到的图像数据缓存。
步骤60,所有客户端均将监听到的镜像数据按宽度等分为N份数据,将N份数据按联屏顺序依次编号为1~N;每个客户端均展示编号与自身的投屏分区序列编号相等的1份数据,实现远程智能联动投屏。
由于所有客户端按联屏顺序设置投屏分区序列编号依次为1~N,在接收到镜像数据时,只展示其中与自身已分配的投屏分区序列编号相等的那份等分数据,所有客户端的展示内容拼接在一起即为投屏模块的远程投屏效果,实现客户端的镜像数据通过局域网远程投屏到由N个客户端组成的多屏联动模块上展示。
步骤70,投屏模块从投屏应用接收到停止投屏请求时,以UDP的方式将投屏停止指令通过端口B1发送到局域网,同时停止截屏图像或录制视频;所有客户端在监听到投屏停止指令时,其数据监听端口停止监听。
实施例二:
本实施例二应用于跨网段或公网的UDP广播镜像投屏功能块时,即投屏模块和多屏联动模块所在的网络为公网,或者投屏模块与多屏联动模块之间跨网段,选用投屏类型为跨网段多屏联动投屏。
本实施例二相对于实施例一的系统而言,远程智能联动投屏系统另外还设置有消息中转模块,如图6所示,且投屏模块和所有客户端,均通过与消息中转模块建立TCP长连接进行通信。且本实施例在投屏应用中,也包括2种方式:实时投屏和延时投屏,实时投屏即为截取图像并压缩为WEBP图片格式;延时投屏即通过设置延时时间K秒,录制K秒视频,最低1秒。
A)投屏模块:即Server端,和消息中转模块建立TCP长连接,发起投屏请求并负责截取终端屏幕镜像,将镜像数据上载到消息中转模块。
B)消息中转模块:管理投屏模块和多屏联动模块的连接,负责选取主控Client,接收投屏模块上载的镜像数据,并将镜像数据推送到对应的Client。
C)多屏联动模块:由多台终端(Client端)组成,必须要设置各Client端的投屏分区序列编号、终端ID、Client总数及组ID。投屏分区序列编号不重复且范围为[1-N](N为Client总数,下同),主Client由消息中转模块根据权重算法动态指定。每个客户端和消息中转模块建立TCP长连接,接收数据。在收到指令4后,根据投屏分区序列编号判断是否是主Client。如果不是主Client,则启动D3端口监听,否则从消息中转模块接收镜像数据并与从Client进行联动展示。在本实施例中,主客户端与所有从客户端之间的联动控制基于UDP协议,控制方式如下:
主Client:若投屏方式为实时投屏,主客户端从消息中转模块接收到图像数据时,立即通过D2端口实时将监听到的图像数据通过UDP发送给从客户端;并在收到一帧完整图像后,根据投屏分区序列编号计算显示图像的对应部分。若投屏方式为延时投屏,主客户端从消息中转模块监听到视频数据时,则在当前视频数据接收完全时,再将该视频数据通过UDP发送给从客户端,并通知所有客户端开始播放。
从Client:若投屏方式为实时投屏,从客户端从D3端口监听到一帧完整图像后,根据投屏分区序列编号计算显示图像的对应部分。若投屏方式为延时投屏,从客户端从D3端口监听到视频数据,并在当前视频数据接收完全时,通知主客户端该视频已收到,在接收到播放指令后开始播放视频。
若投屏方式为实时投屏,所有客户端在当前帧的终端屏幕图像数据未完全收到、且监听到新的另一帧终端屏幕图像数据时,均舍弃当前帧的终端屏幕图像数据接收。
其中,投屏模块在本实施例二中的方法包括以下步骤:
步骤X1、设备连接无线Wi-Fi或者开启数据网络,安装对应应用,启动并完成注册;
步骤X2、从消息中转模块获取可以投屏的设备,并在界面根据组ID分组展示;
步骤X3、选择要投屏的设备组,发送投屏请求;
步骤X4、接收消息中转模块推送的信息,若投屏请求失败,则提示投屏失败;若成功,持续截屏,并将数据发送给消息中转模块;
步骤X5、点击停止投屏后,立即停止截屏,不再发送投屏数据,并向消息中转模块发送停止投屏指令,退出投屏界面。
多屏联动模块在本实施例二中的方法包括以下步骤:
步骤Y1、各Client端安装对应的投屏应用,启动应用;
步骤Y2、设置各Client端的投屏分区序列编号、终端ID、组ID及Client总数,投屏分区序列编号不重复且范围为[1-N](N为Client总数,下同),向消息中转模块发起注册,注册成功后,和消息中转模块建立一个TCP长连接;
步骤Y3、从消息中转模块收到报文,若为指令2,进行步骤Y4;若为指令5,进行步骤Y7;
步骤Y4、收集本机内存、CPU、磁盘使用信息,并向消息中转模块发送指令3;
步骤Y5、从消息中转模块收到指令4,根据投屏分区序列编号判断是否是主Client。如果不是主Client,则启动D端口监听;
步骤Y6、从消息中转模块收到屏幕数据,进行联动展示;
步骤Y7、关闭长连接,退出投屏界面;
综合以上投屏模块、消息中转模块和N个客户端在广域网应用时的功能和方法介绍,总结将投屏模块、消息中转模块和N个客户端应用于本发明实施例二中进行远程智能联动投屏的方法实施例,具体包括以下步骤:
步骤10,设置多屏联动模块的客户端总数N,并为所有客户端按联屏顺序设置投屏分区序列编号依次为1~N;
步骤20,投屏模块在接收到投屏请求后,将投屏请求指令通过消息中转模块发送给所有客户端;
客户端在接收到投屏请求指令后,收集自身的内存使用率、CPU使用率、磁盘使用率等信息,并将这些信息与自身的已分配的投屏分区序列编号均存入到投屏请求应答指令,并将投屏请求应答指令反馈给消息中转模块;
消息中转模块接收到所有客户端的投屏请求应答指令时,从中获取每个客户端的投屏分区序列编号、终端ID以及内存使用率、CPU使用率、磁盘使用率等信息,以计算对应客户端的权重;其中,权重的计算方法为:权重=内存使用率*0.6+CPU使用率*0.3+磁盘使用率*0.1。
消息中转模块在监听投屏请求应答指令时,设置超时检测:若在预设的监听时长内未监听到所有客户端的投屏请求应答指令,则退出投屏流程;否则在预设的监听时长内继续监听投屏请求应答指令,直到在预设的监听时长内监听到所有客户端的投屏请求指令,再执行下一步权重计算。
步骤30,以权重最大的客户端为主客户端,其余客户端为从客户端,且主客户端设置端口C2作为自身的数据监听端口,从客户端设置端口D3作为自身的数据监听端口;
消息中转模块在计算得到每个客户端的权重后,将其中权重最大的客户端的投屏分区序列编号、终端ID存入到主控选择指令序列中,并将该主控选择指令序列发送给所有客户端;客户端监听到主控选择指令序列时,将其中的投屏分区序列编号、终端ID与自身的已分配的投屏分区序列编号、终端ID比较,若相同则自身客户端为主客户端,若不同则自身客户端为从客户端。
步骤40,投屏模块获取屏幕的镜像数据,并通过消息中转模块将镜像数据发送给主客户端;
步骤50,主客户端从消息中转模块接收到镜像数据,并通过与从客户端的数据监听端口D3相同的端口D2将镜像数据发送给从客户端;从客户端通过自身的数据监听端口D3监听镜像数据;
若投屏方式为实时投屏,所有客户端在接收图像数据时,若当前帧的图像数据未完全收到且收到新的另一帧图像数据,则舍弃当前帧的图像数据接收,即舍弃当前缓存的图像数据帧,将新收到的图像数据缓存。
步骤60,所有客户端均将接收到的镜像数据按宽度等分为N份数据,将N份数据按联屏顺序依次编号为1~N;每个客户端均展示编号与自身的已分配的投屏分区序列编号相等的1份数据,实现远程智能联动投屏。
由于所有客户端按联屏顺序设置投屏分区序列编号依次为1~N,在接收到镜像数据时,只展示其中与自身已分配的投屏分区序列编号相等的那份等分数据,所有客户端的展示内容拼接在一起即为投屏模块的远程投屏效果,实现客户端的镜像数据通过局域网远程投屏到由N个客户端组成的多屏联动模块上展示。
步骤70,投屏模块从投屏应用接收到停止投屏请求时,通过消息中转模块将投屏停止指令发送给所有客户端,同时停止获取屏幕的镜像数据;所有客户端在接收到投屏停止指令时,停止接收镜像数据。
以上实施例为本申请的优选实施例,本领域的普通技术人员还可以在此基础上进行各种变换或改进,在不脱离本申请总的构思的前提下,这些变换或改进都应当属于本申请要求保护的范围之内。
Claims (10)
1.一种远程智能联动投屏方法,其特征在于,包括以下步骤:
步骤10,设置多屏联动模块的客户端总数N,并为所有客户端按联屏顺序设置投屏分区序列编号依次为1~N;
步骤20,投屏模块在接收到投屏请求后,向网络发送投屏请求指令,并接收所有客户端的投屏请求应答指令,从中获取每个客户端的信息以计算其权重;
步骤30,以权重最大的客户端为主客户端,其余客户端为从客户端,且主客户端和从客户端设置不同的数据接收端口;
步骤40,投屏模块获取屏幕的镜像数据并发送到网络;
步骤50,主客户端通过自身的数据接收端口从网络中接收镜像数据,并通过与从客户端的数据接收端口相同的端口向网络发送镜像数据;从客户端通过自身的数据接收端口接收镜像数据;
步骤60,所有客户端均将接收到的镜像数据按宽度等分为N份数据,将N份数据按联屏顺序依次编号为1~N;每个客户端均展示编号与自身的投屏分区序列编号相等的1份数据,实现远程智能联动投屏。
2.根据权利要求1所述的方法,其特征在于,投屏模块在接收投屏请求应答指令时,设置超时检测,若在预设时长内未接收到所有客户端的投屏请求应答指令,则退出投屏流程;否则在预设时长内继续接收投屏请求应答指令,直到在预设时长内接收到所有客户端的投屏请求指令。
3.根据权利要求1所述的方法,其特征在于,投屏请求应答指令中包括自身客户端的分配的投屏分区序列编号、终端ID、内存使用率、CPU使用率、磁盘使用率,投屏模块根据客户端的内存使用率、CPU使用率、磁盘使用率计算其权重。
4.根据权利要求3所述的方法,其特征在于,权重的计算方法为:权重=内存使用率*0.6+CPU使用率*0.3+磁盘使用率*0.1。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:步骤70,投屏模块在接收到停止投屏请求时,向网络发送投屏停止指令,同时停止获取屏幕的镜像数据;所有客户端在接收到投屏停止指令时,其数据接收端口停止镜像数据接收。
6.根据权利要求1所述的方法,其特征在于,所述投屏请求指令包括投屏的类型;
若投屏的类型为同一局域网多屏联动投屏,则投屏模块和所有客户端,均以UDP的方式通过局域网收发指令和数据;
若投屏的类型为跨网段多屏联动投屏,则投屏模块和所有客户端,均通过与消息中转模块建立TCP长连接进行通信。
7.根据权利要求1所述的方法,其特征在于,所述投屏请求指令包括投屏的方式;
若投屏的方式为实时投屏,则投屏模块获取屏幕的镜像数据是指截取投屏模块的终端屏幕图像,投屏模块在每截取一帧终端屏幕图像时,均先将得到的屏幕图像压缩为WEBP图片格式,然后实时发送给网络;且客户端在接收终端屏幕图像数据时,若当前帧的终端屏幕图像数据未完全收到、且接收到新的另一帧终端屏幕图像数据,则舍弃当前帧的终端屏幕图像数据接收;
若投屏的方式为延时投屏,投屏模块获取屏幕的镜像数据是指按预设的延时时长录制投屏模块的终端屏幕视频,投屏模块在每录制完一段终端屏幕视频时,均先将得到的屏幕视频压缩为WEBP动图格式,然后实时发送给网络。
8.根据权利要求1所述的方法,其特征在于,投屏模块使用不同的端口A1、B1、C1,分别进行指令接收、除镜像数据以外的指令发送、镜像数据的发送;
主客户端使用不同的端口A2、B2、C2、D2,分别进行除镜像数据以外的指令发送、除镜像数据以外的指令接收、镜像数据的接收、镜像数据的发送;
从客户端使用不同的端口A3、B3、D3,分别进行除镜像数据以外的指令发送、除镜像数据以外的指令接收、镜像数据的接收。
9.根据权利要求1所述的方法,其特征在于,投屏模块向网络发送镜像数据时,每两个数据包之间间隔100us。
10.一种远程智能联动投屏系统,其特征在于,包括投屏模块和多屏联动模块,多屏联动模块包括N个客户端;所述投屏模块和所有客户端均包括处理器和存储器,所述存储器用于存储自身投屏模块或客户端的计算机指令,所述处理器用于执行自身投屏模块或客户端的存储器上存储的计算机指令,用于实现权利要求1-9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010558451.2A CN111654742B (zh) | 2020-06-18 | 2020-06-18 | 一种远程智能联动投屏方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010558451.2A CN111654742B (zh) | 2020-06-18 | 2020-06-18 | 一种远程智能联动投屏方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111654742A true CN111654742A (zh) | 2020-09-11 |
CN111654742B CN111654742B (zh) | 2022-06-28 |
Family
ID=72344868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010558451.2A Active CN111654742B (zh) | 2020-06-18 | 2020-06-18 | 一种远程智能联动投屏方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111654742B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112423073A (zh) * | 2020-09-30 | 2021-02-26 | 西安万像电子科技有限公司 | 一种投屏设备的远程控制方法及系统 |
CN113179307A (zh) * | 2021-04-23 | 2021-07-27 | 努比亚技术有限公司 | 一种音频时延控制方法、设备及计算机可读存储介质 |
CN113746979A (zh) * | 2021-08-26 | 2021-12-03 | 上汽通用五菱汽车股份有限公司 | 基于手机车联网应用的手机分屏方法、系统、设备及介质 |
CN113825000A (zh) * | 2021-09-18 | 2021-12-21 | 北京奇艺世纪科技有限公司 | 投屏方法、装置、电子设备及存储介质 |
CN114296671A (zh) * | 2021-12-23 | 2022-04-08 | 深圳市宝视达光电有限公司 | 多屏会议交互方法、设备、装置及存储介质 |
CN115460445A (zh) * | 2021-06-09 | 2022-12-09 | 荣耀终端有限公司 | 电子设备的投屏方法和电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008041591A1 (fr) * | 2006-09-29 | 2008-04-10 | Brother Kogyo Kabushiki Kaisha | dispositif radio, dispositif de projection d'image, dispositif de fonctionnement distant et système de projection d'image |
CN101447151A (zh) * | 2008-12-18 | 2009-06-03 | 广东威创视讯科技股份有限公司 | 一种lcd拼接显示装置及其大屏幕拼接显示系统 |
US20100302130A1 (en) * | 2009-05-29 | 2010-12-02 | Seiko Epson Corporation | Image display system, image display device, and image display method |
US20130215012A1 (en) * | 2012-02-18 | 2013-08-22 | Rakesh Reddy | Underwater image projection display system, lighting control system and device and method of operating same |
CN105409231A (zh) * | 2013-07-29 | 2016-03-16 | 三星电子株式会社 | 用于构建多屏显示器的方法和装置 |
CN106792055A (zh) * | 2016-12-28 | 2017-05-31 | 福建星网视易信息系统有限公司 | 实时投屏方法、设备及系统 |
CN108391146A (zh) * | 2018-03-19 | 2018-08-10 | 西安冠铭科技股份有限公司 | 多屏图像投屏的服务器、终端、系统及方法 |
CN109195000A (zh) * | 2018-10-10 | 2019-01-11 | 深圳市创维群欣安防科技股份有限公司 | 一种局域网多屏拼接同步显示方法、系统及存储介质 |
CN110661986A (zh) * | 2018-06-29 | 2020-01-07 | 上海逸升信息科技有限公司 | 多屏联动演示控制系统及方法 |
CN111026343A (zh) * | 2019-11-08 | 2020-04-17 | 西安青问智能科技有限公司 | 一种多个拼接屏实时同步显示方法 |
-
2020
- 2020-06-18 CN CN202010558451.2A patent/CN111654742B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008041591A1 (fr) * | 2006-09-29 | 2008-04-10 | Brother Kogyo Kabushiki Kaisha | dispositif radio, dispositif de projection d'image, dispositif de fonctionnement distant et système de projection d'image |
CN101447151A (zh) * | 2008-12-18 | 2009-06-03 | 广东威创视讯科技股份有限公司 | 一种lcd拼接显示装置及其大屏幕拼接显示系统 |
US20100302130A1 (en) * | 2009-05-29 | 2010-12-02 | Seiko Epson Corporation | Image display system, image display device, and image display method |
US20130215012A1 (en) * | 2012-02-18 | 2013-08-22 | Rakesh Reddy | Underwater image projection display system, lighting control system and device and method of operating same |
CN105409231A (zh) * | 2013-07-29 | 2016-03-16 | 三星电子株式会社 | 用于构建多屏显示器的方法和装置 |
CN106792055A (zh) * | 2016-12-28 | 2017-05-31 | 福建星网视易信息系统有限公司 | 实时投屏方法、设备及系统 |
CN108391146A (zh) * | 2018-03-19 | 2018-08-10 | 西安冠铭科技股份有限公司 | 多屏图像投屏的服务器、终端、系统及方法 |
CN110661986A (zh) * | 2018-06-29 | 2020-01-07 | 上海逸升信息科技有限公司 | 多屏联动演示控制系统及方法 |
CN109195000A (zh) * | 2018-10-10 | 2019-01-11 | 深圳市创维群欣安防科技股份有限公司 | 一种局域网多屏拼接同步显示方法、系统及存储介质 |
CN111026343A (zh) * | 2019-11-08 | 2020-04-17 | 西安青问智能科技有限公司 | 一种多个拼接屏实时同步显示方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112423073A (zh) * | 2020-09-30 | 2021-02-26 | 西安万像电子科技有限公司 | 一种投屏设备的远程控制方法及系统 |
CN113179307A (zh) * | 2021-04-23 | 2021-07-27 | 努比亚技术有限公司 | 一种音频时延控制方法、设备及计算机可读存储介质 |
CN113179307B (zh) * | 2021-04-23 | 2023-10-20 | 努比亚技术有限公司 | 一种音频时延控制方法、设备及计算机可读存储介质 |
CN115460445A (zh) * | 2021-06-09 | 2022-12-09 | 荣耀终端有限公司 | 电子设备的投屏方法和电子设备 |
CN115460445B (zh) * | 2021-06-09 | 2024-03-22 | 荣耀终端有限公司 | 电子设备的投屏方法和电子设备 |
CN113746979A (zh) * | 2021-08-26 | 2021-12-03 | 上汽通用五菱汽车股份有限公司 | 基于手机车联网应用的手机分屏方法、系统、设备及介质 |
CN113825000A (zh) * | 2021-09-18 | 2021-12-21 | 北京奇艺世纪科技有限公司 | 投屏方法、装置、电子设备及存储介质 |
CN114296671A (zh) * | 2021-12-23 | 2022-04-08 | 深圳市宝视达光电有限公司 | 多屏会议交互方法、设备、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111654742B (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111654742B (zh) | 一种远程智能联动投屏方法及系统 | |
EP2640099B1 (en) | Method, system and apparatus for providing stream media service | |
CN109618220B (zh) | 无线投屏方法及无线投屏系统 | |
US10368258B2 (en) | Interactions among mobile devices in a wireless network | |
WO2022089088A1 (zh) | 显示设备、移动终端、投屏数据传输方法及传输系统 | |
WO2014134965A1 (zh) | 一种多方视频共享的方法和装置 | |
KR20140011969A (ko) | 디스플레이 세션에서 오프라인 참여를 위한 무선 통신 시스템 및 방법 | |
KR101647938B1 (ko) | 이동통신망을 통해 이기종 네트워크를 연동하여 미디어 스트리밍을 제공하는 방법 및 시스템 | |
EP2712126A2 (en) | Networking method, server end device, client end device and network system | |
CN114546308A (zh) | 应用界面投屏方法、装置、设备以及存储介质 | |
CN110290570A (zh) | 无线网络接入方法及相关设备、存储装置 | |
CN109451339A (zh) | 音频传输方法、装置、设备及可读存储介质 | |
CN112492359A (zh) | 一种智能手机投屏方法 | |
CN110943977B (zh) | 多媒体业务数据传输方法、服务端、设备及存储介质 | |
CN103561311A (zh) | 传屏方法和电视机 | |
CN108924603A (zh) | 基于软件定义WiFi的多终端流媒体播放系统和方法 | |
CN105704460A (zh) | 一种视频监控的方法及系统 | |
EP3316593B1 (en) | Method and device for implementing synchronous playing | |
CN105872480A (zh) | 基于手机实时摄像在led屏播放的控制系统及方法 | |
WO2023011021A1 (zh) | 直播画面显示方法、装置和存储介质及电子设备 | |
CN106375933A (zh) | 多个智能硬件设备的投射控制方法 | |
CN115379279A (zh) | 多屏联动的交互方法及装置、系统、存储介质、电子设备 | |
WO2005076931A2 (en) | Simultaneous wireless broadcasting of video and graphical content | |
CN108391161A (zh) | 一种跨平台无线投屏方法 | |
CN104935571B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |