发明内容
本申请实施例的目的旨在能解决在多路投屏场景中如何提供更友好的连接模式的问题。
根据本申请实施例的一个方面,提供了一种为投屏建立连接的装置,应用于接收终端,该装置包括:
获取模块,用于响应于发送终端发送的连接请求,获取预设连接模式,其中,预设连接模式包括:单路模式和多路模式;
确定模块,用于根据获取的预设连接模式确定业务信道和连接的组所有者,其中,业务信道用于传输业务数据;
连接模块,用于根据业务信道和组所有者建立连接。
在一种可能的实现方式中,在接收连接请求之前,确定模块还用于:
响应于接收到的模式设置指令,确定并设置预设连接模式。
在一种可能的实现方式中,若获取的预设连接模式为单路模式,确定模块在根据获取的预设连接模式确定业务信道中,具体用于:
确定发送终端和接收终端共同支持的频段;
从共同支持的频段中确定业务信道。
在另一种可能的实现方式中,该装置还包括广播模块,该广播模块用于:
停止通过协商信道进行广播操作,其中,连接请求是通过协商信道接收的。
在又一种可能的实现方式中,若获取的预设连接模式为多路模式,该确定模块在根据获取的预设连接模式确定业务信道中,具体用于:
若首次接收到连接请求,从第一频段中确定业务信道,其中,第一频段为发送终端和接收终端支持的频段;
若非首次接收到连接请求,获取首次接收到连接请求时从第一频段中确定的业务信道,并向接收终端进行反馈。
在又一种可能的实现方式中,若获取的预设连接模式为多路模式,确定模块根据获取的预设连接模式确定连接的组所有者中,具体用于:
向发送终端反馈第一协商值,其中,第一协商值小于或者等于最大协商值;
根据第一协商值,确定发送终端或者接收终端为组所有者。
在又一种可能的实现方式中,若获取的预设连接模式为单路模式,确定模块在根据获取的预设连接模式确定连接的组所有者中,具体用于:
若首次接收到连接请求,向发送终端反馈第二协商值,其中,第二协商值为最大协商值;
通过第二协商值,确定接收终端为组所有者。
在又一种可能的实现方式中,该装置还包括播放模块,若业务数据为视频数据,在接收到视频数据之后,播放模块用于:
判断接收到的视频数据是否完整,若视频数据中任一视频帧不完整,根据预设的丢帧开关的状态确定是否丢弃该不完整的视频帧;
或者,
若接收到的视频数据为多路,响应于接收到的声音控制指令,控制多路视频中的目标路视频数据的音频解码通道为开启状态,以及除目标路视频数据的之外的其他视频数据的音频解码通道为关闭状态。
根据本申请实施例的另一个方面,提供了一种为投屏建立连接的方法,该方法包括:
响应于发送终端发送的连接请求,获取预设连接模式,其中,预设连接模式包括:单路模式和多路模式;
根据获取的预设连接模式确定业务信道和连接的组所有者,其中,业务信道用于传输业务数据;
根据业务信道和组所有者建立连接。
根据本申请实施例的另一个方面,提供了一种电子设备,该电子设备包括:存储器、处理器及存储在存储器上的计算机程序,其特征在于,处理器执行计算机程序以实现本申请实施例的上述一个方面所示方法的步骤。
根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例的上述一个方面所示方法的步骤。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例提供了一种为投屏建立连接的装置,包括获取模块、确定模块和连接模块,该装置具体用于:先通过获取模块,响应于发送终端发送的连接请求,获取包括单路模式和多路模式的预设连接模式,也就是说,该装置预先就设置了两种模式以对应不同数量的投屏操作;然后通过确定模块,根据获取的预设连接模式确定业务信道和连接的组所有者,其中,业务信道用于传输业务数据,即确定不同数量的投屏操作所应该对应的业务信道和组所有者;最后通过连接模块,根据业务信道和组所有者建立连接。本申请实施例实现了在投屏场景中,为不同数量的投屏操作提供相应的确定业务信道和连接的组所有者的方式,解决了建立连接阶段所面临的难题,支持了后续的投屏操作。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
2.4G频段:IEEE802.11b/g协议工作的频段,该频段中总共有14个信道。其中,中国对2.4GHz频段的规定为:使用频率范围为2.4GHz~2.4835GHz,对应以下可用信道:信道01、信道02、信道03、信道04、信道05、信道06、信道07、信道08、信道09、信道10、信道11、信道13、信道13。
5G频段:IEEE 802.11n工作的频段,该频段中总共有201个信道。其中,中国对5GHz频段的规定为:使用频率范围5.150GHz~5.350GHz、5.725GHz~5.850GHz,共325MHz带宽,对应以下可用信道包括:信道036、信道040、信道044、信道048、信道052、信道056、信道060、信道064、信道149、信道153、信道157、信道161、信道165。
单频网卡和双频网卡:单频网卡表示支持2.4G频段的网卡,双频网卡表示支持2.4G频段和5G频段的网卡。
本申请提供的一种为投屏建立连接的装置、方法、电子设备以及计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
参见图1a,本申请实施例提供了一种为投屏建立连接的装置的结构示意图,该装置100包括获取模块110、确定模块120、连接模块130,其中,
获取模块110,用于响应于发送终端发送的连接请求,获取预设连接模式,其中,预设连接模式包括:单路模式和多路模式;
其中,单路模式表示和接收终端连接的是一个发送终端,即一对一的关系,也可以称作单路投屏。多路模式表示和接收终端连接的是至少两个发送终端,即一对多的关系,也可以称作多路投屏。
参见图1b,本申请实施例还提供了另一种为投屏建立连接的装置的结构示意图。在一种可能的实现方式中,该装置100还包括广播模块140,该广播模块140用于启动第一频段中任一信道作为协商信道,并通过该协商信道发送广播包;发送终端在接收到该广播包之后,可以向接收终端发送连接请求。应当指出,该广播包的发送过程可以参考现有技术。
应当指出,在本申请实施例中,第一频段为可进行投屏操作的发送终端和接收终端都支持的一种频段类型。例如,2.4G频段为绝大多数终端都支持的频段,可以作为第一频段。
在一种可能的实现方式中,在接收发送请求之前,该装置100中的确定模块120还用于:
响应于接收到的模式设置指令,设置预设连接模式。具体地,单路模式和多路模式可以用不同的模式标识来表示,例如:单路模式为“0”、多路模式为“1”。若该模式设置指令中携带的模式标识为“0”,则标识预设连接模式为单路模式。
确定模块120,用于根据获取的预设连接模式确定业务信道和连接的组所有者,其中,业务信道用于传输业务数据;
连接模块130,用于根据业务信道和组所有者建立连接。
其中,在建立连接之后,发送终端就可以通过业务信道发送视频数据,进而进行相应的投屏操作了。
本申请实施例提供了一种为投屏建立连接的装置,包括获取模块110、确定模块120和连接模块130,具体用于:先通过获取模块110,响应于发送终端发送的连接请求,获取包括单路模式和多路模式的预设连接模式,也就是说,该装置预先就设置了两种模式以对应不同数量的投屏操作;然后通过确定模块120,根据获取的预设连接模式确定业务信道和连接的组所有者,其中,业务信道用于传输业务数据,即确定不同数据的投屏操作所需的业务信道和组所有者;最后通过连接模块130,根据业务信道和组所有者建立连接。本申请实施例实现了在投屏场景中,为不同数量的投屏操作提供相应的确定业务信道和连接的组所有者的方式,解决了建立连接阶段所面临的难题,支持了后续的投屏操作。
本申请实施例还提供了一种可能的实现方式,若获取的预设连接模式为单路模式,确定模块120在根据获取的预设连接模式确定业务信道中,具体用于:
确定所述发送终端和所述接收终端共同支持的频段;从所述共同支持的频段中确定所述业务信道。
具体地,由于单路模式下只需要考虑一个发送终端支持的频段类型即可,因此,可以根据该一个发送终端和接收终端共同支持的频段,来确定业务信道,这样至少可以进行投屏操作(例如,支持某些单频的发送终端)。
其中,若发送终端为携带单频网卡的终端,即该终端仅支持第一频段(发送终端能够接收到协商信道中的广播包,说明该终端支持第一频段,若为单频网卡,那么该单频网卡显然指的是支持第一频段的网卡),那么可以从接收终端的第一频段除协商信道外多个信道中选择一个信道作为业务信道。
其中,若发送终端为携带其他类型网卡的终端,例如双频网卡,双频网卡表示支持两个频段,具体为第一频段和第二频段,那么可以从第一频段和第二频段的信道中选择一个信道作为业务信道。例如也可以为其他类型网卡,该其他类型网卡在支持第一频段的基础上,支持第二频段和/或第三频段和/或第四频段等。另外,接收终端除至少支持第一频段以外。同样的,在选择业务信道时,也需要避开该协商信道。
示例性地,若发送终端为单频网卡,即支持2.4G频段的网卡,而2.4G频段中有13个信道(除协商信道外)可以使用,因此,可以在该13个信道中选择一个合适的信道作为业务信道。若发送终端为双频网卡,例如支持2.4G频段和5G频段,则可以从2.4G频段的可用的信道(除协商信道外),以及5G频段的可用信道中选择合适的信道作为业务信道。
另外,若在单路模式中,目标为在接收视频数据时速度快并且视频质量要高(传输的数据量就比较大),那么从5G频段中选择业务信道将有助于实现该目标。
在一种可能的实现方式中,若获取的预设连接模式为单路模式,那么广播模块140还用于:
停止通过协商信道进行广播操作,其中,连接请求是通过协商信道接收的。
具体地,在发送终端和连接终端成功建立连接之后,停止在协商信道进行广播包的发送操作,避免其他的发送终端接收到广播包,进而申请和接收终端进行连接。
在一种可能的实现方式中,若获取的预设连接模式为单路模式,确定模块120根据获取的预设连接模式确定连接的组所有者中,具体用于:
向发送终端反馈第一协商值,其中,第一协商值小于或者等于最大协商值;根据第一协商值,确定发送终端或者接收终端为组所有者。
其中,本申请实施例提供的连接方式,在建立连接的阶段并没有采取wifi路由的模式,而是在发送终端和接收终端之间建立一个局域网,既然是建立一个局域网,需要确定该局域网的组所有者,并由该组所有者重新为发送终端分配关于该局域网的IP地址。而确定连接的组所有者的过程具体包括:由发送终端提供的第三协商值,通过比较第一协商值和第三协商值的大小,来确定组所有者。其中,提供的协商值比较大的终端将作为连接的组所有者。
示例性地,协商值可以用Intent值表示,发送终端和接收终端提供的Intent值的范围为0~15中任一个整数。在实施本申请所示的方案时,可以设置第一协商值为6。其中,从该范围可以知道,最大的Intent值为15。
本申请实施例还提供了一种可能的实现方式,若获取的预设连接模式为多路模式,确定模块120在根据获取的预设连接模式确定业务信道中,具体用于:
若首次接收到连接请求,从第一频段中确定业务信道,其中,第一频段为发送终端和接收终端支持的频段;
示例性地,从2.4G频段的01-13信道(除协商信道)中确定业务信道,例如,可以将信道01、06、11作为业务信道。
若非首次接收到连接请求,获取首次接收到连接请求时从第一频段中确定的业务信道,并向接收终端进行反馈。
其中,在多路模式下,在第一次接收到连接请求时,已经确定了业务信道,后续接收到连接请求时,无需再确定新的信道,新增的发送终端和接收终端只需通过该业务信道进行交互即可。因此,接收终端获取已确认的业务信道,向新增的发送终端进行反馈,新增的发送终端根据该业务信道直接建立连接即可。
在一种可能的实现方式中,若获取的预设连接模式为多路模式,确定模块120在根据获取的预设连接模式确定连接的组所有者中,具体用于:
若首次接收到连接请求,向发送终端反馈第二协商值,其中,第二协商值为最大协商值;通过第二协商值,确定接收终端为组所有者。
由于在多路模式中,接收终端需要作为连接的组所有者来为所有的发送终端分配IP,因此,在提供第二协商值时,需要提供最大协商值以抢夺组所有者这项身份。在提供了最大协商值的情况下,接收终端大概率会成为组所有者(其中,小的概率是,争夺组所有者失败,那么就需要重新提供第二协商值进行真多,即便重新提供,也是选择第二协商值=最大协商值)。示例性地,协商值的范围为0~15中所有的整数时,那么第二协商值为15。
其中,若非首次接收到连接请求,接收终端可以以组所有者的身份向发送终端分配IP地址即可,无需再发送第二协商值来协商组所有者的归属。
需要说明的是,在确定业务信道和连接的组所有者时,接收终端和发送终端是基于协商信道以协商的形式确定的,该确定过程可以参考现有技术,本申请实施例不做任何限制。
本申请实施例还提供了一种可能的实现方式,该装置100还包括播放模块150,若业务数据为视频数据,在接收到视频数据之后,播放模块150用于:
判断接收到的视频数据是否完整,若视频数据中任一视频帧不完整,根据预设的丢帧开关的状态确定是否丢弃该不完整的视频帧;
具体地,若丢帧开关为开启状态,则播放该视频帧。若丢帧开关为关闭状态,则丢弃该不完整的视频帧。其中,接收终端可以在任一时刻接收设置丢帧状态指令,以设置该丢帧开关的状态。
其中,一项视频数据包括多个视频帧,一个视频帧由多个RTP数据包组成,在具体传输的时候,是将一项视频数据分解成多个RTP进行传输。每个RTP数据包有序列号,接收终端接收到RTP数据包之后,根据RTP数据包携带的序列号组装视频帧,在组装时,可以确定是否有RTP数据包丢失,若有丢失,则确定视频帧不完整。例如,一个视频帧A由3个RTP数据包组成,其序列号分别为:1A、2A、3A,若均接受到携带着3个序列号对应的RTP数据包,确定接收到视频帧A,若未收到上述至少一个序列号对应的RTP数据包,则确定视频帧A不完整。
或者,
若接收到的视频数据为多路,响应于接收到的声音控制指令,控制多路视频中的目标路视频数据的音频解码通道为开启状态,以及除目标路视频数据的之外的其他视频数据的音频解码通道为关闭状态。
其中,终端设备中配置了音频解码器,用于从视频数据中解码出音频数据。在解码视频数据时,为该视频数据提供音频解码通道。若接收到的声音控制指令播放目标视频数据的声音,则开启开目标音频数据的音频解码通过,并关闭其他视频数据的音频解码通道。
参见图2,本申请实施例提供了一种为投屏建立连接的方法的流程示意图,该方法应用于接收终端,包括:
S210,响应于发送终端发送的连接请求,获取预设连接模式,其中,预设连接模式包括:单路模式和多路模式。
在一种可能的方式中,在接收连接请求之前,该方法还包括:
响应于接收到的模式设置指令,确定并设置预设连接模式。
S220,根据获取的预设连接模式确定业务信道和连接的组所有者,其中,业务信道用于传输业务数据。
S230,根据业务信道和组所有者建立连接。
本申请实施例提供了一种可能的实现方式,若获取的预设连接模式为单路模式,根据获取的预设连接模式确定业务信道,包括:
确定所述发送终端和所述接收终端共同支持的频段;从所述共同支持的频段中确定所述业务信道。
在一种可能的实现方式中,若获取的预设连接模式为单路模式,该方法包括:
停止通过协商信道进行广播操作,其中,连接请求是通过协商信道接收的。
在一种可能的实现方式中,若获取的预设连接模式为单路模式,根据获取的预设连接模式确定连接的组所有者,具体包括:
若首次接收到连接请求,向发送终端反馈第一协商值,其中,第一协商值小于或者等于最大协商值;
根据第一协商值,确定发送终端或者接收终端为组所有者。
本申请实施例还提供了一种可能的实现方式中,若获取的预设连接模式为多路模式,根据获取的预设连接模式确定业务信道,具体包括:
若首次接收到连接请求,从第一频段中确定业务信道,其中,第一频段为发送终端和接收终端支持的频段;
若非首次接收到连接请求,获取首次接收到连接请求时从第一频段中确定的业务信道,并向接收终端进行反馈。
在一种可能的实现方式中,若获取的预设连接模式为多路模式,根据获取的预设连接模式确定连接的组所有者,具体可以包括:
若首次接收,向发送终端反馈第二协商值,其中,第二协商值为最大协商值;通过第二协商值,确定接收终端为组所有者。
本申请实施例还提供了一种可能的实现方式,若业务数据为视频数据,在接收到视频数据之后,还包括:
判断接收到的视频数据是否完整,若视频数据中任一视频帧不完整,根据预设的丢帧开关的状态确定是否丢弃该不完整的视频帧;
或者,
若接收到的视频数据为多路,响应于接收到的声音控制指令,控制多路视频中的目标路视频数据的音频解码通道为开启状态,以及除所述目标路视频数据的之外的其他视频数据的音频解码通道为关闭状态。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现本申请上述实施例中的一种为投屏建立连接的方法的步骤。
在一个可选实施例中提供了一种电子设备,如图3所示,图3所示的电子设备3000包括:处理器3001和存储器3003。其中,处理器3001和存储器3003相连,如通过总线3002相连。可选地,电子设备3000还可以包括收发器3004,收发器3004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器3004不限于一个,该电子设备3000的结构并不构成对本申请实施例的限定。
处理器3001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器3001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线3002可包括一通路,在上述组件之间传送信息。总线3002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线3002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器3003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器3003用于存储执行本申请实施例的计算机程序,并由处理器3001来控制执行。处理器3001用于执行存储器3003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:电视机、视频播放设备。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。