CN114286137A - 一种镜像投屏方法、显示设备及终端 - Google Patents
一种镜像投屏方法、显示设备及终端 Download PDFInfo
- Publication number
- CN114286137A CN114286137A CN202110969847.0A CN202110969847A CN114286137A CN 114286137 A CN114286137 A CN 114286137A CN 202110969847 A CN202110969847 A CN 202110969847A CN 114286137 A CN114286137 A CN 114286137A
- Authority
- CN
- China
- Prior art keywords
- display
- terminal
- screen
- video stream
- stream data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000006870 function Effects 0.000 claims description 19
- 238000005516 engineering process Methods 0.000 abstract description 12
- 239000010410 layer Substances 0.000 description 23
- 238000004891 communication Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
本申请公开了在上述实施例中,一种播镜像投屏方法、显示设备及终端,本申请一些实施例可以利用UPNP协议实现不同***的终端使用同一投屏技术完成投屏操作。该方法包括:显示设备开机,启动DMR功能,创建设备服务能力,加入UPNP协议的组播组,以使终端根据所述组播组,确定上线设备,控制显示界面上显示所述上线设备的屏幕镜像控件,并在终端接收到选中上线设备对应的屏幕镜像控件的指令时,发送实时录屏得到的视频流数据;显示设备接收所述视频流数据,并解码播放。
Description
技术领域
本申请涉及镜像投屏的技术领域,尤其涉及一种播镜像投屏方法、显示设备及终端。
背景技术
显示设备作为大屏设备,可以为用户提供更好的观看体验。相关技术中,用户可以将手机上的内容投屏到显示设备上,这样在显示设备上观看手机上的内容,使观看到的图像更加清晰。但是投屏技术对***的依赖性很强,不同***的终端需要使用不同的投屏技术,才能和显示设备实现镜像投屏,无法做到多种***使用同一投屏技术完成镜像投屏操作。
发明内容
本申请一些实施例提供一种播镜像投屏方法、显示设备及终端,可以实现不同***的终端使用同一投屏技术完成投屏操作。
第一方面,提供一种显示设备,包括:
显示器,用于显示用户界面;
用户接口,用于接收输入信号;
分别与显示器和用户接口连接的控制器,用于执行:
显示设备开机,启动DMR功能,创建设备服务能力,加入UPNP协议的组播组,以使终端根据所述组播组,确定上线设备,控制显示界面上显示所述上线设备的屏幕镜像控件,并在终端接收到选中上线设备对应的屏幕镜像控件的指令时,发送实时录屏得到的视频流数据;显示设备接收所述视频流数据,并解码播放。
在一些实施例中,所述控制器,还用于执行:在加入所述组播组之后,发送上线消息。
在一些实施例中,所述控制器,还用于执行:接收终端发送到所述组播组的查找信息;
根据所述查找信息,确定显示设备是否具备DMR能力;
如果所述显示设备具备DMR能力,发送查找成功消息到终端。
在一些实施例中,所述控制器,还用于执行:
接收终端发送的推送消息,解析所述推送消息,得到缓存地址,发送获取视频请求到终端,所述获取视频请求包括所述缓存地址。
第二方面提供一种终端,用于执行:
终端开机,启动DMC和DMS功能,加入UPNP协议的组播组,通过所述组播组,确定上线设备,控制显示界面上显示所述上线设备的屏幕镜像控件;接收到选中屏幕镜像控件的指令,发送实时录屏得到的视频流数据。
在一些实施例中,所述终端被配置为按照下述步骤执行通过所述组播组,确定上线设备:
接收到显示设备的上线消息,解析显示设备的设备服务能力;
如果显示设备具备DMR能力,确定所述显示设备为上线设备。
在一些实施例中,所述终端被配置为按照下述步骤执行通过所述组播组,确定上线设备:
接收搜索显示设备的操作,发送查找信息到组播组,以接收显示设备根据所述查找信息,发送的查找成功消息接收所述查找成功的消息,确定所述显示设备为上线设备。
在一些实施例中,所述终端被配置为按照下述步骤执行接收到选中屏幕镜像控件的指令,发送实时录屏得到的视频流数据:
接收选中屏幕镜像控件的指令,发送推送消息到显示设备,其中所述推送消息包括缓存地址;
接收获取视频请求,开始录屏得到视频流数据,并将所述视频流数据存储在缓存地址对应的缓存中。
读取所述缓存中的视频流数据,并发送到显示设备。
第三方面,提供一种镜像投屏方法,应用于显示设备,包括:
显示设备开机,启动DMR功能,创建设备服务能力,加入UPNP协议的组播组,以使终端根据所述组播组,确定上线设备,控制显示界面上显示所述上线设备的屏幕镜像控件,并在终端接收到选中上线设备对应的屏幕镜像控件的指令时,发送实时录屏得到的视频流数据;显示设备接收所述视频流数据,并解码播放。
第四方面,提供一种镜像投屏方法,应用于终端,包括:
终端开机,启动DMC和DMS功能,加入UPNP协议的组播组,通过所述组播组,确定上线设备,控制显示界面上显示所述上线设备的屏幕镜像控件;接收到选中屏幕镜像控件的指令,发送实时录屏得到的视频流数据。
在上述实施例中,一种播镜像投屏方法、显示设备及终端,本申请一些实施例可以利用UPNP协议实现不同***的终端使用同一投屏技术完成投屏操作。该方法包括:显示设备开机,启动DMR功能,创建设备服务能力,加入UPNP协议的组播组,以使终端根据所述组播组,确定上线设备,控制显示界面上显示所述上线设备的屏幕镜像控件,并在终端接收到选中上线设备对应的屏幕镜像控件的指令时,发送实时录屏得到的视频流数据;显示设备接收所述视频流数据,并解码播放。
附图说明
图1示出了根据一些实施例的显示设备的使用场景;
图2示出了根据一些实施例的控制装置100的硬件配置框图;
图3中示例性示出了根据一些实施例的一种播放数据的方法的流程图;
图4中示例性示出了根据一些实施例的用户界面示意图;
图5中示例性示出了根据一些实施例的一种播镜像投屏方法的流程图;
图6中示例性示出了根据又一些实施例的一种播镜像投屏方法流程图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语″第一″、″第二″、″第三″等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语″模块″是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
图1为根据实施例中显示设备与控制装置之间操作场景的示意图。如图1所示,用户可通过智能设备300或控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。
在一些实施例中,也可以使用智能设备300(如移动终端、平板电脑、计算机、笔记本电脑等)以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制设备来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
图3示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中控制器包括处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控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便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。
在一些实施例中控制器包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAMRandom AccessMemory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。
CPU处理器。用于执行存储在存储器中操作***和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。CPU处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。
在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理,得到可以在扬声器中播放的声音信号。
在一些实施例中,用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,″用户界面″,是应用程序或操作***与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
在一些实施例中,显示设备的***可以包括内核(Kernel)、命令解析器(shell)、文件***和应用程序。内核、shell和文件***一起组成了基本的操作***结构,它们让用户可以管理文件、运行程序并使用***。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
参见图4,在一些实施例中,将***分为四层,从上至下分别为应用程序(Applications)层(简称″应用层″),应用程序框架(Application Framework)层(简称″框架层″),安卓运行时(Android runtime)和***库层(简称″***运行库层″),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作***自带的窗口(Window)程序、***设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。
框架层为应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问***中的资源和取得***的服务。
如图4所示,本申请实施例中应用程序框架层包括管理器(Managers),内容提供者(Content Provider)等,其中管理器包括以下模块中的至少一个:活动管理器(ActivityManager)用与和***中正在运行的所有活动进行交互;位置管理器(Location Manager)用于给***服务或应用提供了***位置服务的访问;文件包管理器(Package Manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(NotificationManager)用于控制通知消息的显示和清除;窗口管理器(Window Manager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出、打开、后退等。窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,***运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作***会运行***运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
显示设备作为大屏设备,可以为用户提供更好的观看体验。相关技术中,用户可以将手机上的内容投屏到显示设备上,这样在显示设备上观看手机上的内容,使观看到的图像更加清晰。但是投屏技术对***的依赖性很强,不同***的终端需要使用不同的投屏技术,才能和显示设备实现镜像投屏,无法做到多种***使用同一投屏技术完成镜像投屏操作。示例性的,***类型为安卓的手机使用miracast技术完成镜像投屏,***类型为IOS的手机使用airplay技术完成镜像投屏。
在详细介绍本申请实施例提供的一种镜像投屏方法之前,首先介绍UPNP协议(通用即插即用,Universal Plug and Play),DLNA(DIGITAL LIVING NETWORKALLIANCE,数字生活网络联盟)技术基础是UPNP协议(通用即插即用,Universal Plug and Play),UPNP协议的工作流程,下面对其进行简单介绍:步骤1:首先是寻址,寻址指示设备获取网络地址。步骤2:执行设备发现过程,该过程是控制点(UPNP设备的一种设备类型)寻找整个网络上的设备设备,同时设备也要提示自身的存在,发现过程可以得到设备一些信息,例如,设备类型,设备的全球唯一标识符和设备描述的地址。步骤3:执行描述过程,获取描述文件中的详细信息,在此步骤中可以了解该设备的详细能力。步骤4:执行控制步骤,比如可以发送推送信息,以及对推送信息的响应等。步骤5:执行事件,事件类似于观察者模式,设备有任何的状态变化都通知观察者。步骤6:展示步骤,展示作为控制步骤和事件的补充,可以看到设备的信息和状态。
在整个过程中,不同设备充当的角色不同,实现的功能不同。UPNP设备分别为DMR(Digital Media Renderer)、DMS(Digital Media Server)和DMC(Digital MediaControlPoint)角色。DMR设备可以支持媒体播放和控制,DMS设备可以支持提供媒体获取、记录、存储和输出的功能,DMC设备可以控制UPNP设备。根据角色定义和整个工作流程,UPNP协议可以实现媒体推送功能,媒体推送指的是DMC在发现DMR设备后,将DMC端的媒体资源推送到DMR端,需要说明的是该媒体资源并非屏幕镜像投屏的内容,DMR从DMS端获取到媒体文件流进行播放,DMC可以控制DMR端媒体的播放,同时DMR端媒体播放状态可以回传给DMC端。
例如,常用的功能是电视端充当DMR,手机端充当DMC和DMS角色,手机先发现电视,然后将手机中的媒体资源推送到电视端进行展示。
下面详细介绍本申请实施例的一种镜像投屏方法,可以实现基于UPNP协议进行实时视频流传输的镜像投屏,并且不限制使用该方法的终端***类型,如图5所示,包括:
S100、终端开机,启动DMC和DMS功能,加入UPNP协议的组播组。S200、通过所述组播组,确定上线设备。S300、控制显示界面上显示所述上线设备的屏幕镜像控件。本申请实施例中,所述终端充当DMC和DMS角色,启动DMC和DMS功能。
显示设备开机,启动DMR功能,创建设备服务能力,加入UPNP协议的组播组。本申请实施例中,所述显示设备充当DMR角色,启动DMR功能。所述创建设备服务能力是指创建DMR服务能力。
示例性的,UPNP协议的组播组地址可以为239.255.255.250。本申请实施例,终端可以选择需要镜像投屏的设备,即上线设备。
本申请实施例中,通过自动或者手动的方式,确定上线设备。
首先介绍通过自动方式,确定上线设备。
一些实施例中,显示设备在加入组播组之后,发送上线消息。
终端接收到显示设备的上线消息,解析显示设备的设备服务能力;
如果显示设备具备DMR能力,确定所述显示设备为上线设备。
一些实施例中,所述上线消息包括显示设备的本地网络地址。终端根据显示设备的本地网络地址,确定显示设备的本地网络地址对应的设备为上线设备。
本申请实施例中,显示设备具备DMR能力时,才可以和终端实现镜像投屏。在该实施例中,当接收到显示设备的上线消息,显示设备作为可以与终端待镜像投屏的上线设备。
下面介绍通过手动方式,确定上线设备。
一些实施例中,终端接收搜索显示设备的操作,发送查找信息到组播组。
所述显示设备接收终端发送到所述组播组的查找信息;根据所述查找信息,确定显示设备是否具备DMR能力;如果所述显示设备具备DMR能力,发送查找成功消息到终端。终端接收所述查找成功消息,确定所述显示设备为上线设备。
示例性的,用户可以在搜索框中输入显示设备的名称,此时解析显示设备的设备服务能力。本实施例中,当解析到显示设备具备DMR能力,则将显示设备作为可以与终端待镜像投屏的上线设备。
一些实施例中,所述查找信息包括终端的本地网络地址。所述显示设备根据终端的本地网络地址,发送查找成功消息到终端。
以上两种方式,分别通过自动或手动方式,确定上线设备。
一些实施例中,在确定上线设备之后,终端控制显示界面上显示所述上线设备的屏幕镜像控件。S400、接收到选中屏幕镜像控件的指令,发送实时录屏得到的视频流数据到显示设备。显示设备接收所述视频流数据,并解码播放。
一些实施例中,所述接收到选中屏幕镜像控件的指令,发送实时录屏得到的视频流数据的步骤,如图6所示,包括:
S401、终端接收选中屏幕镜像控件的指令,发送推送消息到显示设备,其中所述推送消息包括缓存地址。示例性的,终端的用户界面上可以显示有屏幕镜像控件,用户可以触碰屏幕上所述屏幕镜像控件对应的位置,生成选中屏幕镜像控件的指令。
本申请实施例中,所述缓存地址对应的缓存,在接收到选中屏幕镜像控件的指令时生成。在向显示设备发送推送消息时携带有该缓存的缓存地址。
显示设备爱接收终端发送的推送消息,解析所述推送消息,得到缓存地址,发送获取视频请求到终端,所述获取视频请求包括所述缓存地址。
一些实施例中,显示设备可以根据实际情况,确定是否向终端发送获取视频请求,如果显示设备不具备与终端镜像投屏的条件,可以不发送获取视频请求到终端。
S402、终端接收获取视频请求,开始录屏得到视频流数据,并将所述视频流数据存储在缓存地址对应的缓存中。本申请实施例中,录屏得到的视频流数据为终端实时显示的内容。
S403、终端读取所述缓存中的视频流数据,并发送到显示设备。需要说明的是,只要缓存中存在视频流数据,就会一直发送该视频流数据到显示设备中。
一些实施例中,所述终端接收第一停止镜像投屏的指令,停止录屏,并停止从缓存中读取视频流数据,发送到显示设备。
一些实施例中,所述显示设备接收第二停止镜像投屏的指令,停止解码播放视频流数据。
一些实施例中,所述显示设备接收暂停解码播放视频流数据的指令,暂停解码播放视频流数据。
一些实施例中,所述显示设备接收重新解码播放视频流数据的指令,继续解码播放视频流数据。本申请实施例中,重新解码播放视频流数据的指令,是在暂停解码播放视频流数据之后接收的。
为了保证可以传输实时视频流,本申请实施例对显示发送获取视频请求到终端的数据格式,以及终端接收获取视频请求后发送视频流数据到显示设备,即请求数据和回复数据时的数据格式做下述改进。
UPNP协议是针对HTTP协议传输的视频流,显示设备发送获取视频请求,终端接收到请求给回复并传输相应视频流,具体交互格式如下:
(1)UPNP协议传输本地文件格式:
请求数据格式:
GET/XXXX.mp4 HTTP/1.1
Host:XXXXXX
Connection:close
Range:bytes=0
User-Agent:hsp/1.0(Linix:Android 6.0)
回复数据格式:
HTTP/1.1 206 Partial Content
Content-Type:video/mp4
Content-Length:3234061
Accept-Ranges:bytes
Content-Ranges:bytes 0-3234060/3234061
TransferMode.DLNA.ORG:Streaming
ContentFeatures.DLNA.ORG:
DLNA.ORG_PN=AVC_MP4_BL_CIF15_AAC_520;DLNA.ORG_OP=01:DLNA.ORG_CI=1;DLNA.ORG_FLAGS=01500000000000000000000000000000
Connection:close
Date:Tue,09 Mar 2021 05:42:26GMT
(2)UPNP协议传输实时视频流格式:
请求数据格式:
GET/cacdbd8e6fed4e2a06a5a32a3ced76021988f44f HTTP/1.1
Host:192.168.1.125:8081
Connection:close
Range:bytes=0-
User-Agent:hsp/1.0(Linux;Android 6.0)
回复数据格式:
HTTP/1.1 200 OK
Content-Type:video/vnd.dlna.mpeg-tts
transferMode.dlna.org:Streaming
contentFeatures.dlna.org:
DLNA.ORG_CI=1;DLNA.ORG_FLAGS=01300000000000000000000000000000
Connection:Keep-Alive
Date:Tue.09 Mar 2021 07:54:23 GMT
Cache-Control:no-store,no-cache,must-revalidate
Transfer-Encoding:chunked
UPNP协议传输实时视频流格式,需要注意以下内容:
缓存地址的生成必须具有唯一性所以采用MD5加密生成唯一ID标志此视频流,针对本地文件MD5生成时,一般使用文件路径作为种子,但是实时视频流没有统一的方法,可以获取视频流的时间戳作为种子生成MD5值,时间戳是唯一的,生成的MD5值唯一,保证获取视频流的缓存地址的唯一性。
由于视频流没有长度,所以Content-Length、Accept-Ranges、Content-Range字段都不应该再响应。
Content-Type字段根据传输视频流格式具体填写,比如视频流是TS封装的,可以填写video/vnd.dlna.mpeg-tts。
DLNA.ORG_FLAGS=01300000000000000000000000000000:UPNP协议规定每个数字是一个八进制数,高8位是有效值,低24位是预留值,将高8位转换为二进制格式为:0000,0001,0011;其中24-bit是tm-s(Streaming Mode Flag)标志,如果支持DLNA 1.5版本(20-bit是dlna-v1.5-flag),此值必须设置为1,即支持Streaming Mode,终端一旦有数据必须足够快的传输到显示设备。
Connection字段应该为Keep-Alive,减少发送HTTP请求就进行TCP连接所消耗的时间,让显示设备和终端可以继续通过此次连接传输内容。
Cache-Control:no-store,no-cache,must-revalidate:要求客户端每次请求都必须到服务器进行revalidate(重新生效)。
Transfer-Encoding:chunked:指定了HTTP为长久连接,但是根据实时视频流的特性,无法计算length(长度)和range(定义范围请求的单位),必须指定通过chunked(分块)方式传输数据。指定了Transfer-Encoding:chunked,后续需要将内容实体包装成一个个块进行传输。
上述实施例中,一种播镜像投屏方法、显示设备及终端,本申请一些实施例可以利用UPNP协议实现不同***的终端使用同一投屏技术完成投屏操作。该方法包括:显示设备开机,启动DMR功能,创建设备服务能力,加入UPNP协议的组播组,以使终端根据所述组播组,确定上线设备,控制显示界面上显示所述上线设备的屏幕镜像控件,并在终端接收到选中上线设备对应的屏幕镜像控件的指令时,发送实时录屏得到的视频流数据;显示设备接收所述视频流数据,并解码播放。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (10)
1.一种显示设备,其特征在于,包括:
显示器,用于显示用户界面;
用户接口,用于接收输入信号;
分别与显示器和用户接口连接的控制器,用于执行:
显示设备开机,启动DMR功能,创建设备服务能力,加入UPNP协议的组播组,以使终端根据所述组播组,确定上线设备,控制显示界面上显示所述上线设备的屏幕镜像控件,并在终端接收到选中上线设备对应的屏幕镜像控件的指令时,发送实时录屏得到的视频流数据;显示设备接收所述视频流数据,并解码播放。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器,还用于执行:
在加入所述组播组之后,发送上线消息。
3.根据权利要求1所述的显示设备,其特征在于,所述控制器,还用于执行:接收终端发送到所述组播组的查找信息;
根据所述查找信息,确定显示设备是否具备DMR能力;
如果所述显示设备具备DMR能力,发送查找成功消息到终端。
4.根据权利要求1所述的显示设备,其特征在于,所述控制器,还用于执行:
接收终端发送的推送消息,解析所述推送消息,得到缓存地址,发送获取视频请求到终端,所述获取视频请求包括所述缓存地址。
5.一种终端,其特征在于,用于执行:
终端开机,启动DMC和DMS功能,加入UPNP协议的组播组,通过所述组播组,确定上线设备,控制显示界面上显示所述上线设备的屏幕镜像控件;接收到选中屏幕镜像控件的指令,发送实时录屏得到的视频流数据。
6.根据权利要求5所述的终端,其特征在于,所述终端被配置为按照下述步骤执行通过所述组播组,确定上线设备:
接收到显示设备的上线消息,解析显示设备的设备服务能力;
如果显示设备具备DMR能力,确定所述显示设备为上线设备。
7.根据权利要求5所述的终端,其特征在于,所述终端被配置为按照下述步骤执行通过所述组播组,确定上线设备:
接收搜索显示设备的操作,发送查找信息到组播组,以接收显示设备根据所述查找信息,发送的查找成功消息接收所述查找成功的消息,确定所述显示设备为上线设备。
8.根据权利要求5所述的终端,其特征在于,所述终端被配置为按照下述步骤执行接收到选中屏幕镜像控件的指令,发送实时录屏得到的视频流数据:
接收选中屏幕镜像控件的指令,发送推送消息到显示设备,其中所述推送消息包括缓存地址;
接收获取视频请求,开始录屏得到视频流数据,并将所述视频流数据存储在缓存地址对应的缓存中;
读取所述缓存中的视频流数据,并发送到显示设备。
9.一种镜像投屏方法,其特征在于,应用于显示设备,包括:
显示设备开机,启动DMR功能,创建设备服务能力,加入UPNP协议的组播组,以使终端根据所述组播组,确定上线设备,控制显示界面上显示所述上线设备的屏幕镜像控件,并在终端接收到选中上线设备对应的屏幕镜像控件的指令时,发送实时录屏得到的视频流数据;显示设备接收所述视频流数据,并解码播放。
10.一种镜像投屏方法,其特征在于,应用于终端,包括:
终端开机,启动DMC和DMS功能,加入UPNP协议的组播组,通过所述组播组,确定上线设备,控制显示界面上显示所述上线设备的屏幕镜像控件;接收到选中屏幕镜像控件的指令,发送实时录屏得到的视频流数据。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110969847.0A CN114286137A (zh) | 2021-08-23 | 2021-08-23 | 一种镜像投屏方法、显示设备及终端 |
CN202280026627.7A CN117157987A (zh) | 2021-05-17 | 2022-03-30 | 一种分屏播放方法及显示设备 |
PCT/CN2022/084106 WO2022242328A1 (zh) | 2021-05-17 | 2022-03-30 | 一种分屏播放方法及显示设备 |
US18/510,339 US20240089526A1 (en) | 2021-05-17 | 2023-11-15 | Method for playback in split screen and display device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110969847.0A CN114286137A (zh) | 2021-08-23 | 2021-08-23 | 一种镜像投屏方法、显示设备及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114286137A true CN114286137A (zh) | 2022-04-05 |
Family
ID=80868432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110969847.0A Pending CN114286137A (zh) | 2021-05-17 | 2021-08-23 | 一种镜像投屏方法、显示设备及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114286137A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI826203B (zh) * | 2022-12-15 | 2023-12-11 | 技嘉科技股份有限公司 | 電腦裝置及顯示裝置 |
WO2024012344A1 (zh) * | 2022-07-14 | 2024-01-18 | 华为技术有限公司 | 投屏方法和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791351A (zh) * | 2014-12-23 | 2016-07-20 | 深圳Tcl数字技术有限公司 | 基于dlna技术实现屏幕推送的方法及*** |
CN107896339A (zh) * | 2017-10-30 | 2018-04-10 | 努比亚技术有限公司 | 一种视频播放方法、终端及计算机可读存储介质 |
CN111427527A (zh) * | 2020-03-20 | 2020-07-17 | 海信视像科技股份有限公司 | 投屏方法、装置、设备及计算机可读存储介质 |
CN112099750A (zh) * | 2020-09-24 | 2020-12-18 | Oppo广东移动通信有限公司 | 一种屏幕共享方法、终端、计算机存储介质以及*** |
CN112616065A (zh) * | 2020-12-16 | 2021-04-06 | 深圳乐播科技有限公司 | 一种屏幕镜像发起方法、装置、计算机设备、可读存储介质及屏幕镜像呈现*** |
-
2021
- 2021-08-23 CN CN202110969847.0A patent/CN114286137A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105791351A (zh) * | 2014-12-23 | 2016-07-20 | 深圳Tcl数字技术有限公司 | 基于dlna技术实现屏幕推送的方法及*** |
CN107896339A (zh) * | 2017-10-30 | 2018-04-10 | 努比亚技术有限公司 | 一种视频播放方法、终端及计算机可读存储介质 |
CN111427527A (zh) * | 2020-03-20 | 2020-07-17 | 海信视像科技股份有限公司 | 投屏方法、装置、设备及计算机可读存储介质 |
CN112099750A (zh) * | 2020-09-24 | 2020-12-18 | Oppo广东移动通信有限公司 | 一种屏幕共享方法、终端、计算机存储介质以及*** |
CN112616065A (zh) * | 2020-12-16 | 2021-04-06 | 深圳乐播科技有限公司 | 一种屏幕镜像发起方法、装置、计算机设备、可读存储介质及屏幕镜像呈现*** |
Non-Patent Citations (1)
Title |
---|
景东: "《Web应用开发技术》", 中国铁道出版社, pages: 136 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024012344A1 (zh) * | 2022-07-14 | 2024-01-18 | 华为技术有限公司 | 投屏方法和电子设备 |
TWI826203B (zh) * | 2022-12-15 | 2023-12-11 | 技嘉科技股份有限公司 | 電腦裝置及顯示裝置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114302219B (zh) | 一种显示设备及可变帧率显示方法 | |
CN112367543B (zh) | 显示设备、移动终端、投屏方法及投屏*** | |
CN112612443B (zh) | 一种音频播放方法、显示设备及服务器 | |
CN113507638B (zh) | 显示设备及投屏方法 | |
CN113407142A (zh) | 显示设备及投屏方法 | |
CN113064645B (zh) | 一种开机界面控制方法及显示设备 | |
CN112672195A (zh) | 遥控器按键设置方法及显示设备 | |
CN114339332B (zh) | 一种移动终端、显示设备及跨网投屏方法 | |
CN114286165A (zh) | 一种显示设备、移动终端及投屏数据传输方法 | |
CN112911380B (zh) | 一种显示设备及与蓝牙设备的连接方法 | |
WO2022105409A1 (zh) | 故障诊断方法、终端设备及显示设备 | |
WO2022048203A1 (zh) | 一种输入法控件的操控提示信息的显示方法及显示设备 | |
CN114286137A (zh) | 一种镜像投屏方法、显示设备及终端 | |
CN112632160A (zh) | 智能设备、以及智能设备登录方法 | |
CN112486934B (zh) | 一种文件同步方法及显示设备 | |
CN113111214A (zh) | 一种播放记录的显示方法及显示设备 | |
CN114915810B (zh) | 一种媒资推送方法及智能终端 | |
CN115022688A (zh) | 一种显示设备及媒体数据接力方法 | |
CN112653608A (zh) | 一种显示设备、移动终端及跨网数据传输的方法 | |
CN112929724B (zh) | 显示设备、机顶盒及远场拾音唤醒控制方法 | |
CN112752152B (zh) | 投送视频播放方法及显示设备 | |
CN114915818B (zh) | 一种媒资推送方法及智能终端 | |
CN112231088B (zh) | 一种浏览器进程优化方法及显示设备 | |
CN114302378A (zh) | 一种显示设备的蓝牙模式切换方法、显示设备及终端 | |
CN113992963A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220405 |