CN111427527B - 投屏方法、装置、设备及计算机可读存储介质 - Google Patents
投屏方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111427527B CN111427527B CN202010199814.8A CN202010199814A CN111427527B CN 111427527 B CN111427527 B CN 111427527B CN 202010199814 A CN202010199814 A CN 202010199814A CN 111427527 B CN111427527 B CN 111427527B
- Authority
- CN
- China
- Prior art keywords
- address
- discovery request
- target
- equipment
- target equipment
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004891 communication Methods 0.000 claims abstract description 52
- 230000005540 biological transmission Effects 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 18
- 238000012790 confirmation Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000005266 casting Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect 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
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供一种投屏方法、装置、设备及计算机可读存储介质。该方法包括:发送第一发现请求,所述第一发现请求采用DLNA通信协议;在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,所述第二发现请求采用端到端的通信协议;在通过所述第二发现请求发现所述目标设备的情况下,获取所述目标设备的IP地址;通过所述DLNA通信协议与所述IP地址对应的目标设备建立数据传输通道;通过所述数据传输通道向所述目标设备传输多媒体数据,以通过所述目标设备将所述多媒体数据进行显示和/或播放。本申请实施例能够绕过路由器进行DLNA投屏。
Description
技术领域
本申请实施例涉及数据传输技术领域,尤其涉及一种投屏方法、装置、设备及计算机可读存储介质。
背景技术
目前,电视的业务入口除了电视,还包括多种多样的其他设备,比如pad、电脑、手机等。不同设备之间可以通过多屏互动服务业务实现相互业务操作和联系。多屏业务包括了对各种各样协议的支持,其中数字生活联盟(Digital Living Network Alliance,简称为DLNA)是一个重要协议。
DLNA协议的主要内容是进行设备间的媒体共享,比如将手机上的图片或者视频投送到电视上展示和播放。但是标准的DLNA协议的实现需要路由器局域网的支持,因此,目前的DLNA投屏会受限于路由器。
发明内容
本申请实施例提供一种投屏方法、装置、设备及计算机可读存储介质,能够绕过路由器进行DLNA投屏。
第一方面,本申请实施例提供一种投屏方法,应用于终端设备,所述方法包括:发送第一发现请求,所述第一发现请求采用DLNA通信协议;在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,所述第二发现请求采用端到端的通信协议;在通过所述第二发现请求发现所述目标设备的情况下,获取所述目标设备的IP地址;通过所述DLNA通信协议与所述IP地址对应的目标设备建立数据传输通道;通过所述数据传输通道向所述目标设备传输多媒体数据,以通过所述目标设备将所述多媒体数据进行显示和/或播放。
第二方面,本申请实施例提供一种投屏装置,包括:第一发送模块,用于发送第一发现请求,所述第一发现请求采用DLNA通信协议;第二发送模块,用于在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,所述第二发现请求采用端到端的通信协议;获取模块,用于在通过所述第二发现请求发现所述目标设备的情况下,获取所述目标设备的IP地址;连接模块,用于通过所述DLNA通信协议与所述IP地址对应的目标设备建立数据传输通道;推送模块,用于通过所述数据传输通道向所述目标设备传输多媒体数据,以通过所述目标设备将所述多媒体数据进行显示和/或播放。
第三方面,本申请实施例提供一种投屏设备,包括:存储器;处理器;
通讯接口;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行如第一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
本申请实施例提供的投屏方法、装置、设备及计算机可读存储介质,通过发送第一发现请求,第一发现请求采用DLNA通信协议;在根据第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,第二发现请求采用端到端的通信协议;在通过第二发现请求发现目标设备的情况下,获取目标设备的IP地址;通过DLNA通信协议与IP地址对应的目标设备建立数据传输通道;通过数据传输通道向目标设备传输多媒体数据,以通过目标设备将多媒体数据进行显示和/或播放。本实施例在设备发现过程中,如果未发现目标设备,则切换至端到端的通信协议来发现目标设备,由于端到端的通信协议是去中心化的直连通信方式,不需要中间中转者,因此,对于能够绕过路由器来发现目标设备。进一步的,在通过端到端的通信方式获取到目标设备的IP地址之后,通过DLNA协议与目标设备建立数据传输通道,然后将要投屏的多媒体数据通过该数据传输通道传输至目标设备,再通过目标设备的播放器和/或显示进行显示和/或播放,因此,能够实现DLNA投屏。
附图说明
图1为本申请实施例提供的投屏系统的结构示意图;
图2为本申请实施例提供的投屏方法流程图;
图3为本申请实施例提供的端到端发现设备的示意图;
图4为本申请实施例提供的投屏方法的信令图;
图5为本申请实施例提供的投屏装置的结构示意图;
图6为本申请实施例提供的投屏设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本申请实施例提供的投屏方法,可以适用于图1所示的投屏系统。如图1所示,该投屏系统包括:第一终端设备11、接入网设备12和第二终端设备13。其中,第一终端设备11和第二终端设备13可以是手机、pad、电脑、电视等设备,接入网设备12可以是路由器。
在一个可选的应用场景中,第一终端设备11可以是手机,接入网设备12可以是路由器,第二终端设备13可以是电视。本实施例中,路由器可以作为访问接入点(AccessPoint,AP)建立局域网,手机和电视均位于该局域网内。在一些场景中,由于手机屏幕小,观看视频等会存在不方便,因此,有些用户会想要将手机上的一些图片、视频等多媒体数据投屏到电视上,目前的投屏主要是基于DLNA协议。例如,用户打开爱奇艺、优酷、腾讯视频等视频软件上的某一个视频资源,想要将该视频资源投屏到电视上进行观看,可以通过点击视频软件上的投屏按键发起投屏请求,此时,用户点击投屏按键相当于是发起了设备发现请求,该设备发现请求会首先到达路由器,由路由器搜索位于上述局域网范围内的其他设备,并将搜索结果反馈给用户。由于上述过程需要路由器的参与,因此,如果路由器发生丢包就会导致设备发现率低,以及路由器如果设置了AP隔离也会造成无法发现设备,进而导致搜索不到电视,也就是发现不了电视,从而无法实现DLNA投屏,影响用户体验。
本申请实施例提供的投屏方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的投屏方法流程图。本申请实施例针对现有技术的如上技术问题,提供了投屏方法,该方法具体步骤如下:
步骤201、发送第一发现请求。
其中,第一发现请求采用DLNA通信协议。本实施例的执行主体可以是终端设备,例如手机。在本实施例的DLNA投屏过程中,终端设备作为控制点,终端设备可以通过发送组播搜索消息的形式发送第一发现请求。
在手机和电视的示例中,可以是根据手机接收到的用户在手机上的操作信息,发送第一发现请求,例如,用户打开视频软件,并点击视频软件上的投屏按键,从而发起第一发现请求,之后,第一发现请求被发送至手机所在的局域网内的路由器。
本实施例中,并不限于以上述投屏按键的方式发起第一发现请求,还可以是通过其他预定的手势操作或者对终端设备本身进行的操作,例如对终端设备进行施力,例如旋转等操作使终端设备的运动状态发生变化,从而发起第一发现请求。
步骤202、在根据第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求。
其中,第二发现请求采用端到端的通信协议,例如P2P(Peer to Peer)协议。第二发现请求包括WIFI直连请求。
本实施例中,上述第一发现请求在发送至路由器后,由路由器会将该第一发现请求发送至上述局域网内的其他设备,其他设备接收到第一发现请求后,会回复一个确认消息给终端设备,并将数字媒体喧染器(DigitalMedia Renderer,DMR)的描述文件等信息回复给终端设备。如果终端设备没有接收到任何确认消息,或者终端设备根据接收到的确认消息和DMR描述文件的回复消息确定没有发现目标设备的情况下,则自动切换至P2P协议,也就是启动P2P协议发起第二发现请求。
值得注意的是,本实施例中的终端设备和目标设备须连接同一WIFI网络。
在一种可选的实施方式中,在根据第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,包括:在预设时间段内未接收到组播搜索消息的确认消息,发送第二发现请求。例如,用户在手机上通过点击投屏按键发送组播搜索消息后,路由器就会将该组播搜索消息发送至局域网内的其他设备,其他设备接收到该组播搜索消息后,会回复一个确认收到的消息(确认消息)给手机,如果手机等待T1时间之后,没有接收到任何确认消息,则认为发现失败。
在另一种可选的实施方式中,在根据第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,包括:在未接收到组播搜索消息的确认消息的情况下,再次发送第一发现请求;在未接收到组播搜索消息的确认消息的次数超过预设次数的情况下,发送第二发现请求。在上述举例的基础上例如,用户在手机上通过点击投屏按键发送组播搜索消息后,路由器就会将该组播搜索消息发送至局域网内的其他设备,其他设备接收到该组播搜索消息后,会回复一个确认收到的消息(确认消息)给手机,这个过程通常耗时为T2,如果手机等待T2时间之后,没有接收到任何确认消息,则再次发送组播搜索消息,并记录发送组播搜索消息的次数,如果连续发送3次组播搜索消息且均未接收到确认消息,则认为发现失败。
步骤203、在通过第二发现请求发现目标设备的情况下,获取目标设备的IP地址。
可选的,在通过第二发现请求发现目标设备的情况下,获取目标设备的IP地址,包括:
步骤a1、接收第二发现请求的回复消息,回复消息包括发现的设备的mac地址和/或设备名称。
步骤a2、基于回复消息确定目标设备的mac地址和/或设备名称。
步骤a3、根据目标设备的mac地址和/或设备名称,向目标设备发送P2P连接。
步骤a4、在确定终端设备是服务端,且目标设备是客户端的情况下,接收目标设备发送的TCP连接请求,TCP连接请求携带有目标设备的IP地址。
步骤a5、对TCP连接请求进行解析,得到目标设备的IP地址。
示例性地,以第二发现请求是WIFI直连请求为例,如图3所示,则在通过第二发现请求发现目标设备的情况下,获取目标设备的IP地址,包括:终端设备发起WIFI直连请求,与终端设备连接至同一WIFI网络,且与终端设备之间的距离小于预设距离的终端设备(以下简称其他终端设备)在接收到WIFI直连请求后,回复自身的设备名称和MAC信息给终端设备;终端设备根据设备名称和MAC信息向与设备名称和MAC信息对应的其他终端设备发起建立连接请求,其他终端设备接收到建立连接请求后,与发起建立连接请求的终端设备进行协商,协商内容包括确定客户端(group client)和服务端(group owner),之后,由服务端创建TCPserver,并由客户端向服务端发送TCP连接请求,服务端接收到TCP连接请求后,解析出客户端的IP地址,再通过TCP通信方式将客户端的IP地址和服务端的IP地址均返回给客户端。
例如,电视和手机都连接至同一WIFI网络的情况下,手机发起WIFI直连请求,电视接收到WIFI直连请求的情况下,将电视的设备名称和MAC信息回复给手机,手机根据电视的设备名称和MAC信息向电视发起建立连接请求,电视接收到该建立连接请求后,与手机进行协商,在协商结果是电视是客户端,手机是服务端,则由手机创建TCPserver,以及接收电视向手机发送的TCP连接请求,手机接收到TCP连接请求后,从TCP连接请求中解析出来电视的IP地址,然后通过TCP方式将电视的IP地址和手机的IP地址发送给电视。
可选的,在上述步骤a3之后,本实施例的方法还包括:
步骤a6、在确定终端设备是客户端,且目标设备是服务端的情况下,则获取目标设备的IP地址。
示例性地,如果协商结果是电视是服务端,手机是客户端,则电视和手机都知道电视的IP地址,手机和电视均可以直接获取电视的IP地址。
可选的,得到目标设备的IP地址之后,本实施例的方法还包括:发送目标设备的IP地址至目标设备,以使目标设备根据目标设备的IP地址将DLNA通信协议进行初始化。例如,在手机是服务端,电视是客户端的情况下,手机将电视的IP地址发送给电视,电视用电视自身的IP地址来初始化DLNA协议,以便后续通过单播的形式与手机建立数据传输通道。再例如,在手机是客户端,电视是服务端的情况下,电视可以直接获取电视自身的IP地址,进而自身的IP地址来初始化DLNA协议,以便后续通过单播的形式与手机建立数据传输通道。
步骤204、通过DLNA通信协议与IP地址对应的目标设备建立数据传输通道。
可选的,通过DLNA通信协议与IP地址对应的目标设备建立数据传输通道,包括:向IP地址对应的目标设备发送单播消息;接收目标设备返回的描述文件的地址信息;根据描述文件的地址信息,从与描述文件的地址信息对应的地址获取描述文件,描述文件包括目标设备的描述信息;根据描述信息,将目标设备保存至设备列表中。
例如,手机在获取到电视的IP地址之后,手机就可以通过单播的方式向电视发起DLNA连接,以建立数据传输通道。具体的,是手机向IP地址对应的电视发送单播消息,电视接收到该单播消息后,会返回DMR描述文件地址信息,然后手机根据DMR描述文件地址信息向电视请求获取DMR描述文件,电视将DMR描述文件回复给手机,手机就可以获取到更加详细的设备描述信息,例如电视的唯一识别码(Universally Unique Identifier,UUID)和DLNA设备类型信息,之后手机将获取到的电视的所有信息都保存至设备列表中。至此,数据传输通道建立完毕。
步骤205、通过数据传输通道向目标设备传输多媒体数据,以通过目标设备将多媒体数据进行显示和/或播放。
可选的通过数据传输通道向目标设备传输多媒体数据,以通过目标设备将所述多媒体数据进行显示和/或播放,包括:根据接收到的对多媒体数据的选择操作信息,确定待推送的多媒体数据;基于待推送的多媒体数据形成推送链接;发送推送链接至目标设备,以使目标设备根据推送链接解析得到文件地址,以及根据文件地址获取相应的文件,并将获取到的文件发送至播放器进行播放。
例如,数据传输通道建立好之后,用户可以在手机上选择图片、视频等多媒体数据,并点击推送到电视,电视接收到推送内容后,解析出文件地址,然后根据文件地址获取相应的文件,并将获取到的文件发送至播放器进行播放。
本申请实施例通过发送第一发现请求,第一发现请求采用DLNA通信协议;在根据第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,第二发现请求采用端到端的通信协议;在通过第二发现请求发现目标设备的情况下,获取目标设备的IP地址;通过DLNA通信协议与IP地址对应的目标设备建立数据传输通道;通过数据传输通道向目标设备传输多媒体数据,以通过目标设备将多媒体数据进行显示和/或播放。本实施例在设备发现过程中,如果未发现目标设备,则切换至端到端的通信协议来发现目标设备,由于端到端的通信协议是去中心化的直连通信方式,不需要中间中转者,因此,对于路由器丢包导致设备发现率低,或者是路由器设置了AP隔离等情况导致无法设备的情形而言,也能够绕过路由器来发现目标设备。进一步的,在通过端到端的通信方式获取到目标设备的IP地址之后,通过DLNA协议与目标设备建立数据传输通道,然后将要投屏的多媒体数据通过该数据传输通道传输至目标设备,再通过目标设备的播放器和/或显示进行显示和/或播放,因此,能够实现DLNA投屏。
下面以手机和电视为例,通过一个完整的示例对本申请实施例的投屏方法进行详细说明:
图4为本申请实施例的一示例提供的投屏方法流程图。如图4所示,本实施例的示例提供的投屏方法具体包括如下步骤:
步骤4001、电视连接WIFI后,初始化DLNA协议,并向组播地址,例如239.255.255.250地址发送组播加入请求,以加入组播。
步骤4002、手机连接WIFI后,向组播地址发送组播搜索消息。
例如,手机向239.255.255.250地址发送组播搜索消息。
步骤4003、手机判断是否接收到组播搜索消息的确认消息。
如果手机接收到组播搜索消息的确认消息,则代表电视接收到了组播搜索消息,并向手机返回了确认消息,同时,电视也会向手机返回DMR描述文件地址。
步骤4004、手机在接收到组播搜索消息的确认消息的情况下,根据DMR描述文件地址向电视发送DMR描述文件的获取请求。
步骤4005、电视接收到DMR描述文件的获取请求后,向手机返回DMR描述文件。
其中,DMR描述文件内容至少包括设备名称、IP地址、MAC信息、UUID、DLNA设备类型。
步骤4006、手机接收到DMR描述文件后,解析DMR描述文件,并将解析得到的DMR描述文件内容保存至设备列表。
步骤4007、手机根据用户在手机上选择的推送内容,向电视发送推送链接。
步骤4008、电视接收到推送链接后,解析该推送链接,并调用播放器播放推送链接中的推送内容。
步骤4009、在手机没有接收到组播搜索消息的确认消息的情况下,则发起P2P发现请求。
本步骤的实施过程可以参见上述步骤202的介绍,此处不再赘述。
步骤4010、电视接收到P2P发现请求后,向手机返回电视的MAC信息和/或设备名称。
步骤4011、手机将接收到的电视的MAC信息和/或设备名称保存。
步骤4012、手机根据电视的MAC信息和/或设备名称,向电视发起P2P连接请求。
步骤4013、电视接收到P2P连接请求后,与手机协商确定客户端和服务端。
步骤4014、在电视是客户端,手机是服务端的情况下,电视向手机发送TCP连接请求。
具体的,在电视是客户端,手机是服务端的情况下,由手机创建一个服务器线程tcpserver,电视主动连接该tcpserver,然后手机接收来自电视的TCP连接请求。
步骤4015、手机接收到该TCP连接请求后,解析出电视的IP地址,并通过TCP方式将电视的IP地址和手机的IP地址返回给电视。
步骤4016、电视通过电视自身的IP地址初始化DLNA协议。
具体的,电视通过电视自身的IP地址初始化DLNA协议,是对后续手机和电视通过单播方式建立连接做准备。
步骤4017、手机向电视IP地址发送单播消息。
步骤4018、电视接收到单播消息后,返回描述文件地址信息给手机。
步骤4019、手机根据描述文件地址信息,向电视的描述文件地址发送描述文件获取请求。
步骤4020、电视接收到描述文件获取请求后,返回描述文件给手机。
步骤4021、手机接收到描述文件后,解析描述文件,得到电视的描述文件信息,并将电视的描述文件信息保存至设备列表。
其中,电视的描述文件信息至少包括UUID和DLNA设备类型。
步骤4022、手机根据接收到的推送内容的选择信息,选定对应的推送内容,并向电视发送DLNA推送链接。
步骤4023、电视接收到DLNA推送链接后,解析DLNA推送链接,并调用播放器播放推送内容。
在上述实施例的基础上,可选的,手机还可以是客户端,以及电视是服务端,则在手机是客户端,电视是服务端的情况下,电视和手机都知道电视的IP地址。电视获取电视自身的IP地址,并直接使用电视IP初始化DLNA协议,之后由手机直接向电视的IP地址发送单播消息,并执行上述步骤4018-4023。
图5为本申请实施例提供的投屏装置的结构示意图。该投屏装置具体可以是上述实施例中的终端设备。本申请实施例提供的投屏装置可以执行投屏方法实施例提供的处理流程,如图5所示,投屏装置50包括:第一发送模块51、第二发送模块52、获取模块53、连接模块54和推送模块55;其中,第一发送模块51,用于发送第一发现请求,所述第一发现请求采用DLNA通信协议;第二发送模块52,用于在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,所述第二发现请求采用端到端的通信协议;获取模块53,用于在通过所述第二发现请求发现所述目标设备的情况下,获取所述目标设备的IP地址;连接模块54,用于通过所述DLNA通信协议与所述IP地址对应的目标设备建立数据传输通道;推送模块55,用于通过所述数据传输通道向所述目标设备传输多媒体数据,以通过所述目标设备将所述多媒体数据进行显示和/或播放。
可选的,获取模块53在通过所述第二发现请求发现所述目标设备的情况下,获取所述目标设备的IP地址时,具体包括:接收所述第二发现请求的回复消息,所述回复消息包括发现的设备mac地址和/或设备名称;基于所述回复消息确定所述目标设备的mac地址和/或设备名称;根据所述目标设备的mac地址和/或设备名称,向所述目标设备发送P2P连接;在确定所述终端设备是服务端,且所述目标设备是客户端的情况下,接收所述目标设备发送的TCP连接请求,所述TCP连接请求携带有所述目标设备的IP地址;对所述TCP连接请求进行解析,得到所述目标设备的IP地址。
可选的,所述获取模块53还用于在确定所述终端设备是客户端,且所述目标设备是服务端的情况下,所述目标设备获取自身的IP地址。
可选的,连接模块54在通过DLNA通信协议与所述IP地址对应的目标设备建立数据传输通道时,具体包括:向所述IP地址对应的目标设备发送单播消息;接收所述目标设备返回的描述文件的地址信息;根据所述描述文件的地址信息,从与所述描述文件的地址信息对应的地址获取所述描述文件,所述描述文件包括所述目标设备的描述信息;根据所述描述信息,将所述目标设备保存至设备列表中。
可选的,所述第一发送模块51在发送第一发现请求时,具体包括:发送组播搜索消息;所述第二发送模块52在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求时,具体包括:在预设时间段内未接收到所述组播搜索消息的确认消息,发送第二发现请求。
可选的,所述第一发送模块51在发送第一发现请求时,具体包括:发送组播搜索消息;所述第二发送模块52在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求时,具体包括:在未接收到所述组播搜索消息的确认消息的情况下,再次发送所述第一发现请求;在未接收到所述组播搜索消息的确认消息的次数超过预设次数的情况下,发送第二发现请求。
可选的,第二发送模块52,还用于发送所述目标设备的IP地址至所述目标设备,以使所述目标设备根据所述目标设备的IP地址将所述DLNA通信协议进行初始化。
图5所示实施例的投屏装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请实施例提供的投屏设备的结构示意图。该投屏设备具体可以是上述实施例中的终端设备。本申请实施例提供的投屏设备可以执行投屏方法实施例提供的处理流程,如图6所示,投屏设备60包括:存储器61、处理器62、计算机程序和通讯接口63;其中,计算机程序存储在存储器61中,并被配置为由处理器62执行以下操作:发送第一发现请求,所述第一发现请求采用DLNA通信协议;在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,所述第二发现请求采用端到端的通信协议;在通过所述第二发现请求发现所述目标设备的情况下,获取所述目标设备的IP地址;通过所述DLNA通信协议与所述IP地址对应的目标设备建立数据传输通道;通过所述数据传输通道向所述目标设备传输多媒体数据,以通过所述目标设备将所述多媒体数据进行显示和/或播放。
可选的,所述处理器62在通过所述第二发现请求发现所述目标设备的情况下,获取所述目标设备的IP地址时,具体包括:接收所述第二发现请求的回复消息,所述回复消息包括发现的设备mac地址和/或设备名称;基于所述回复消息确定所述目标设备的mac地址和/或设备名称;根据所述目标设备的mac地址和/或设备名称,向所述目标设备发送P2P连接;在确定所述终端设备是服务端,且所述目标设备是客户端的情况下,接收所述目标设备发送的TCP连接请求,所述TCP连接请求携带有所述目标设备的IP地址;对所述TCP连接请求进行解析,得到所述目标设备的IP地址。
可选的,所述处理器62还用于:在确定所述终端设备是客户端,且所述目标设备是服务端的情况下,所述目标设备获取自身的IP地址。
可选的,所述处理器62通过所述DLNA通信协议与所述IP地址对应的目标设备建立数据传输通道,包括:向所述IP地址对应的目标设备发送单播消息;接收所述目标设备返回的描述文件的地址信息;根据所述描述文件的地址信息,从与所述描述文件的地址信息对应的地址获取所述描述文件,所述描述文件包括所述目标设备的描述信息;根据所述描述信息,将所述目标设备保存至设备列表中。
可选的,所述处理器62发送第一发现请求时,具体包括:发送组播搜索消息;可选的,所述处理器62在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求时,具体包括:在预设时间段内未接收到所述组播搜索消息的确认消息,发送第二发现请求。
可选的,所述处理器62在发送第一发现请求时,具体包括:发送组播搜索消息;所述处理器62在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求时,具体包括:在未接收到所述组播搜索消息的确认消息的情况下,再次发送所述第一发现请求;在未接收到所述组播搜索消息的确认消息的次数超过预设次数的情况下,发送第二发现请求。
可选的,所述处理器62还用于:发送所述目标设备的IP地址至所述目标设备,以使所述目标设备根据所述目标设备的IP地址将所述DLNA通信协议进行初始化。
图6所示实施例的投屏设备可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的投屏方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (9)
1.一种投屏方法,其特征在于,应用于终端设备,所述方法包括:
发送第一发现请求,所述第一发现请求采用DLNA通信协议;
在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,所述第二发现请求采用端到端的通信协议;
接收所述第二发现请求的回复消息,所述回复消息包括发现的设备mac地址和/或设备名称;
基于所述回复消息确定所述目标设备的mac地址和/或设备名称;
根据所述目标设备的mac地址和/或设备名称,向所述目标设备发送P2P连接;
在确定所述终端设备是服务端,且所述目标设备是客户端的情况下,接收所述目标设备发送的TCP连接请求,所述TCP连接请求携带有所述目标设备的IP地址;
对所述TCP连接请求进行解析,得到所述目标设备的IP地址;
通过所述DLNA通信协议与所述IP地址对应的目标设备建立数据传输通道;
通过所述数据传输通道向所述目标设备传输多媒体数据,以通过所述目标设备将所述多媒体数据进行显示和/或播放。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标设备的mac地址和/或设备名称,向所述目标设备发送P2P连接之后,所述方法还包括:
在确定所述终端设备是客户端,且所述目标设备是服务端的情况下,获取所述目标设备的IP地址。
3.根据权利要求1或2所述的方法,其特征在于,所述通过所述DLNA通信协议与所述IP地址对应的目标设备建立数据传输通道,包括:
向所述IP地址对应的目标设备发送单播消息;
接收所述目标设备返回的描述文件的地址信息;
根据所述描述文件的地址信息,从与所述描述文件的地址信息对应的地址获取所述描述文件,所述描述文件包括所述目标设备的描述信息;
根据所述描述信息,将所述目标设备保存至设备列表中。
4.根据权利要求3所述的方法,其特征在于,所述发送第一发现请求,包括:
发送组播搜索消息;
所述在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,包括:
在预设时间段内未接收到所述组播搜索消息的确认消息,发送第二发现请求。
5.根据权利要求3所述的方法,其特征在于,所述发送第一发现请求,包括:
发送组播搜索消息;
所述在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,包括:
在未接收到所述组播搜索消息的确认消息的情况下,再次发送所述第一发现请求;
在未接收到所述组播搜索消息的确认消息的次数超过预设次数的情况下,发送第二发现请求。
6.根据权利要求1或2所述的方法,其特征在于,所述得到所述目标设备的IP地址之后,所述方法还包括:
发送所述目标设备的IP地址至所述目标设备,以使所述目标设备根据所述目标设备的IP地址将所述DLNA通信协议进行初始化。
7.一种投屏装置,其特征在于,包括:
第一发送模块,用于发送第一发现请求,所述第一发现请求采用DLNA通信协议;
第二发送模块,用于在根据所述第一发现请求的响应结果确定未发现目标设备的情况下,发送第二发现请求,所述第二发现请求采用端到端的通信协议;
获取模块,用于接收所述第二发现请求的回复消息,所述回复消息包括发现的设备mac地址和/或设备名称;基于所述回复消息确定所述目标设备的mac地址和/或设备名称;根据所述目标设备的mac地址和/或设备名称,向所述目标设备发送P2P连接;在确定所述终端设备是服务端,且所述目标设备是客户端的情况下,接收所述目标设备发送的TCP连接请求,所述TCP连接请求携带有所述目标设备的IP地址;对所述TCP连接请求进行解析,得到所述目标设备的IP地址;
连接模块,用于通过所述DLNA通信协议与所述IP地址对应的目标设备建立数据传输通道;
推送模块,用于通过所述数据传输通道向所述目标设备传输多媒体数据,以通过所述目标设备将所述多媒体数据进行显示和/或播放。
8.一种投屏设备,其特征在于,包括:
存储器;
处理器;
通讯接口;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010199814.8A CN111427527B (zh) | 2020-03-20 | 2020-03-20 | 投屏方法、装置、设备及计算机可读存储介质 |
PCT/CN2021/081561 WO2021185318A1 (zh) | 2020-03-20 | 2021-03-18 | 多媒体设备及投屏播放方法 |
US17/804,257 US20220286731A1 (en) | 2020-03-20 | 2022-05-26 | Multimedia apparatus and cast method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010199814.8A CN111427527B (zh) | 2020-03-20 | 2020-03-20 | 投屏方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427527A CN111427527A (zh) | 2020-07-17 |
CN111427527B true CN111427527B (zh) | 2023-10-31 |
Family
ID=71548386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010199814.8A Active CN111427527B (zh) | 2020-03-20 | 2020-03-20 | 投屏方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427527B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114077409A (zh) * | 2020-08-05 | 2022-02-22 | 中兴通讯股份有限公司 | 投屏方法及装置、电子设备和计算机可读介质 |
CN111787377B (zh) * | 2020-08-19 | 2022-06-28 | 青岛海信传媒网络技术有限公司 | 显示设备及投屏方法 |
CN112261467B (zh) * | 2020-10-09 | 2022-11-15 | 深圳市锐尔觅移动通信有限公司 | 投屏内容展示方法、装置、电子设备和可读存储介质 |
CN112019915A (zh) * | 2020-10-26 | 2020-12-01 | 深圳乐播科技有限公司 | 分布式定向投屏方法、系统、设备及存储介质 |
CN114697147B (zh) * | 2020-12-29 | 2024-04-05 | 浙江宇视科技有限公司 | 一种设备搜索方法、装置、设备及存储介质 |
CN114286137A (zh) * | 2021-08-23 | 2022-04-05 | 海信视像科技股份有限公司 | 一种镜像投屏方法、显示设备及终端 |
CN113691790A (zh) * | 2021-08-10 | 2021-11-23 | 北京小米移动软件有限公司 | 多媒体数据处理方法及装置、电子设备及存储介质 |
CN113965787B (zh) * | 2021-10-19 | 2023-11-17 | 深圳创维-Rgb电子有限公司 | 画面共享方法、装置、显示终端以及存储介质 |
CN115665084B (zh) * | 2022-12-27 | 2023-04-07 | 武汉长光科技有限公司 | 一种投屏方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080016404A (ko) * | 2006-08-18 | 2008-02-21 | 한국전자통신연구원 | 무선통신 시스템에서의 IPv6 이웃탐색 지원 방법 |
CN103457966A (zh) * | 2012-05-29 | 2013-12-18 | 华为技术有限公司 | 基于dlna技术访问云存储设备的方法、设备及系统 |
CN105187387A (zh) * | 2015-08-07 | 2015-12-23 | 海信集团有限公司 | 一种服务发现方法及终端 |
CN109408015A (zh) * | 2018-09-30 | 2019-03-01 | 珠海市君天电子科技有限公司 | 一种多媒体文件处理方法、发送终端和显示终端 |
CN109451345A (zh) * | 2018-11-05 | 2019-03-08 | 四川长虹电器股份有限公司 | 一种Android智能电视上DLNA投屏权限管控的方法 |
CN109922205A (zh) * | 2018-11-29 | 2019-06-21 | 努比亚技术有限公司 | 投屏实现方法、移动终端及计算机可读存储介质 |
CN110383234A (zh) * | 2019-02-20 | 2019-10-25 | 深圳市鹰硕技术有限公司 | 一种投屏方法、装置和系统、智能终端和存储介质 |
CN110740363A (zh) * | 2019-10-25 | 2020-01-31 | 华为终端有限公司 | 投屏方法和系统、电子设备 |
CN110784758A (zh) * | 2019-08-22 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 投屏处理方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664054B2 (en) * | 2005-03-28 | 2010-02-16 | Microsoft Corporation | Neighbor location discovery with directional antennas in a mesh network |
-
2020
- 2020-03-20 CN CN202010199814.8A patent/CN111427527B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080016404A (ko) * | 2006-08-18 | 2008-02-21 | 한국전자통신연구원 | 무선통신 시스템에서의 IPv6 이웃탐색 지원 방법 |
CN103457966A (zh) * | 2012-05-29 | 2013-12-18 | 华为技术有限公司 | 基于dlna技术访问云存储设备的方法、设备及系统 |
CN105187387A (zh) * | 2015-08-07 | 2015-12-23 | 海信集团有限公司 | 一种服务发现方法及终端 |
CN109408015A (zh) * | 2018-09-30 | 2019-03-01 | 珠海市君天电子科技有限公司 | 一种多媒体文件处理方法、发送终端和显示终端 |
CN109451345A (zh) * | 2018-11-05 | 2019-03-08 | 四川长虹电器股份有限公司 | 一种Android智能电视上DLNA投屏权限管控的方法 |
CN109922205A (zh) * | 2018-11-29 | 2019-06-21 | 努比亚技术有限公司 | 投屏实现方法、移动终端及计算机可读存储介质 |
CN110383234A (zh) * | 2019-02-20 | 2019-10-25 | 深圳市鹰硕技术有限公司 | 一种投屏方法、装置和系统、智能终端和存储介质 |
CN110784758A (zh) * | 2019-08-22 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 投屏处理方法和装置 |
CN110740363A (zh) * | 2019-10-25 | 2020-01-31 | 华为终端有限公司 | 投屏方法和系统、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111427527A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427527B (zh) | 投屏方法、装置、设备及计算机可读存储介质 | |
US11070970B2 (en) | Apparatus and method for providing universal plug and play service based on Wi-Fi direct connection in portable terminal | |
US10701545B2 (en) | File sending method and terminal, and file receiving method and terminal | |
EP2680500B1 (en) | Application discovery | |
US8799485B2 (en) | Methods and apparatus for establishing network connections using an inter-mediating device | |
US9036517B2 (en) | Methods and apparatus for establishing a tunneled direct link setup (TDLS) session between devices in a wireless network | |
US20150181285A1 (en) | Media Playback Method, Control Point, and Terminal | |
US20050278646A1 (en) | Spontaneous discovery of remote service profiles | |
CN109995741B (zh) | 一种网络直播中连麦实现方法及系统 | |
US7433344B2 (en) | Mobile communication system and method for providing real time messenger service among mobile communication terminals | |
EP2209312A1 (en) | Video conference method and system, application server and media resource server | |
CN113206894B (zh) | Dns服务器的发现方法、装置、计算机设备及存储介质 | |
CN103856374A (zh) | 一种数据传输方法、终端及家庭互联系统 | |
KR100937681B1 (ko) | 사용자간 통신을 위한 통신 모듈 및 방법, 그러한 통신 모듈을 포함하는 서버, 그러한 서버를 포함하는 방송 세트, 그러한 사용자간 통신 방법을 수행하는 컴퓨터 프로그램 제품을 저장한 저장 매체 | |
US20220286731A1 (en) | Multimedia apparatus and cast method | |
CN112187486B (zh) | 智能设备之间的交互方法及智能设备 | |
US20040202123A1 (en) | Network management method for wireless transmission/reception of data streams, and network system and apparatus employing the same | |
CN101854332B (zh) | 流媒体业务的处理方法、装置及系统 | |
CN111954162B (zh) | 多设备间自主联网实现无线传屏的方法、传屏端和接收端 | |
CN115379279B (zh) | 多屏联动的交互方法及装置、系统、存储介质、电子设备 | |
US20190098351A1 (en) | Method for managing the access right to an item of digital content | |
KR20060066385A (ko) | 홈네트워크에서의 미디어 포맷 및 전송 프로토콜 변환장치 및 그 방법 | |
KR101329668B1 (ko) | 푸쉬 서버를 이용한 콘텐츠 공유 시스템 및 방법 | |
CN111901648B (zh) | 一种数据共享方法及相关装置 | |
CN106941732B (zh) | 重连接方法、系统及wfd设备 |
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 |