一种终端设备、显示设备及投屏连接方法
文献发布时间:2024-04-18 19:59:31
技术领域
本申请涉及投屏技术领域,尤其涉及一种终端设备、显示设备及投屏连接方法。
背景技术
用户在使用例如电脑、手机、平板等终端播放媒资数据时,因显示器、扬声器等硬件设备原因,其播放效果可能会稍逊于显示设备。因此,可以在终端与显示设备之间建立投屏连接,通过显示设备播放媒资数据。
终端在与显示设备建立连接时,通过终端中的浏览器的屏幕录制功能将终端的显示界面以及音频数据封装成视频流,并通过传输接口将视频流传输至显示设备。显示设备接收到视频流后,开始播放媒资数据。
但在终端与显示设备建立连接前,需要通过终端搜索显示设备以确认与哪个显示设备建立投屏连接。在通过局域网搜索显示设备时,因浏览器不支持显示设备发现协议,导致通过终端搜索同处于局域网内的显示设备困难。
发明内容
本申请提供一种终端设备、显示设备及投屏连接方法,以解决在通过局域网搜索显示设备时,因浏览器不支持显示设备发现协议,导致通过终端搜索同处于局域网内的显示设备困难的问题。
第一方面,本申请提供一种终端设备,包括:通信模块,被配置为连接目标网络,所述目标网络还与显示设备建立连接关系;处理器,被配置为:
响应于通过浏览器输入的显示设备搜索指令,控制发现服务在目标网络内搜索显示设备,所述发现服务为基于浏览器创建的应用程序,所述发现服务用于将所述目标网络中的设备信息组装为网页格式,以及向所述显示设备发送设备发现指令;
通过所述发现服务接收所述显示设备返回的设备信息,以及控制所述发现服务将所述设备信息组装为网页格式后发送至浏览器;
响应于通过所述浏览器输入的显示设备连接指令,控制所述终端设备与所述显示设备建立投屏连接。
第二方面,本申请提供一种显示设备,包括:显示器;通信器,被配置为连接目标网络,所述目标网络还与终端设备建立连接关系;控制器,被配置为:
通过所述目标网络接收发送设备发现指令;
响应于所述设备发现命令,基于设备发现协议向发现服务发送设备信息;所述发现服务为基于浏览器创建的应用程序,所述发现服务用于将所述目标网络中的设备信息组装为网页格式,以及向所述显示设备发送所述设备发现指令;
响应于所述终端设备发送的连接指令,控制所述显示设备与所述终端设备建立投屏连接。
第三方面,本申请提供一种投屏连接方法,应用于终端设备,所述方法包括:
响应于通过浏览器输入的显示设备搜索指令,控制发现服务在目标网络内搜索显示设备,所述发现服务为基于浏览器创建的应用程序,所述发现服务用于将所述目标网络中的设备信息组装为网页格式,以及向所述显示设备发送设备发现指令;
通过所述发现服务接收所述显示设备返回的设备信息,以及控制所述发现服务将所述设备信息组装为网页格式后发送至浏览器;
响应于通过所述浏览器输入的显示设备连接指令,控制所述终端设备与所述显示设备建立投屏连接。
由上述技术内容可知,本申请提供一种终端设备、显示设备及投屏连接方法。响应于通过浏览器输入的显示设备搜索指令,控制发现服务在目标网络内搜索显示设备。发现服务为基于httpservert和UDP创建的应用程序,用于接收本地浏览器发起的设备发现请求,并将目标网络中的设备信息组装为网页格式,返回给本地浏览器。通过发现服务的UDP通道接收显示设备返回的设备信息,控制发现服务将设备信息组装为网页格式后发送至本地浏览器。通过浏览器页面选择的显示设备组装投屏连接信息指令,控制终端设备与显示设备的httpServer及webSocketServer建立投屏连接。通过设置发现服务,并在终端的浏览器与显示设备之间建立httpServer及webSocketServer通信框架,缓解终端设备难以与显示设备建立投屏连接的问题。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的显示设备与控制装置操作场景的示意图;
图2为本申请实施例提供的显示设备的硬件配置示意图;
图3为本申请实施例提供的终端设备与显示设备投屏连接效果的示意图;
图4为本申请实施例提供的终端设备与显示设备投屏连接过程的示意图;
图5为本申请实施例提供的终端设备搜索显示设备操作的示意图;
图6为本申请实施例提供的发现服务、浏览器、显示设备通信时序图;
图7为本申请实施例提供的终端设备显示投屏连接状态的示意图;
图8为本申请实施例提供的终端设备显示投屏连接状态变化的示意图;
图9为本申请实施例提供的终端设备实现投屏连接步骤的示意图;
图10为本申请实施例提供的终端设备与显示设备双向通信示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请实施方式提供的显示设备可以具有多种实施形式,例如,可以是电视、激光投影设备、显示器(monitor)、电子白板(electronic bulletin board)、电子桌面(electronic table)等。
图1为根据实施例中显示设备与控制装置之间操作场景的示意图。如图1所示,用户可通过控制设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备200的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。
在一些实施例中,也可以使用控制设备300(如移动电话、平板电脑、计算机、笔记本电脑等)以控制显示设备200。例如,使用在控制设备300上运行的应用程序控制显示设备200。
在一些实施例中,显示设备200可以不使用上述的控制设备300或控制装置100接收指令,而是通过触摸或者手势等接收用户的控制。
在一些实施例中,显示设备200还可以采用除了控制装置100和控制设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制设备来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
如图2所示,显示设备200可以包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中,控制器250可以包括处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
显示器260可以包括以下组件,即:用于呈现画面的显示屏组件;驱动图像显示的驱动组件;用于接收源自控制器250输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面的组件等。
显示器260可为液晶显示器、OLED显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。
通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与外部控制设备100或服务器400建立控制信号和数据信号的发送和接收。
用户接口,可用于接收控制装置100(如:红外遥控器等)的控制信号。
检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
外部装置接口240可以包括但不限于如下:高清多媒体接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,控制器250包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM RandomAccess Memory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。
用户在使用例如电脑、平板、手机等终端设备500时,会通过终端设备500播放一些媒资数据。媒资数据包括视频数据以及音频数据,媒资数据的播放效果与终端设备500的硬件配置具有相关性。终端设备500的硬件配置越高,媒资数据的播放效果越好。但考虑到生产成本以及应用场景的因素,具有不同产品定位的终端设备500,其用于播放媒资数据的硬件配置不同。因此,用户在通过硬件配置水平较低的终端设备500播放媒资数据时,终端设备500所呈现的画质和音质都较低,从而影响用户的观看体验。
如图3所示,显示设备200作为用于播放媒资数据的播放设备,其用于播放媒资数据的硬件配置水平相比于终端设备500要高。因此用户在播放媒资数据时,可以通过在终端设备500与显示设备200之间建立投屏连接,将终端设备500中播放的媒资数据传输至显示设备200播放,以获得更好的观看体验。
显示设备200可以通过不同连接方式实现与终端设备500之间的投屏连接。例如,在显示设备200和终端设备500接入同一个无线局域网时,可以基于WiFi网络建立投屏连接。又例如,在显示设备200和终端设备500上均设有NFC(Near Field Communication,近场通信)组件时,可以通过NFC组件建立投屏连接关系。显然,显示设备200与终端设备500之间还可以采用其他有线或无线连接方式,从而建立投屏连接关系,例如红外连接、蜂窝网络以及本领域技术人员在上述实施例提供的连接方式基础上所能够联想到的其他连接方式。
在建立投屏连接后,显示设备200可以通过投屏数据通道接收终端设备500的相关数据,从而在显示设备200中播放相关内容。在不同的投屏数据传输协议下,显示设备200获取的投屏数据形式不同。例如,在DLNA(Digital Living Network Alliance,数字生活网络联盟)协议下,显示设备200可以通过投屏数据通道获取终端设备500中某一资源的链接地址,并通过访问该链接地址获取媒资内容数据,从而播放该媒资数据。同时显示设备200还可以在播放媒资数据时,通过投屏数据通道获取终端设备500发送的控制指令,如快进、暂停、停止投屏等。例如,通过通讯协议建立好连接后,手机等终端设备500与显示设备200会进行设备功能与网络条件的协商,以选择适合的影音传输格式。建立影音串流的联机协议(Session)后,再通过一连串的实时串流协议(RTSP)控制命令,以控制影音串流的播放及终止。
而在Miracast投屏、Airplay投屏、NFC镜像投屏、乐播投屏等其他投屏连接协议下,显示设备200可以直接从终端设备500获取视频数据流。该视频数据流可以是终端设备500的显示单元310最终显示画面对应的视频数据流,即该视频数据流中包括终端设备500中的媒资内容画面、UI界面以及其他可在显示单元310中显示的视频画面内容。视频数据流也可以仅为终端设备500中可被获取视频数据,如正在播放的媒资视频数据等。此时,终端设备500可以作为显示设备200的一个信号源,显示设备200可以通过投屏数据通道不断获取视频数据,并实时显示在显示器275中,实现与终端设备500同步显示的效果。
终端设备500根据不同的投屏协议能够获取不同的投屏数据。例如,对于系统应用或直接在系统层级进行投屏,终端设备500可以采用Miracast投屏、Airplay投屏或WiDi投屏协议建立投屏数据通道。
其中,Miracast投屏是由Wi-Fi联盟制定,以Wi-Fi直连为基础的无线显示标准。Miracast投屏可适用于Android设备,即Android设备可通过Miracast投屏的方式分享视频画面。通常,Android5.0以上的智能设备内置Miracast协议,因此可以在无需安装任何软件的情况下直接通过投屏设备与接收端设备WiFi网卡间的WiFiP2P功能进行直接无线投屏。此外,Miracast投屏还支持音视频同步传输。但是,由于Android设备太多太杂,Miracast不能完全兼容所有Android设备,并且基于Miracast的投屏没有投屏码功能,不能阻止恶意或者误投屏。
Airplay投屏是由苹果公司推出的一种无线播放技术,适用于iOS和Mac系统的无线投屏。苹果系列设备内置Airplay投屏功能,配合支持AirPlay server服务的投屏器使用,效果清晰稳定,协议自带投屏码功能。但是,需保证苹果设备与投屏器在同一个局域网下(同网段)使用,不能跨网段、跨VLAN使用。
WiDi投屏是Intel主导的一种无线播放技术,也基于WiFi Direct直连技术。Windows8/10笔记本电脑原生支持WiDi投屏,可以无需安装任何软件直接投屏,并且支持USB反向控制功能。
上述三种投屏协议不仅能够获取终端设备500中的视频数据流,而且能够获取终端设备500中的音频数据流,从而可以将视频数据和音频数据同步发送给显示设备200,使显示设备200能够同步播放视频和音频。由于上述Miracast投屏协议和Airplay投屏协议需要系统级应用权限,因此Miracast投屏协议和Airplay投屏协议通常仅适用于系统应用,或者同一厂商的显示设备200和终端设备500通过操作系统内置规则直接建立投屏连接。
其中,终端设备500基于WiFi网络与显示设备200建立投屏连接的前置条件之一是终端设备500与显示设备200连接相同的网络,其中所述网络可以为家庭场景内的局域网。终端设备500通过局域网与显示设备200建立投屏连接。终端设备500在向显示设备200传输数据时,通过终端设备500内的浏览器的屏幕录制功能,对终端设备500的显示界面以及音频数据进行录制封装,得到视频流。最后通过传输接口将视频流传输至显示设备200,由显示设备200播放媒资数据。
终端设备500与显示设备200建立投屏连接时,由终端设备500获取当前局域网内的显示设备200的设备信息。再通过终端设备500的浏览器的传输接口与显示设备200建立传输通道,以将终端设备500中的媒资数据传输至显示设备200播放,其中传输接口可以为websocket。但终端设备500的浏览器不支持局域网内的显示设备发现协议,因此在终端设备500与显示设备200之间建立投屏连接时,不易于在相同局域网内搜索到显示设备200,导致投屏连接建立困难。
鉴于上述问题,如图4所示,本申请部分实施例提供一种终端设备500,以解决因终端设备500的浏览器不支持局域网内的显示设备发现协议,导致投屏连接建立困难的问题。所述终端设备500包括:通信模块和处理器;其中,通信模块被配置为连接目标网络,目标网络还与显示设备建立连接关系。处理器则被配置为执行一种投屏连接方法,包括以下内容:
S100:响应于通过浏览器输入的显示设备搜索指令,控制发现服务在目标网络内搜索显示设备。
终端设备500、显示设备200所处的目标网络可以为局域网,因此通信模块可以是基于局域网连接协议的WiFi模块,终端设备500通过通信模块连入局域网,以与局域网内的其他终端进行通信、数据交换。
发现服务为基于浏览器创建的应用程序,发现服务用于将所述目标网络中的设备信息组装为网页格式,以及向所述显示设备发送设备发现指令。发现服务可以与浏览器之间进行通信,以进行数据传输,并可以与浏览器、显示设备200之间形成新的通信架构。发现服务可以基于显示设备发现协议,在例如局域网的目标网络中搜索到显示设备,并且将显示设备的设备信息发送至浏览器,以便于终端设备500与显示设备200建立投屏连接并将媒资数据传输至显示设备200。例如,发现服务可以是基于http-server(网页服务器)创建的。
在一些实施例中,用户通过浏览器输入显示设备搜索指令,处理器250控制发现服务在局域网内搜索显示设备200。局域网内收到相关搜索指令的显示设备200会向发现服务返回设备信息,以回应发现服务,以便于投屏连接的建立。为了使发现服务能够接收到设备信息,此时设备信息的格式为符合发现服务与显示设备200之间的通信协议的格式,发现服务将设备信息打包成符合浏览器解析的格式,并由浏览器根据设备信息向目标显示设备200发送视频流,以实现投屏操作。
在发现服务、浏览器与显示设备200通信的过程中,因通信双方不同,基于的通信协议不同,进而导致数据格式不同。而发现服务可用于设备信息的组装,即在收到显示设备200返回的设备信息后,将设备信息打包/组装为例如html(Hyper Text Markup Language,超文本标记语言)格式的数据,以便于浏览器可以从发现服务获取目标显示设备200的设备信息,以便于将视频流传输至目标显示设备200。
可以理解的是,在浏览器不具备发现显示设备功能的基础上,发现服务可以基于显示设备发现协议搜索显示设备200,以在浏览器与显示设备200之间形成连接中介,为浏览器与显示设备200建立投屏连接提供基础。发现服务的数据打包能力,也可以省去对浏览器的开发时间,通过发现服务将设备信息打包成浏览器易于解析的数据格式,有利于浏览器快速解析设备信息,提高投屏连接效率。
如图5所示,显示设备搜索指令可以是用户在终端设备500的浏览器中输入的一段网址信息。处理器250可以先启动所述发现服务。检测到用于搜索显示设备的网址信息输入至浏览器后,获取用户通过所述浏览器输入的服务网址,其中,所述服务网址为所述发现服务的调用地址。再根据所述服务网址,控制所述发现服务与所述浏览器建立调用关系。并响应于所述显示设备搜索指令,调用所述发现服务在所述目标网络内搜索显示设备。
例如,发现服务可以在终端设备500启动后自行在后台运行,以时刻对浏览器保持监听。用户通过浏览器输入网址:http://127.x.x.1:8083/devicesearch.html。监听到网址信息,发现服务启动显示设备搜索功能,即向局域网中发送显示设备发现指令。
在一些实施例中,发现服务可以在浏览器启动后,与浏览器同步启动,并在浏览器运行器件对浏览器进行监听。用户通过浏览器输入网址后,触发于网址信息,发现服务启动显示设备搜索功能,即向局域网中发送显示设备发现指令。
在用户通过浏览器输入搜索显示设备200的网址信息后,使发现服务与浏览器之间建立调用关系。可以理解的是,发现服务搜索显示设备的功能可以由发现服务主动监听到网址信息触发,也可以由浏览器接收到网址信息后,调用发现服务启动显示设备搜索功能触发。触发网址的触发规则可以预先设置在浏览器、发现服务中以便于根据用户输入的指令准确执行相关动作。
其中,用户可以通过显示设备200提供的用于建立投屏连接的网址信息在终端中输入所述网址信息。在一些实施例中,用户在显示设备200中输入触发投屏连接的启动指令。显示设备200会在显示界面上呈现例如http://127.x.x.1:8083/devicesearch.html的网址信息。用户将所述网址信息输入至终端设备500的浏览器中,浏览器调用发现服务在当前局域网内搜索显示设备。
发现服务可以具有解析网址信息的能力,网址信息中可以包含提供网址信息的显示设备的设备信息,例如设备名称、设备ip等。因此发现服务可以在局域网内直接搜索到提供网址信息的显示设备200,并将所述显示设备200返回的设备信息组装为html格式发送至浏览器以进行投屏连接。可以理解的是,在发现服务搜索指定显示设备200的过程中,也可以对其他显示设备200进行搜索,并将多组设备信息组装为html格式发送至浏览器,以供用户选择。
发现服务的启动时刻可以根据终端设备500的内存情况进行调整。在终端设备500的内存充裕的情况下,可以将发现服务的启动时刻设置为随终端设备500启动而启动。以在需要建立投屏连接时获得更快的响应速度,提高投屏连接的建立效率。在终端设备500的内存较为紧张时,可以将发现服务的启动时刻设置为随浏览器启动而启动,可以适当节省内存以缓解终端设备500的运行压力。
此外,在发现服务设置为随终端设备500启动而启动时,可能因系统运行原因导致发现服务未能启动。在后续需要建立投屏连接,启动浏览器时,发现服务可以随浏览器的启动而启动。通过对发现服务的启动时刻进行设置,可以提高投屏连接的稳定性,以及投屏连接的效率。
在一些实施例中,为了能够发现显示设备200,如图6所示,处理器250执行调用所述发现服务在目标网络内搜索显示设备,被配置为:
控制所述发现服务基于设备发现协议向所述目标网络的广播地址,和/或,组播地址发送设备发现指令。
其中,设备发现协议为基于投屏连接的设备发现协议;所述设备发现指令用于使所述显示设备返回设备信息。例如,设备发现协议可以是UDP(User Datagram Protocol,用户数据报协议),UDP是基于IP(Internet Protocol,互联网协议)的简单协议,可以用于发现服务与显示设备200之间的通信。
在一些实施例中,发现服务向终端设备500所在的局域网内的广播地址、组播地址发送显示设备发现指令。显示设备200获取发现指令后,触发设置在显示设备200中存储的触发规则,并向发现服务返回设备信息。
局域网的广播地址是基于局域网定义的保留地址,而组播地址是基于局域网定义的临时地址。广播地址和组播地址接收的信息均可以被当前局域网内的显示设备200接收。设备发现指令可以用于触发显示设备200的交互响应规则,以使得显示设备200向发现服务返回其设备信息,以与终端设备500建立投屏连接。显示设备200从局域网的广播地址/组播地址中接收到设备发现指令后,根据设备发现指令向发出设备发现指令的发现服务返回设备信息,以提供用于建立投屏连接的设备名称、设备ip。
通过支持设备发现协议的发现服务可以在局域网内获取显示设备200的设备信息,为终端设备500与显示设备200的连接提供基础,以解决因浏览器不支持例如UDP的设备发现协议导致建立投屏连接困难的问题。
S200:通过所述发现服务接收所述显示设备返回的设备信息,以及控制所述发现服务将所述设备信息组装为网页格式后发送至浏览器。
如图6所示,设备信息由显示设备200返回,发现服务将接收到的设备信息打包成网页格式,例如html格式发送至浏览器。在一些实施例中,显示设备200基于UDP协议与发现服务进行通信,并将设备信息按照UDP协议的数据格式发送至发现服务。发现服务解析UDP数据格式的设备信息后,再将设备信息组装为html格式,并发送至浏览器。
基于UDP协议的设备信息数据不易于被浏览器解析,因此通过发现服务解析设备信息数据,并组装为浏览器易于解析的html格式数据,可以便于浏览器获取设备信息,并建立投屏连接将视频流传输至目标显示设备200。
设备信息可以为一组或多组,因此浏览器在接收到设备信息后可以在显示界面上显示显示设备200的相关信息以便于用户选择。如图7所示,所述处理器250通过所述发现服务接收所述显示设备返回的设备信息,以及控制所述发现服务将所述设备信息组装为网页格式后发送至浏览器,被配置为:
通过所述发现服务接收所述显示设备返回的设备信息;
控制所述发现服务按照网页格式,将所述设备信息组装为页面格式;
将网页格式的设备信息发送至所述浏览器,以及控制所述浏览器显示信息界面;所述信息界面包括至少一个显示设备的设备名称、设备ip、功能选项控件以及投屏状态控件。
如图7所示,在一些实施例中,浏览器从发现服务接收到设备信息,并解析设备信息得到至少一组设备信息的内容。浏览器可以在显示信息界面上显示每组设备名称与设备ip。例如:
设备名称1:客厅电视;IP:192.168.××.101。连接电视;断开连接。
设备名称2:卧室电视:IP:192.168.××.102。连接电视;断开连接。
设备名称3:书房电视:IP:192.168.××.103。连接电视;断开连接。
用户选择设备名称1,即客厅电视对应的连接电视后,浏览器通过传输接口将视频流发送至客厅电视,以与客厅电视建立投屏连接,通过客厅电视播放媒资数据。
设备信息用于区分显示设备200,所述设备信息包括设备名称、设备ip。设备名称由用户在显示设备中进行定义,例如客厅电视、卧室电视、书房电视。通过设备名称,用户可以明确了解目标显示设备是其中的哪个,并根据需求选择需要的电视建立投屏连接。设备ip用于发现服务、浏览器对显示设备200的识别,通过向具有不同设备ip的显示设备传输视频流,即相当于与不同的显示设备建立投屏连接。不同的显示设备在局域网中的ip地址不同,因此利用基于设备ip传输视频流,可以降低误传的概率。
其中,设备名称与设备ip是对应的,因此在用户选择一个设备名称时,也选择了目标显示设备的设备ip。将设备信息显示在信息界面上有利于提高投屏连接的准确性,并且可以使用户直观的观察到与哪个或哪些显示设备200进行了投屏连接。
可以理解的是,终端设备500不仅可以与1个显示设备200建立投屏连接,也可以与多个显示设备200同时建立投屏连接,通过多个显示设备200共同播放终端设备500中的媒资数据,以使得位于不同房间的用户可以共同观看同一个媒资数据。
在一些实施例中,设备信息在浏览器的信息显示界面中还可以根据投屏连接的历史次数进行排序。将连接次数较多的显示设备200的设备信息置于较为明显的位置,以更贴合于用户的使用需求。
可以理解的是,“连接电视”、“断开连接”均可以以控件的形式在信息显示界面上显示。用户通过触发这些控件,可以使终端设备500执行对应的功能。此外,为了更清楚的反映终端设备500与显示设备200之间的连接状态,还可以在信息显示界面上设置状态显示控件,以提示用户当前终端设备500与显示设备200的连接状态。
S300:响应于通过所述浏览器输入的显示设备连接指令,控制所述终端设备500与所述显示设备建立投屏连接。
用户通过浏览器点选显示设备对应的连接控件后,处理器即可控制终端设备500与显示设备200建立投屏连接。投屏连接建立后,浏览器的信息显示界面会适应性的产生变化、投屏连接状态下的相关功能也会启动。例如,投屏状态控件会从断开状态切换至连接状态;浏览器开始通过录制功能录制终端设备500的显示界面以及音频,并封装成视频流。
如图8所示,所述处理器还被配置为:
在检测到所述终端设备500与所述显示设备建立投屏连接时,将所述投屏状态控件从断开状态切换至连接状态;
刷新所述信息界面,刷新后的所述信息界面中包括处于连接状态的所述投屏状态控件。
投屏状态控件可以是指示灯控件,也可以是用ON/OFF开关表示连接与断开状态的控件,可以是通过文字与图形结合设置的控件,充分区分连接状态与区分状态即可,在此不做限定。但在投屏状态控件进行状态切换时,需要增加投屏状态控件状态切换的可观察程度,例如可以通过指示灯控件执行红绿颜色转换、开关由ON侧转向OFF侧等具有明显变化的行为表示投屏状态的切换。也可以附加动画、音频提示,以告知用户投屏状态的变化。
在一些实施例中,用户触发客厅电视的连接控件,以在终端设备500与客厅电视之间建立投屏连接。处理器检测到投屏连接建立后,刷新浏览器的信息显示界面,以将投屏状态控件从断开状态更新为连接状态。
投屏状态控件在处理器的作用下,可以随投屏连接的结果进行切换。可以理解的是,当投屏连接断开后,处理器可以控制投屏状态控件从连接状态切换至断开状态。浏览器的信息显示界面也可以设置为每隔一段时间,自动刷新以及时更新投屏状态控件,提示用户投屏连接状态的变化。
投屏状态控件的设置有利于用户对投屏连接状态的观察,同时通过语音、动画等形式辅助提醒用户投屏连接状态的变化,有利于改善使用过程中的使用体验。
为了实现投屏功能,如图9所示,所述处理器执行控制所述终端设备500与所述显示设备建立投屏连接,还被配置为:
调用所述浏览器中的录制应用;
通过所述录制应用,录制所述终端设备500的显示画面以及音频数据,以生成视频流;
将所述视频流发送至显示设备,以在所述显示设备上显示所述终端设备500的显示画面,以及播放所述终端设备500的音频数据。
浏览器的录制应用可以是集成于浏览器中的功能插件。浏览器可以调用录制应用对终端设备500的显示画面以及音频数据进行录制,并封装成视频流。显示设备200接收视频流后可以解析视频流,并进行播放。
例如,用户在终端设备500与显示设备200建立投屏连接后,启动了“动漫天下”应用,并开始观看动漫A的片头内容。从用户启动“动漫天下”应用开始,浏览器的录制功能已经开启,并将用户在终端设备500的界面上的操作录制下来。在动漫A的片头内容在终端上开始播放时,录制功能还兼具录制动漫A的音频数据。浏览器将录制终端设备500的显示界面的数据与动漫A的音频数据进行封装,得到视频流。显示设备200从终端设备500处收到视频流,并解析播放。
需要说明的是,在封装视频流时,终端设备500的显示画面以及音频数据的帧与帧之间均是对齐的,因此可以在显示设备200中播放的视频流具有音画同步的效果,不会影响用户的使用体验。
在一些实施例中,在建立投屏连接关系以后,终端设备500同时也可以接收来自于显示设备200的回传数据。如图10所示,所述处理器还被配置为:
接收所述显示设备发送的网址信息,控制所述浏览器加载所述网址信息关联的网页;
基于所述网页生成视频流;
将所述视频流发送至显示设备,以在显示设备上显示所述网页的网页界面。
例如电脑、平板、手机等终端,其运算能力会高于显示设备。对于用户指令的响应速度更快、对于资源的解析、调用的速度也会更快。因此,投屏连接可以作为数据传输的中介,可使得终端设备500接收显示设备200回传的数据,并根据回传数据执行相关操作。
显示设备200回传的数据基于用户对显示设备200的内置资源进行的一些操作,例如对于内置网页的调用。在一些实施例中,显示设备200的内置网页可能包括一些影片资源,显示设备200难以迅速加载影片资源,导致用户等待时间过长。当终端设备500与显示设备200建立投屏连接后,显示设备200将内置网页的网址信息回传至终端设备500,终端设备500控制浏览器加载网址信息,并可快速的通过投屏连接功能将显示界面传输至显示设备200显示。用户可以通过对终端设备500上的显示界面进行操作,以选择影片资源,也可以通过对显示设备200上的显示界面进行操作,以选择影片资源。
将需要高算力支撑,才容易保持运算速度进而不会影响用户体验的部分操作请求回传至终端设备500,可以提高所述请求的执行速度。以终端设备500与显示设备200通过投屏连接互联的形式,借助终端设备500执行解析、加载等高算力步骤,借助显示设备200的播放硬件进行播放,既可以减少调用显示设备200内置资源的等待时间,又可以提高内置资源的播放效果。
基于上述实施例提供的终端设备500,本申请部分实施例中还提供一种显示设备200,所述显示设备200包括:显示器260;通信器220;控制器250。其中,通信器220被配置为连接目标网络,所述目标网络还于终端设备500建立连接关系。
控制器250被配置为:
通过所述目标网络接收发送设备发现指令;
响应于所述设备发现命令,基于设备发现协议向发现服务发送设备信息;所述发现服务为基于浏览器创建的应用程序,所述发现服务用于将所述目标网络中的设备信息组装为网页格式,以及向所述显示设备发送所述设备发现指令;
响应于所述终端设备500发送的连接指令,控制所述显示设备与所述终端设备500建立投屏连接。
在一些实施例中,显示设备200在局域网内接收到设备发现指令。根据设备发现指令,向发送设备发现指令的发现服务返回设备信息。在接收到终端设备500发送的连接指令后,与终端设备500建立投屏连接。并通过显示器260显示由终端设备500发送的视频流。
显示设备200通过接收局域网中广播地址/组播地址的设备发现指令,设备发现指令可以触发显示设备200内置的投屏连接规则,进而向发现服务返回设备信息以便于建立投屏连接。通过显示设备200与发现服务的通信,使得终端设备500可以在局域网内搜索到显示设备200并建立投屏连接,以解决因终端设备500的浏览器不支持显示设备发现协议,导致的投屏连接建立困难的问题。
如图10所示,显示设备200与终端设备500之间建立投屏连接后,通过与浏览器之间的数据传输通道,显示设备200与终端设备500之间可以进行数据的双向通信。所述控制器250还被配置为:
接收用户输入的网页加载指令,所述网页加载指令中包括待加载网页的网址信息,所述网址信息关联有至少一个网页;
响应于输入的网页加载指令,将待加载网页的网址信息发送至所述终端设备500;
接收所述终端设备500发送的视频流数据,控制所述显示器显示所述视频流数据,所述视频流数据中包括终端设备500的显示画面;所述显示画面中包括所述网页的网页界面。
用户可以通过语音、遥控器、触控板、手势等多种输入方式触发显示设备的内置网页选择页面,并在选择页面上输入网页加载指令。多种输入方式可以丰富用户在使用过程中的体验感。显示设备200接收网页加载指令后,对网页进行加载并播放相关内容。
由于部分显示设备200的运算能力同比与终端设备500会差一些,因此在调用、加载显示设备的内置资源时,可能会出现加载速度较慢,导致用户等待时间过长,影响用户使用体验。在一些实施例中,用户调用显示设备200的内置资源网页,显示设备200通过传输接口将资源网页的网址信息发送至终端设备500,终端设备500收到网址信息后对网址信息进行解析,并加载网址信息对应的内容,再由浏览器打包成视频流传输至显示设备200,由显示设备200显示相关内容。
通过将网址信息传输至终端设备500解析,利用终端设备500较强的运算能力,加载得到网址信息对应的网页内容。可以提高加载速度,减少用户在加载内置网址资源时的等待时间,进而提升用户的使用体验。通过浏览器对终端设备500的显示界面,即加载网址信息得到的显示界面封装,得到视频流,并将视频流回传至显示设备200,仍可以在显示设备200上显示内置网址信息对应的相关内容。
本申请的部分实施例中还提供一种投屏连接方法,应用于终端设备,所述方法包括:
响应于通过浏览器输入的显示设备搜索指令,控制发现服务在目标网络内搜索显示设备,所述发现服务为基于浏览器创建的应用程序,所述发现服务用于将所述目标网络中的设备信息组装为网页格式,以及向所述显示设备发送设备发现指令;
通过所述发现服务接收所述显示设备返回的设备信息,以及控制所述发现服务将所述设备信息组装为网页格式后发送至浏览器;
响应于通过所述浏览器输入的显示设备连接指令,控制所述终端设备与所述显示设备建立投屏连接。
由以上技术方案可知,本申请提供一种终端设备、显示设备及投屏连接方法。响应于通过浏览器输入的显示设备搜索指令,控制发现服务在目标网络内搜索显示设备。发现服务为基于httpservert和UDP创建的应用程序,用于接收本地浏览器发起的设备发现请求,并将目标网络中的设备信息组装为网页格式,返回给本地浏览器。通过发现服务的UDP通道接收显示设备返回的设备信息,控制发现服务将设备信息组装为网页格式后发送至本地浏览器。通过浏览器页面选择的显示设备组装投屏连接信息指令,控制终端设备与显示设备的httpServer及webSocketServer建立投屏连接。通过设置发现服务,并在终端的浏览器与显示设备之间建立httpServer及webSocketServer通信框架,缓解终端设备难以与显示设备建立投屏连接的问题。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品可以存储在计算机可读存储介质中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释本公开内容,从而使得本领域技术人员更好的使用所述实施方式。
- 具备可拆卸式防护结构的智能POS机
- 具备安全防护功能的电路结构和POS机