CN114546308A - 应用界面投屏方法、装置、设备以及存储介质 - Google Patents

应用界面投屏方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN114546308A
CN114546308A CN202011343865.XA CN202011343865A CN114546308A CN 114546308 A CN114546308 A CN 114546308A CN 202011343865 A CN202011343865 A CN 202011343865A CN 114546308 A CN114546308 A CN 114546308A
Authority
CN
China
Prior art keywords
screen projection
data
application interface
application
user side
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
Application number
CN202011343865.XA
Other languages
English (en)
Inventor
王春风
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Device Co Ltd
Original Assignee
Huawei Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Device Co Ltd filed Critical Huawei Device Co Ltd
Priority to CN202011343865.XA priority Critical patent/CN114546308A/zh
Priority to PCT/CN2021/132164 priority patent/WO2022111421A1/zh
Publication of CN114546308A publication Critical patent/CN114546308A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

本申请实施例提供的应用界面投屏方法、装置、设备以及存储介质,通过投屏设备接收服务器向用户端和投屏设备一同发送的同步投屏数据,然后投屏设备根据同步投屏数据显示目标用户端当前显示的目标应用界面。同步投屏数据从服务器到用户端和投屏设备的传输时间基本相同,投屏设备和用户端处理同步投屏数据所需要的时间也基本相同,从而消除了用户端和投屏设备显示图像的时间差,解决了现有技术中投屏设备与用户端两者显示的图像之间存在延迟的技术问题,即达到了消除用户端和投屏设备的显示延迟,提高了用户对于投屏设备的使用体验的技术效果。

Description

应用界面投屏方法、装置、设备以及存储介质
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种应用界面投屏方法、装置、设备以及存储介质。
背景技术
随着电子技术的发展,越来越多的电子设备由于功能侧重的不同而被开发出来,但是往往一个电子设备不可能兼顾到用户所有使用场景的需求,比如智能手机以其便于携带的优势得到了广泛的普及,但是由于智能手机屏幕较小,用户想要使用大屏观看时就必须要用到同步投屏设备。
目前,投屏设备一般是建立在以用户端为核心的交互网络中,即用户端与投屏设备直接连接或者通过路由器连接,用户端将所需要投屏的数据传输给投屏设备,使得投屏设备可以显示用户端上实时显示的内容。
但是,现有的投屏方式需要用户端将投屏数据进行编码,经过传输后,再有投屏设备进行解码播放,这三个步骤都需要一定的处理时间,使得投屏设备与用户端两者显示的图像之间存在延迟的技术问题。
发明内容
本申请提供一种应用界面投屏方法、装置、设备以及存储介质,用于解决现有技术中投屏设备与用户端两者显示的图像之间存在延迟的技术问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请实施例提供一种应用界面投屏方法,应用于投屏设备,该方法包括:
接收服务器发送的同步投屏数据,该同步投屏数据包括用户端集合中各个用户端所输入的操作数据;
根据同步投屏数据显示目标应用界面,以使投屏设备同步显示目标用户端当前所显示的应用界面,其中,目标用户端为用户端集合中的至少一个用户端。
在第一方面中,服务器同时向用户端和投屏设备发送同步投屏数据,投屏设备和用户端各自处理接收到的同步投屏数据后,就能够显示同步的目标应用界面。由于同步投屏数据的传输时间基本相同,投屏设备和用户端处理同步投屏数据所需要的时间也基本相同,从而消除了用户端和投屏设备显示图像的时间差,即达到了消除用户端和投屏设备的显示延迟的技术效果,并且当同步投屏数据包括高清视频数据时,服务器直接发送同步投屏数据无需压缩,避免了压缩造成的画质下降,能够在无延迟的同时保障画面质量,提高用户的使用体验。
可选的,投屏设备和用户端中的用于显示同步的目标应用界面的应用程序可以是相同的程序,也可以是具备投屏支持功能的不同应用程序。即投屏设备中可以安装与用户端相同的应用程序来显示同步的目标应用界面,也可以在投屏设备中安装与目标应用界面所在应用程序不同的应用程序,投屏设备中的应用程序用于支持用户端的应用程序对应的投屏功能。
在一种可能的设计中,投屏设备在接收服务器发送的同步投屏数据之前,还包括:
接收目标用户端发送的投屏指令;根据投屏指令与服务器建立连接,以通过连接接收服务器发送的同步投屏数据。
在第一方面的一种可能的实现方式中,为了确保投屏设备在进入到正常同步投屏工作状态时,就能够达到与目标用户端的目标应用界面相同的显示画面,而无需经过过渡或快进播放等显示画面才达到同步显示的效果。
当需要投屏的应用程序为使用高清视频的应用程序时,并且在投屏前高清视频已处于播放状态,则投屏指令包括高清视频的下载资源地址以及当前目标用户端中的播放进度。
当需要投屏的应用程序为帧同步类型的对战游戏时,并且用户是在对战开始后接入投屏状态,则投屏指令包括当前对战的各游戏单位的对战状态以及目标用户端所接收到的服务器发送的当前帧同步数据。
在一种可能的设计中,投屏指令包括目标用户端中的目标用户标识以及所对应的目标应用的应用信息;则根据投屏指令与服务器建立连接,包括:
根据应用信息启动目标应用;在目标应用中通过目标用户标识建立与服务器的连接。
在第一方面的一种可能的实现方式中,用户端中安装有至少一个具有投屏功能需求的应用程序,则投屏设备需要根据应用信息确定启动对应的目标应用程序来提供投屏功能,因为同一目标应用程序可能不能支持所有的投屏需求,因此需要投屏设备对应启动不同的目标应用程序。
当目标应用为使用高清视频的应用,包括:高清视频会议应用、高清视频播放应用、高清视频远程培训应用等,应用信息包括高清视频的下载地址以及当前播放节点,目标用户标识包括:目标用户端的IP地址、MAC地址、目标应用中登录的账号中至少一个。
当目标应用为帧同步类型的对战游戏,目标用户标识至少包括目标应用中登录的账号。
可选的,在根据应用信息启动目标应用之后,还包括:根据目标用户标识从服务器获取对应的投屏标识;对应的,在目标应用中通过目标用户标识建立与服务器的连接包括:在目标应用中通过投屏标识建立与服务器的连接。
在一种可能的设计中,投屏设备是通过投屏标识接收服务器发送的同步投屏数据,投屏标识与所述目标用户标识相关联。
可选的,当需要投屏的应用程序为帧同步类型的对战游戏时,投屏标识是需要投屏显示的目标用户端中的目标用户标识的关联标识或者是目标用户端中登录的目标账号的关联账号。
目标用户标识包括:用户端IP地址、用户端MAC地址、用户端登录的目标应用账号中至少一项,所述投屏标识包括:投屏设备IP地址、投屏设备MAC地址、与所述目标应用账号对应的投屏账号或关联账号。
可选的,当需要投屏的应用程序为使用高清视频的应用时,投屏标识包括高清资源的下载地址或者是服务器高清视频库的IP地址。
在第一方面的一种可能的实现方式中,投屏设备可以作为需要投屏显示的目标用户端的附属设备,从而服务器可以给投屏设备设置目标用户标识的关联账号作为投屏标识,直接将发送给目标用户端的同步操作数据关联到投屏标识中,可选的,直接复制到投屏标识中,以减少服务器的计算资源占用率,加快处理速度。并且采用投屏标识即关联账号的形式,只需对原始的服务器端的应用程序做简单改进修改,或者简单添加附件或补丁即可实现,方便快捷,无需更新整个应用程序。
在一种可能的设计中,在目标应用中通过目标用户标识建立与服务器的连接,包括:
根据目标用户标识确定投屏请求,该投屏请求用于向服务器获取投屏标识;向服务器发送投屏请求,以建立连接。
在第一方面的一种可能的实现方式中,投屏设备为多个时或者一个投屏设备可以分屏显示或者是投屏设备具有多个屏幕时,投屏设备就可以接收多个用户终端的投屏指令,每个用户终端对应不同的目标用户标识或者是同一个用户终端同时开启多个用户账号时,根据需要投屏的目标用户标识来确定投屏请求。
在一种可能的设计中,在建立连接之后,还包括:
接收服务器发送的初始同步数据,初始同步数据包括含有投屏标识的操作数据;运行初始同步数据,以显示目标应用中的初始画面。
在第一方面的一种可能的实现方式中,对于用户端初次连接时,或者中断投屏后重连投屏设备,或者是由于投屏设备主动中断投屏后,重新投屏,还或者是投屏设备是在用户端进行某项活动或服务的过程中,在中途触发了投屏指令时,如游戏对战中途,培训中途,会议中途、高清视频播放中途等场景下,为了让投屏设备的应用程序在启动投屏后能够立即与用户端同步,则通过服务器把最新的初始同步数据发送给投屏设备,以显示目标应用的初始画面,该初始画面可以是游戏开始画面也可以是投屏确认画面,也可以是用户端中目标应用的当前画面。
在一种可能的设计中,接收目标用户端发送的投屏指令,包括:
利用实时流传输协议RTSP,与目标用户端建立协商连接;接收以RTSP传递的所述投屏指令。
在第一方面的一种可能的实现方式中,利用RTSP协议可以是用户端和服务器双向发出服务请求,并同时运行多个串流需求控制,而HTTP协议只是单向的由用户端向服务器发送服务请求。而且RTSP具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。
在一种可能的设计中,在接收以RTSP传递的所述投屏指令之前,还包括:
暂停当前正在播放的媒体流。
在第一方面的一种可能的实现方式中,为了让用户感知到投屏设备及时响应了投屏指令,节省投屏设备的计算处理资源,或者说避免对正在播放的媒体流产生影响,因此需要将当前播放的媒体流暂停。
在一种可能的设计中,在暂停当前正在播放的视频流之后,还包括:
确定目标应用为帧同步类型的对战游戏或使用高清视频的应用;
对应的,当目标应用为帧同步类型的对战游戏时,用户端的操作数据包括对战游戏的游戏操作指令;当目标应用为使用高清视频的应用时,用户端的操作数据包括对高清视频所采取的操作指令,如定点播放、添加批注、添加标记或图文、指示光标实时移动,例如在高清视频会议中讲解方案,或者是远程培训中的标注讲解。
在第一方面的一种可能的实现方式中,为了使得用户在使用用户端进行即时对战类游戏时,能够消除用户端与投屏设备的延时,提高游戏体验,可以通过帧同步的方式通过游戏服务器按照本申请的技术方案来进行投屏。在观看高清视频时,由于不用对视频进行压缩,使得高清视频的画质得到保障,在远程培训或者远程会议这样的场景中提高用户的使用体验。
在一种可能的设计中,投屏标识包括观战标识,当目标应用为帧同步类型的对战游戏时,观战标识用于在观战模式下对目标应用界面进行显示。
在第一方面的一种可能的实现方式中,对于帧同步的即时对战类游戏,可以给投屏设备配置的投屏标识定义为观战模式下使用的账号,这样就可以服务器就可以利用观战模式实现对目标用户端在投屏设备上的无差别同步显示。
第二方面,本申请实施例提供一种应用界面投屏方法,应用于服务器,该方法包括:
以预设周期采集用户端集合中各个用户端所输入的操作数据;根据各个用户端所输入的操作数据确定同步投屏数据;发送同步投屏数据。
在一种可能的设计中,在发送同步投屏数据之前,还包括:
与投屏设备建立连接;对应的,发送同步投屏数据,包括:
通过连接向投屏设备发送同步投屏数据。
在一种可能的设计中,在与投屏设备建立连接之前,还包括:
接收投屏设备发送的投屏请求,该投屏请求包括目标用户端中所登陆的目标用户标识;
根据目标用户标识确定与目标用户标识对应的投屏标识;
对应的,与投屏设备建立连接,包括:
通过投屏标识与投屏设备建立连接。
在一种可能的设计中,在通过投屏标识与投屏设备建立连接之后,还包括:
向投屏设备发送初始同步数据,以使投屏设备显示目标用户端中的目标应用的初始画面。
在一种可能的设计中,发送所述同步投屏数据,包括:
以帧同步的方式向用户端集合以及投屏设备发送同步投屏数据。
第三方面,本申请实施例提供一种应用界面投屏方法,应用于用户端,包括:
按预设周期向服务器发送应用操作数据,应用操作数据包括用户输入的操作指令以及应用界面的显示数据;接收服务器发送的同步投屏数据;根据同步投屏数据确定与投屏设备同步显示的应用界面。
在一种可能的设计中,在按预设周期向服务器发送应用操作数据之前,还包括:
向投屏设备发送投屏指令,投屏指令包括用户端中登录的目标用户标识。
在一种可能的设计中,在向投屏设备发送投屏指令之前,还包括:
向投屏设备发送能力确认请求,能力确认请求用于确定投屏设备支持本申请提供的应用界面投屏方法;
接收投屏设备发送的能力确认信息,以确定投屏设备支持目标应用的投屏要求。
在一种可能的设计中,在向投屏设备发送能力确认请求之前,还包括:
利用实时流传输协议RTSP与投屏设备建立协商连接;
对应的,投屏设备与用户端的数据交互都通过RTSP进行。
在一种可能的设计中,在利用实时流传输协议RTSP与投屏设备建立协商连接之前,还包括:监测到启动的目标应用为帧同步类型的对战游戏或使用高清视频的应用。
第四方面,本申请实施例提供一种应用界面投屏装置,包括:
接收模块,用于接收服务器发送的同步投屏数据,同步投屏数据包括用户端集合中各个用户端所输入的操作数据;
处理模块,用于根据同步投屏数据显示目标应用界面,以使投屏设备同步显示目标用户端当前所显示的应用界面,其中,目标用户端为用户端集合中的至少一个用户端。
在一种可能的设计中,该应用界面投屏装置在接收模块,用于接收服务器发送的同步投屏数据之前,还包括:
接收模块,还用于接收目标用户端发送的投屏指令;处理模块,还用于根据投屏指令与服务器建立连接,以通过连接接收服务器发送的同步投屏数据。
在一种可能的设计中,投屏指令包括目标用户端中的目标用户标识以及所对应的目标应用的应用信息;则处理模块,还用于根据投屏指令与服务器建立连接,包括:
处理模块,还用于根据应用信息启动目标应用;处理模块,还用于在目标应用中通过投屏标识建立与服务器的连接。
在一种可能的设计中,该应用界面投屏装置的接收模块是根据投屏标识接收服务器发送的同步投屏数据,投屏标识与目标用户标识相关联,投屏标识包括需要投屏显示的目标用户端中所登录的目标用户标识的关联账号。
可选的,在处理模块,还用于根据应用信息启动目标应用之后,还包括:处理模块,还用于根据目标用户标识从服务器获取对应的投屏标识。
在一种可能的设计中,处理模块,还用于在目标应用中通过目标用户标识建立与服务器的连接,包括:
处理模块,还用于根据目标用户标识确定投屏请求,该投屏请求用于向服务器获取投屏标识;发送模块,还用于向服务器发送投屏请求,以建立连接。
在一种可能的设计中,在处理模块,还用于建立连接之后,还包括:
接收模块,还用于接收服务器发送的初始同步数据,初始同步数据包括含有投屏标识的操作数据;处理模块,还用于运行初始同步数据,以显示目标应用中的初始画面。
在一种可能的设计中,接收模块,还用于接收目标用户端发送的投屏指令,包括:
处理模块,还用于利用实时流传输协议RTSP,与目标用户端建立协商连接;接收模块,还用于接收以RTSP传递的所述投屏指令。
在一种可能的设计中,在接收模块,还用于接收以RTSP传递的所述投屏指令之前,还包括:
处理模块,还用于暂停当前正在播放的媒体流。
在一种可能的设计中,在处理模块,还用于暂停当前正在播放的视频流之后,还包括:
处理模块,还用于确定目标应用为帧同步类型的对战游戏;
对应的,用户端的操作数据为对战游戏的游戏操作指令。
在一种可能的设计中,投屏标识包括观战标识,当目标应用为帧同步类型的对战游戏时,观战标识用于在观战模式下对目标应用界面进行显示。
第五方面,本申请实施例提供一种应用界面投屏装置,包括:
接收模块,用于以预设周期采集用户端集合中各个用户端所输入的操作数据;
处理模块,用于根据各个用户端所输入的操作数据确定同步投屏数据;
发送模块,用于发送同步投屏数据。
在一种可能的设计中,在发送模块,用于发送同步投屏数据之前,还包括:
处理模块,还用于与投屏设备建立连接;对应的,发送模块,用于发送同步投屏数据,包括:
发送模块,用于通过连接向投屏设备发送同步投屏数据。
在一种可能的设计中,在处理模块,还用于与投屏设备建立连接之前,还包括:
接收模块,还用于接收投屏设备发送的投屏请求,该投屏请求包括目标用户端中所登陆的目标用户标识;
处理模块,还用于根据目标用户标识确定与目标用户标识对应的投屏标识;
对应的,处理模块,还用于与投屏设备建立连接,包括:
处理模块,还用于通过投屏标识与投屏设备建立连接。
在一种可能的设计中,在处理模块,还用于通过投屏标识与投屏设备建立连接之后,还包括:
发送模块,还用于向投屏设备发送初始同步数据,以使投屏设备显示目标用户端中的目标应用的初始画面。
在一种可能的设计中,发送模块,还用于发送所述同步投屏数据,包括:
发送模块,还用于以帧同步的方式向用户端集合以及投屏设备发送同步投屏数据。
第六方面,本申请实施例提供一种应用界面投屏装置,包括:
发送模块,用于按预设周期向服务器发送应用操作数据,应用操作数据包括用户输入的操作指令以及应用界面的显示数据;
接收模块,用于接收服务器发送的同步投屏数据;
处理模块,用于根据同步投屏数据确定与投屏设备同步显示的应用界面。
在一种可能的设计中,在发送模块,用于按预设周期向服务器发送应用操作数据之前,还包括:
发送模块,还用于向投屏设备发送投屏指令,投屏指令包括用户端中登录的目标用户标识。
在一种可能的设计中,在发送模块,还用于向投屏设备发送投屏指令之前,还包括:
发送模块,还用于向投屏设备发送能力确认请求,能力确认请求用于确定投屏设备支持投屏方法;
接收模块,还用于接收投屏设备发送的能力确认信息,以确定投屏设备支持目标应用的投屏要求。
在一种可能的设计中,在发送模块,还用于向投屏设备发送能力确认请求之前,还包括:
处理模块,还用于利用实时流传输协议RTSP与投屏设备建立协商连接;
对应的,投屏设备与第六方面的应用界面投屏装置的数据交互都通过RTSP进行。
在一种可能的设计中,在处理模块,还用于利用实时流传输协议RTSP与投屏设备建立协商连接之前,还包括:处理模块,还用于监测到启动的目标应用为帧同步类型的对战游戏或使用高清视频的应用。
第七方面,本申请实施例还提供一种投屏设备,包括:处理器;以及存储器,用于存储处理器的计算机程序;其中,处理器被配置为通过执行计算机程序来实现第一方面中提供的任意一种应用界面投屏方法。
第八方面,本申请实施例还提供一种服务器,包括:处理器;以及存储器,用于存储处理器的计算机程序;其中,处理器被配置为通过执行计算机程序来实现第二方面中提供的任意一种应用界面投屏方法。
第九方面,本申请实施例还提供一种用户端设备,包括:处理器;以及存储器,用于存储处理器的计算机程序;其中,处理器被配置为通过执行计算机程序来实现第三方面中提供的任意一种应用界面投屏方法。
第十方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面中提供的任意一种应用界面投屏方法。
第十一方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第二方面中提供的任意一种应用界面投屏方法。
第十二方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第三方面中提供的任意一种应用界面投屏方法。
第十三方面,本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面中提供的任意一种应用界面投屏方法。
第十四方面,本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第二方面中提供的任意一种应用界面投屏方法。
第十五方面,本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第三方面中提供的任意一种应用界面投屏方法。
可以理解地,上述提供的第七方面的投屏设备以及第十方面的计算机可读存储介质用于执行第一方面中提供的任一种可能的应用界面投屏方法,上述提供的第八方面的服务器以及第十一方面的计算机可读存储介质用于执行第二方面中提供的任一种可能的应用界面投屏方法,上述提供的第九方面的用户端设备以及第十二方面的计算机可读存储介质用于执行第三方面中提供的任一种可能的应用界面投屏方法。
本申请实施例提供的应用界面投屏方法、装置、设备以及存储介质,通过投屏设备接收服务器向用户端和投屏设备一同发送的同步投屏数据,然后投屏设备根据同步投屏数据显示目标用户端当前显示的目标应用界面。同步投屏数据从服务器到用户端和投屏设备的传输时间基本相同,投屏设备和用户端处理同步投屏数据所需要的时间也基本相同,从而消除了用户端和投屏设备显示图像的时间差,解决了现有技术中投屏设备与用户端两者显示的图像之间存在延迟的技术问题,即达到了消除用户端和投屏设备的显示延迟,提高了用户对于投屏设备的使用体验的技术效果。
附图说明
图1为本申请提供的现有技术中带有延迟的投屏方法的应用场景示意图;
图2为本申请提供的应用界面投屏方法的数据流传输方向示意图;
图3为本申请实施例提供的一种示例性的应用界面投屏方法的流程图;
图4为本申请实施例提供的一种应用界面投屏方法的应用场景示意图;
图5为本申请实施例提供的另一种示例性的应用界面投屏方法的流程图;
图6为本申请实施例提供的一种应用界面投屏装置的结构示意图;
图7为本申请实施例提供的另一种应用界面投屏装置的结构示意图;
图8为本申请实施例提供的又一种应用界面投屏装置的结构示意图;
图9为本申请实施例提供的一种示例性的投屏设备的结构图;
图10为本申请实施例提供的一种示例性的服务器的结构图;
图11为本申请实施例提供的一种示例性的用户端设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,包括但不限于对多个实施例的组合,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本申请提供的现有技术中带有延迟的投屏方法的应用场景示意图。如图1所示,用户端101与投屏设备102之间直接通过无线数据通道连接,或者是经由路由器103或网络服务器进行投屏数据转发。现有技术中,一种投屏方案是,用户端101和投屏设备102都有投屏直联应用,通过P2P(Peer to Peer,点对点传输协议)或蓝牙或WIFI等传输协议,使得用户端101直接将投屏数据传递给投屏设备102。如果用户端101和投屏设备102两者中有一个没有直联投屏功能,就必须要安装第三方软件,此时就可以把路由器103替换成网络服务器。
经过本申请发明人对比试验数据进行深入分析,如图1所示的投屏方法,一般需要用户端101先将需要投屏显示的数据进行编码压缩,经过无线传输后如通过蓝牙通讯协议进行传播,投屏设备102在接收到编码数据后,需要对编码数据进行解码,然后再利用解码后的数据进行播放。还有一种现有的投屏方式是,用户端将编码数据传递给路由器103,然后再由路由器103分发给一个或多个投屏设备进行解码显示。上述两种方案中,都是以用户端为数据来源,都需要经过“编码→传输→解码”三个阶段,而这三个阶段都需要一定的处理时间,只要采用类似的投屏方案,如将路由器103换成网络服务器,都不可避免地存在投屏设备显示的图像与用户端当前显示界面的图像之间存在延迟的问题。并且三个阶段任意一个阶段发生处理波动,如网络传输拥堵,或者信号质量差影响了传输速度,或者是用户端101由于处理能力有限,不能提供高清编码或者无损编码压缩,或者是压缩时间较长,这些都会引起投屏设备102与用户端的当前显示界面在图像画面上的延迟。对于某些对实时性要求较高的应用场景时,如需要投屏的是即时对战类游戏,0.1秒的卡顿就可以决定胜负。再比如某些远程培训或者是现场培训或演示时利用投屏设备来方便多人观看,此时如果存在卡顿或延迟对于某些短时性的现象的演示,如化学实验或物理实验,就会使得观看投屏设备的用户无法观察到完整的实验过程,或者体验感较差。还比如多方远程视频会议的应用场景,主持人或者当前发言人需要将自己所用的用户端上的会议材料进行实时远程演示讲解,在会议高清视频传输时,编码再解码就会产生延迟,从而影响高清视频会议的使用体验。
为了缩短用户端101和投屏设备102之间的延迟现象,常用的做法是提高数据传输的速率,提高用户端101的编码压缩能力,或者是采用更快的编码压缩方案,或者是提高投屏设备102的图像处理能力即解码播放能力。但是无论哪一种,都没有脱离“显示图像数据来源与用户端”这个最基本的逻辑,这就使得“编码→传输→解码”的数据传输结构并没有改变,理论上就无法去避免延迟。
基于上述原因,本申请提出了不同于“编码→传输→解码”的应用界面投屏逻辑,本申请的发明构思是:将用户端为核心或数据来源的传统设计构思,改为将用户端和投屏设备作为同级别的数据接收方和处理方,让两者在同一起跑线上开始图像数据处理,这样就能够从理论上避免了延迟的产生。即将传统的图像数据从“用户端→投屏设备”或“用户端→服务器→投屏设备”,改为如图2所示的数据传输方向。
图2为本申请提供的应用界面投屏方法的数据流传输方向示意图。如图2所示,本申请的应用界面投屏方法,是将投屏数据的流动分为投屏数据源层以及投屏数据显示层。投屏数据源层的载体是网络服务器203,投屏数据即同步投屏数据的产生是在网络服务器203上一同生成的,作为用户端201和投屏设备202支持投屏功能的应用的输入数据。这就使得用户端201和投屏设备202几乎是同时接收到投屏数据,两者间的数据传输不再具备先后因果关系,即投屏设备202接收投屏数据并不依赖用户端201先产生投屏数据。进一步的,只需要保证用户端201和投屏设备202上的投屏数据处理应用在处理投屏数据时,所需处理时间一致或者相近,就能够保证两者当前显示的应用界面图像同步,如两者都是同一款应用,或者是来源于同一系列的应用(如标准版和去广告的极速版)。这就从架构原理上改变了传统的投屏方法“编码→传输→解码”三阶段式的数据传递模式。而且用户端201的操作数据可以上传给网络服务器203处理,进而得到同步投屏数据即投屏数据,而投屏设备202可以不具备上传操作数据的功能,以避免引起操作冲突,也减轻了投屏设备的运算处理能力的要求,降低使用成本。
下面结合实施例,示例性地介绍本申请提出的应用界面投屏方法。
图3为本申请实施例提供的一种示例性的应用界面投屏方法的流程图。如图3所示,本实施例提供的应用界面投屏方法,包括:
S301、按预设周期向服务器发送应用操作数据。
在本步骤中,应用操作数据包括用户输入的操作指令以及应用界面的显示数据。用户在用户端输入操作指令,用户端将预设周期内的所有操作指令发送给服务器,可选的,当用户端或者投屏设备任意一方发生了投屏中断再连时,用户端可以将操作指令连同当前应用界面的显示数据一起发送给服务器,显示数据包括高清视频播放进度或者当前游戏中各个游戏单位的游戏状态。
可选的,用户端在接收到操作指令时,可以根据操作指令进行预处理,以便于减少后续同步投屏数据的处理时间,使得用户端与投屏设备处理同步投屏数据的时间基本相同。可以理解的是,用户端也可以根据数据量的大小决定是否采取预处理,即若操作指令对应的操作数据量大于或等于预设阈值,则用户端根据该操作指令进行预处理。
需要说明的是,步骤S301是周期循环的,用户端需要按照预设周期给服务器上报应用操作数据。
具体的,当用户端当前的目标应用为使用高清视频的应用,包括:高清视频播放器、高清视频会议应用、高清视频培训应用等。例如,用户端当前在使用高清视频播放器播放高清蓝光视频或者1080P及以上的高清视频,比如在家中家长与小孩一起观看高清视频,或者是在外语课堂上,老师需要将电脑上的高清视频投屏到大屏幕上给学生观看,为了避免现有技术中压缩-解码时所造成的画质下降损失,可以采用本实施例的投屏方法。用户在观看的过程中可能会在用户端上采取暂停、快进、拖动进度条、静音、开启弹幕等操作,因此,用户端需要周期性地采集用户的操作指令,以实现投屏设备的同步显示。
S302、以预设周期采集用户端集合中各个用户端所输入的操作数据。
在本实施例中,用户端为一个或多个,由于各个用户端在S301步骤中周期性地向服务器发送当前应用的操作数据,则服务器也需要周期性地接收各个用户端所输入的操作数据。
可选的,若各个用户端发送应用操作数据的周期一致,则服务器接收操作数据的周期可以与各个用户端所发送数据的周期一致。若各个用户端发送应用操作数据的周期不一致,则服务器接收操作数据的周期可以是按照预设算法综合考虑各个用户端发送周期计算而得到的,以使得最大限度地在每个服务器接收周期中接收到尽可能多的用户端发送的应用操作数据。
具体的,当目标应用为高清视频会议时,多个用户端为各个参会人员所使用的会议接入设备,在对某个方案进行标注讨论时,各个参会人员都可以通过用户端来输入标记,如圈出想让其他参会人员关注的内容,此时如果多个参会人员同时操作,为了让各个参会人员体验到同步的效果,服务器可以周期性收集各个用户端上报的应用操作数据,再将所有用户端的应用操作数据打包,发送回所有用户端以及投屏设备,这样就能够达到同步投屏的目的。
S303、根据各个用户端所输入的操作数据确定同步投屏数据。
在本步骤中,服务器将各个用户端即至少一个用户端所输入的操作数据即应用操作数据整合成同步投屏数据,以便于各个用户端所显示的是同步的画面内容。
例如,各个用户端在使用相同的应用程序进行某项业务活动,如在进行即时战略游戏的对战,或者是处于远程同步会议或培训,或者是多人云办公协作,即多个人同时完成一个电子工作文档的创建或维护。为了让各个用户端显示的内容是同步的,这就需要先将各个用户端的操作数据统一采集后,再生成一个包括了所有用户操作数据的同步投屏数据,来给各个用户端进行显示。
S304、发送同步投屏数据。
在本步骤中,服务器向所有用户端和投屏设备按预设同步模式发送同步投屏数据,预设同步模式包括:利用并行线程任务根据各个用户端和投屏设备的IP地址标识或MAC地址标识发送同步投屏数据;或者以帧同步的形式发送同步投屏数据。
具体的,当用户端的目标应用为使用高清视频的应用,如高清视频播放器,用户在发出了高清视频投屏指令后,将该高清视频的属性信息,包括:名称、下载地址、观看账号、密码等发送给服务器,服务器根据属性信息找到对应的高清视频,并生成同步投屏数据发送给投屏设备如电视。由于是服务器直接发送高清视频的片源数据给投屏设备,这样无需用户端进行视频压缩,保证了高清视频的画面清晰度。并且按照本实施例的投屏方案,多个用户端可以共享同一部高清视频,如处于两个城市的两个用户,想要一同观看高清电视剧,而只有一个视频网站的VIP账户,这样就可以通过本方案实现高清视频共享,提高了用户体验。
S305、接收服务器发送的同步投屏数据。
在本步骤中,执行主体为各个用户端以及各个投屏设备。
在一种可能的设计中,投屏设备是通过投屏标识接收服务器发送的同步投屏数据,例如,投屏标识是需要投屏显示的目标用户端中所登录的目标用户标识即目标用户账号的关联账号。
投屏设备可以作为需要投屏显示的目标用户端的附属设备,从而服务器可以给投屏设备设置目标用户标识的关联账号作为投屏标识,直接将发送给目标用户端的同步操作数据关联到投屏标识中,可选的,服务器将同步操作数据直接复制到投屏标识中,以减少服务器的计算资源占用率,加快处理速度。并且采用投屏标识的形式,只需对原始的服务器端的应用程序做简单改进修改,或者简单添加附件或补丁即可实现,方便快捷,无需更新整个应用程序。
可选的,投屏标识是投屏设备的IP地址,服务器将高清视频的高清片源数据发送到投屏设备的IP地址,投屏设备以此IP地址作为投屏标识就能够接收到同步投屏数据。
S306、根据同步投屏数据显示目标应用界面。
在本步骤中,各个投屏设备将接收到的同步投屏数据输入到支持投屏功能的应用当中,然后进行显示处理,如解码播放。
S307、根据同步投屏数据确定与投屏设备同步显示的应用界面。
在本步骤中,各个用户端的与同步投屏数据对应的应用程序将同步投屏数据作为输入数据进行处理,得到各个用户端间同步显示的应用界面,此应用界面也与投屏设备显示的画面是同步的。
需要说明的是,S306和S307在执行的时候,没有先后次序的要求,可以同步进行。
可选的,投屏设备和用户端中的用于显示同步的目标应用界面的应用程序可以是相同的程序,也可以是具备投屏支持功能的不同应用程序。即投屏设备中可以安装与用户端相同的应用程序来显示同步的目标应用界面,也可以在投屏设备中安装与目标应用界面所在应用程序不同的应用程序,投屏设备中的应用程序用于支持用户端的应用程序对应的投屏功能。
在本实施例中,服务器同时向用户端和投屏设备发送同步投屏数据,投屏设备和用户端各自处理接收到的同步投屏数据后,就能够显示同步的目标应用界面。由于同步投屏数据的传输时间基本相同,投屏设备和用户端处理同步投屏数据所需要的时间也基本相同,从而消除了用户端和投屏设备显示图像的时间差,即达到了消除用户端和投屏设备的显示延迟的技术效果。并且,由服务器直接发送同步投屏数据给投屏设备,无需经过压缩解码的步骤,使得在需要投屏高清视频时,能够保障高清视频的原始画质,又不会增加用户端的负荷,提高了用户的使用体验。
本申请实施例提供的应用界面投屏方法,通过投屏设备接收服务器向用户端和投屏设备一同发送的同步投屏数据,然后投屏设备根据同步投屏数据显示目标用户端当前显示的目标应用界面。同步投屏数据从服务器到用户端和投屏设备的传输时间基本相同,投屏设备和用户端处理同步投屏数据所需要的时间也基本相同,从而消除了用户端和投屏设备显示图像的时间差,解决了现有技术中投屏设备与用户端两者显示的图像之间存在延迟的技术问题,即达到了消除用户端和投屏设备的显示延迟,提高了用户对于投屏设备的使用体验的技术效果。
为了便于更好的理解本申请所提供的应用界面投屏方法,下面示例性地结合几个具体的应用场景来进行说明。
图4为本申请实施例提供的一种应用界面投屏方法的应用场景示意图。如图4所示,用户端401包括移动智能设备如手机、平板电脑等,投屏设备402包括:智能电视、LED智能显示器、LCD智能显示器、PC个人电脑等。在本应用场景中,用户端401与投屏设备402处于同一个局域网当中或者是连接着同一个路由器,服务器403传输数据到用户端401与投屏设备402的速率可以看成是基本相同的。在本应用场景中,用户端401触发投屏的应用界面为以帧同步的方式传输同步游戏数据的即时战略类游戏应用程序的界面。服务器403为即时战略类游戏的服务器,以帧同步的方式完成多用户端接入同一局对战游戏的数据传输,使得各个用户端之间显示的游戏进程一致,以确保游戏的公平性。下面结合图5来具体说明本申请提供的应用界面投屏方法在此应用场景下的具体实施步骤。
图5为本申请实施例提供的另一种示例性的应用界面投屏方法的流程图。如图5所示,本实施例提供的应用界面投屏方法,包括:
S501、监测到启动的目标应用为帧同步类型的对战游戏。
在本实施例中,用户端401监测到用户通过操作界面如手机屏幕,输入了启动帧同步类型的对战游戏,如王者荣耀。
S502、向投屏设备发送投屏指令。
在本步骤中,用户端401向投屏设备402发送需要进行投屏的投屏指令,投屏指令包括用户端中登录的目标用户标识,如用户账号即游戏账号。具体的,投屏指令用于指示投屏设备402打开支持投屏的目标应用,使得投屏设备402根据目标用户标识来登录目标应用,或者是根据与目标用户标识对应的用于投屏的投屏标识来登录目标应用,可选的,投屏指令还用于暂停投屏设备402当前播放的媒体流。
具体的,例如,在本实施例中,用户端401将当前登录的帧同步类型的对战游戏的游戏账号即目标用户标识生成投屏指令发送给投屏设备402。投屏设备402根据投屏指令启动对应的帧同步类型的对战游戏应用程序,并且利用数据库中或者内存中与目标用户标识对应的用于投屏的投屏标识来登录对战游戏应用程序。并且,如果投屏设备402正在播放其它媒体流,如正在播放电视节目或电影等,则将其它媒体流暂停,将投屏设备402的当前界面跳转到帧同步类型的对战游戏应用程序。
在一种可能的设计中,在用户端401向投屏设备402发送投屏指令之前,还包括:
用户端401向投屏设备402发送能力确认请求,能力确认请求用于确定投屏设备402支持本申请提供的应用界面投屏方法。如能力确认请求要求投屏设备402回复预设格式的能力确认编码,如1代表支持,0代表不支持。
投屏设备402在接收到能力确认请求后,根据能力确认请求中投屏方法的识别标识,检测投屏设备402的安装列表中是否安装了对应的应用,并向用户端401发送能力确认信息,如1代表支持本申请所提供的应用界面投屏方法,0代表不支持本申请所提供的应用界面投屏方法。进一步的,若投屏设备402不支持本申请所提供的应用界面投屏方法,即没有安装对应的应用程序,则用户端401在应用界面上给出提示信息,提示用户给投屏设备安装对应的投屏应用程序。
在一种可能的设计中,用户端401在向投屏设备402发送能力确认请求之前,还包括:利用实时流传输协议RTSP与投屏设备建立协商连接;对应的,投屏设备402与用户端401的数据交互都通过RTSP进行。
与现有技术中利用P2P形式或者WIFI形式在用户端401和投屏设备402之间进行数据交互不同,本实施例提供的实时流传输协议RTSP可以是用户端和服务器双向发出服务请求,并同时运行多个串流需求控制。因为本实施例在进行投屏前,用户端与服务器之间存在双向的信息交互请求,因此,在本实施例中用户端和投屏设备采用RTSP协议进行数据交互。
S503、接收目标用户端发送的投屏指令。
需要说明的是,在本步骤中,执行主体是至少一个投屏设备。
S504、根据投屏指令与服务器建立连接。
在本步骤中,投屏设备402根据投屏指令与服务器403建立连接,以通过连接接收服务器403发送的同步投屏数据。具体的,投屏设备402利用投屏指令中的目标用户标识建立用户端401当前需要投屏的目标应用所对应的服务器的连接。在一种可能的实施方式中,投屏设备402利用与目标用户标识对应的用于投屏的投屏标识来登录目标应用,即可建立与服务器403的数据连接通道。
需要说明的是,本步骤的作用效果包括:用户在某项服务业务进行中途才启动投屏功能,如在帧同步的即时对战类游戏的一局游戏中途,为了确保投屏设备在进入到正常同步投屏工作状态时,就能够达到与目标用户端的目标应用界面相同的显示画面,而无需经过过渡或快进播放等显示画面才达到同步显示的效果。例如,对于非帧同步方式组织的即时对战游戏(如状态同步方式组织的即时对战游戏),在中途加入观战时,会快速地从最初游戏开始状态一直快进显示到当前的游戏状态,用户就会看到一个快进过渡的过程,而不是直接就显示到当前最新的游戏状态。而本申请采用了步骤S504后,就可以直接显示到当前最新的游戏状态。
在另一种可能的设计中,投屏指令包括目标用户标识以及所对应的目标应用的应用信息;则根据投屏指令与服务器建立连接,包括:
首先投屏设备402根据应用信息启动目标应用;然后投屏设备402根据目标用户标识从服务器403中获取对应的投屏标识;最后在目标应用中通过投屏标识建立与服务器403的连接。
当用户端中安装有至少一个具有投屏功能需求的应用程序,则投屏设备需要根据应用信息确定启动对应的目标应用程序来提供投屏功能,因为同一目标应用程序可能不能支持所有的投屏需求,因此需要投屏设备对应启动不同的目标应用程序。如用户端401中安装有两个帧同步的即时对战类游戏的应用程序,则投屏设备402需要根据应用信息确定启动对应的目标应用程序来提供投屏功能。
具体的,在一种可能的设计中,在目标应用中通过目标用户标识建立与服务器的连接,包括:投屏设备402首先根据目标用户标识确定投屏请求,该投屏请求用于向服务器403获取投屏标识;然后投屏设备402向服务器403发送投屏请求,以建立连接。
当投屏设备为多个时或者一个投屏设备可以分屏显示或者是投屏设备具有多个屏幕时,投屏设备就可以接收多个用户终端的投屏指令,每个用户终端对应不同的目标用户标识或者是同一个用户终端同时开启多个用户账号时,根据需要投屏的目标用户标识来确定投屏请求。
S505、与投屏设备建立连接。
在本步骤中,服务器403在接收到投屏设备402的投屏请求后,建立起与投屏设备402的数据连接通道,即连接。
在一种可能的设计中,服务器403在与投屏设备402建立连接之前,还包括:
服务器403接收投屏设备402发送的投屏请求,该投屏请求包括目标用户端中所登陆的目标用户标识;服务器403根据目标用户标识确定与目标用户标识对应的投屏标识;
对应的,服务器403在与投屏设备402建立连接,包括:
服务器403通过投屏标识与投屏设备402建立连接。
在一种可能的设计中,服务器403在通过投屏标识与投屏设备402建立连接之后,还包括:
服务器403向投屏设备402发送初始同步数据,以使投屏设备402显示目标用户端中的目标应用的初始画面。
S506、按预设周期向服务器发送应用操作数据。
S507、根据各个用户端所输入的操作数据确定同步投屏数据。
S508、以帧同步的方式向用户端集合以及投屏设备发送同步投屏数据。
在本步骤中,服务器403通过连接向投屏设备发送同步投屏数据。同步投屏数据的传输方式为帧同步的方式。可以理解的是,服务器403与用户端401之间也建立有数据传输连接,并且在本实施例中,是以帧同步的方式进行各个用户端间的同步投屏数据的传输。
下面对帧同步的运行机理进行简要的举例介绍。
以帧同步的即时对战类游戏应用为例:
用户端A将的用户A的操作A1封装成应用操作数据OperateCmd_A1与用户端将用户B的操作B1封装成应用操作数据OperateCmd_B1发送给服务器。服务器每隔预设的周期时间如66MS产生一个逻辑帧,在该逻辑帧所在的周期时间段内收到A1和B1对应的应用操作数据OperateCmd_A1和OperateCmd_B1后,生成一个Frame框架数据块即同步投屏数据,在该逻辑帧所在的周期时间结束时,将Frame框架数据块即同步投屏数据发送给用户端A和B。Frame框架数据块即同步投屏数据内有该逻辑帧的帧号。用户端A和B收到Frame框架数据块即同步投屏数据后,经解析得到该逻辑帧所对应的周期时间内,用户A和用户B分别在用户端A和用户端B所进行的所有操作。然后用户端A和用户端B根据收到的同步投屏数据中所包含的操作A1和B1进行游戏表现,从而使得最终呈现给用户A和用户B的结果是一致的。从而实现用户端A与用户端B的数据同步。
按照上述帧同步原理,在本实施例中,将服务器403将投屏设备402当成用户端C来发送同步投屏数据,在投屏设备402上安装有对应的帧同步类型的即时对战类游戏应用程序,或者投屏设备402上安装有专门用于投屏的即无其它输入操作功能的与帧同步类型的即时对战类游戏应用程序相对应的投屏应用。在本实施例中,投屏设备402是以用户端401所登录的游戏账号所对应的用于观战的投屏标识即附属账号与服务器403连接的。服务器403在逻辑帧所对应的周期时间内并不采集投屏设备402上的操作数据,但是在发送同步投屏数据时,是一起都发送的,这就利用帧同步的原理实现了,在用户端401和投屏设备402上操作的零延时同步。从基本原理上就消除了现有技术中投屏设备与用户端之间的延时。
S509、接收服务器发送的同步投屏数据。
在本步骤中,用户端401通过与服务器403的同步投屏数据连接来接收包含所有其它用户端上在同一逻辑帧所对应的周期时间内的所有操作的同步投屏数据;投屏设备402通过与服务器403的连接接收与用户端401相同的或者相对应的同步投屏数据。
S510、根据同步投屏数据显示目标应用界面。
在本实施例中,投屏设备402上安装的帧同步的即时对战类游戏的应用程序或与帧同步的即时对战类游戏的应用程序对应的投屏应用,解析服务器403发送的帧同步类型的同步投屏数据,将用户端401在逻辑帧对应的周期时间内所执行的应用操作同步显示到投屏设备402上,实现了与用户端401的零延时同步效果。
S511、根据同步投屏数据确定与投屏设备同步显示的应用界面。
在本实施例中,用户端401通过帧同步的方式来解析并显示同步投屏数据。
需要说明的是,在一种可能的实施例中,投屏设备可以有多个,或者投屏设备对应多个显示屏,或者是投屏设备可以将显示屏进行分区显示。对应的用户端也可以是多个用户端。在如电子竞技比赛等应用场景时,投屏设备为分区块的大屏幕或者多个大屏幕,分别显示多个比赛玩家选手所操作的用户端上的同步操作,使得观看电子竞技比赛的观众能够实时感受到职业选手的操作,极大提高了观众在电子竞技比赛上的观看体验。
本申请实施例提供的应用界面投屏方法,通过投屏设备接收服务器向用户端和投屏设备一同发送的同步投屏数据,然后投屏设备根据同步投屏数据显示目标用户端当前显示的目标应用界面。同步投屏数据从服务器到用户端和投屏设备的传输时间基本相同,投屏设备和用户端处理同步投屏数据所需要的时间也基本相同,从而消除了用户端和投屏设备显示图像的时间差,解决了现有技术中投屏设备与用户端两者显示的图像之间存在延迟的技术问题,即达到了消除用户端和投屏设备的显示延迟,提高了用户对于投屏设备的使用体验的技术效果。
图6为本申请实施例提供的一种应用界面投屏装置的结构示意图。如图6所示,本实施例提供的应用界面投屏装置600,包括:
接收模块601,用于接收服务器发送的同步投屏数据,同步投屏数据包括用户端集合中各个用户端所输入的操作数据;
处理模块602,用于根据同步投屏数据显示目标应用界面,以使投屏设备同步显示目标用户端当前所显示的应用界面,其中,目标用户端为用户端集合中的至少一个用户端。
在一种可能的设计中,该应用界面投屏装置在接收模块601,用于接收服务器发送的同步投屏数据之前,还包括:
接收模块601,还用于接收目标用户端发送的投屏指令;处理模块602,还用于根据投屏指令与服务器建立连接,以通过连接接收服务器发送的同步投屏数据。
在一种可能的设计中,投屏指令包括目标用户端中的目标用户标识以及所对应的目标应用的应用信息;则处理模块602,还用于根据投屏指令与服务器建立连接,包括:
处理模块602,还用于根据应用信息启动目标应用;处理模块602,还用于在目标应用中通过投屏标识建立与服务器的连接。
在一种可能的设计中,该应用界面投屏装置的接收模块601是根据投屏标识接收服务器发送的同步投屏数据,投屏标识与目标用户标识相关联,投屏标识包括需要投屏显示的目标用户端中所登录的目标用户标识的关联账号。
可选的,在处理模块602,还用于根据应用信息启动目标应用之后,还包括:处理模块602,还用于根据目标用户标识从服务器获取对应的投屏标识。
在一种可能的设计中,处理模块602,还用于在目标应用中通过目标用户标识建立与服务器的连接,包括:
处理模块602,还用于根据目标用户标识确定投屏请求,该投屏请求用于向服务器获取投屏标识;发送模块,还用于向服务器发送投屏请求,以建立连接。
在一种可能的设计中,在处理模块602,还用于建立连接之后,还包括:
接收模块601,还用于接收服务器发送的初始同步数据,初始同步数据包括含有投屏标识的操作数据;处理模块602,还用于运行初始同步数据,以显示目标应用中的初始画面。
在一种可能的设计中,接收模块601,还用于接收目标用户端发送的投屏指令,包括:
处理模块602,还用于利用实时流传输协议RTSP,与目标用户端建立协商连接;接收模块601,还用于接收以RTSP传递的所述投屏指令。
在一种可能的设计中,在接收模块601,还用于接收以RTSP传递的所述投屏指令之前,还包括:
处理模块602,还用于暂停当前正在播放的媒体流。
在一种可能的设计中,在处理模块602,还用于暂停当前正在播放的视频流之后,还包括:
处理模块602,还用于确定目标应用为帧同步类型的对战游戏;
对应的,用户端的操作数据为对战游戏的游戏操作指令。
在一种可能的设计中,投屏标识包括观战标识,当目标应用为帧同步类型的对战游戏时,观战标识用于在观战模式下对目标应用界面进行显示。
值得说明的,本实施例提供的应用界面投屏装置600,可用于执行上述任一方法实施例中投屏设备侧的步骤,具体实现方式和技术效果类似,这里不再赘述。
图7为本申请实施例提供的另一种应用界面投屏装置的结构示意图。如图7所示,本实施例提供的应用界面投屏装置700,包括:
接收模块701,用于以预设周期采集用户端集合中各个用户端所输入的操作数据;
处理模块702,用于根据各个用户端所输入的操作数据确定同步投屏数据;
发送模块703,用于发送同步投屏数据。
在一种可能的设计中,在发送模块703,用于发送同步投屏数据之前,还包括:
处理模块702,还用于与投屏设备建立连接;对应的,发送模块703,用于发送同步投屏数据,包括:
发送模块703,用于通过连接向投屏设备发送同步投屏数据。
在一种可能的设计中,在处理模块702,还用于与投屏设备建立连接之前,还包括:
接收模块701,还用于接收投屏设备发送的投屏请求,该投屏请求包括目标用户端中所登陆的目标用户标识;
处理模块702,还用于根据目标用户标识确定与目标用户标识对应的投屏标识;
对应的,处理模块702,还用于与投屏设备建立连接,包括:
处理模块702,还用于通过投屏标识与投屏设备建立连接。
在一种可能的设计中,在处理模块702,还用于通过投屏标识与投屏设备建立连接之后,还包括:
发送模块703,还用于向投屏设备发送初始同步数据,以使投屏设备显示目标用户端中的目标应用的初始画面。
在一种可能的设计中,发送模块703,还用于发送所述同步投屏数据,包括:
发送模块703,还用于以帧同步的方式向用户端集合以及投屏设备发送同步投屏数据。
值得说明的,本实施例提供的应用界面投屏装置700,可用于执行上述任一方法实施例中服务器侧的步骤,具体实现方式和技术效果类似,这里不再赘述。
图8为本申请实施例提供的又一种应用界面投屏装置的结构示意图。如图8所示,本实施例提供的应用界面投屏装置800,包括:
发送模块801,用于按预设周期向服务器发送应用操作数据,应用操作数据包括用户输入的操作指令以及应用界面的显示数据;
接收模块802,用于接收服务器发送的同步投屏数据;
处理模块803,用于根据同步投屏数据确定与投屏设备同步显示的应用界面。
在一种可能的设计中,在发送模块801,用于按预设周期向服务器发送应用操作数据之前,还包括:
发送模块801,还用于向投屏设备发送投屏指令,投屏指令包括用户端中登录的目标用户标识。
在一种可能的设计中,在发送模块801,还用于向投屏设备发送投屏指令之前,还包括:
发送模块801,还用于向投屏设备发送能力确认请求,能力确认请求用于确定投屏设备支持投屏方法;
接收模块802,还用于接收投屏设备发送的能力确认信息,以确定投屏设备支持目标应用的投屏要求。
在一种可能的设计中,在发送模块801,还用于向投屏设备发送能力确认请求之前,还包括:
处理模块803,还用于利用实时流传输协议RTSP与投屏设备建立协商连接;
对应的,投屏设备与第六方面的应用界面投屏装置的数据交互都通过RTSP进行。
在一种可能的设计中,在处理模块803,还用于利用实时流传输协议RTSP与投屏设备建立协商连接之前,还包括:处理模块803,还用于监测到启动的目标应用为帧同步类型的对战游戏。
值得说明的,本实施例提供的应用界面投屏装置800,可用于执行上述任一方法实施例中用户端侧的步骤,具体实现方式和技术效果类似,这里不再赘述。
图9为本申请实施例提供的一种示例性的投屏设备的结构图。如图9所示,本实施例提供的投屏设备900包括:处理器901、存储器902、通信接口903以及总线904。
其中,处理器901、存储器902和通信接口903之间通过总线904连接并完成相互间的通信,存储器902中用于存储计算机执行指令,设备运行时,处理器901执行存储器902中的计算机执行指令以利用设备中的硬件资源执行图3和图5对应的应用界面投屏方法中投屏设备侧的步骤。
图10为本申请实施例提供的一种示例性的服务器的结构图。如图10所示,本实施例提供的服务器1000包括:处理器1001、存储器1002、通信接口1003以及总线1004。
其中,处理器1001、存储器1002和通信接口1003之间通过总线1004连接并完成相互间的通信,存储器1002中用于存储计算机执行指令,设备运行时,处理器1001执行存储器1002中的计算机执行指令以利用设备中的硬件资源执行图3和图5对应的应用界面投屏方法中服务器侧的步骤。
图11为本申请实施例提供的一种示例性的用户端设备的结构图。如图11所示,本实施例提供的用户端设备1100包括:处理器1101、存储器1102、通信接口1103以及总线1104。
其中,处理器1101、存储器1102和通信接口1103之间通过总线1104连接并完成相互间的通信,存储器1102中用于存储计算机执行指令,设备运行时,处理器1101执行存储器1102中的计算机执行指令以利用设备中的硬件资源执行图3-图5对应的应用界面投屏方法中服务器侧的步骤。
本申请实施例另一方面还提供一种应用界面投屏系统,包括图9所示的投屏设备、图10所示的服务器,以及图11所示的用户端。
本申请实施例又一方面还提供一种计算机可读介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行图3和图5对应的应用界面投屏方法中投屏设备侧的步骤。
本申请实施例又一方面还提供一种计算机可读介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行图3和图5对应的应用界面投屏方法中服务器侧的步骤。
本申请实施例又一方面还提供一种计算机可读介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行图3和图5对应的应用界面投屏方法中用户端侧的步骤。
本申请实施例再一方面还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现图3和图5对应的应用界面投屏方法中投屏设备侧的应用界面投屏方法。
本申请实施例再一方面还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现图3和图5对应的应用界面投屏方法中服务器侧的应用界面投屏方法。
本申请实施例再一方面还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现图3和图5对应的应用界面投屏方法中用户端侧的应用界面投屏方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (30)

1.一种应用界面投屏方法,其特征在于,应用于投屏设备,包括:
接收服务器发送的同步投屏数据,所述同步投屏数据包括用户端集合中各个用户端所输入的操作数据;
根据所述同步投屏数据显示目标应用界面,以使所述投屏设备同步显示目标用户端当前所显示的应用界面,其中,所述目标用户端为所述用户端集合中的至少一个用户端。
2.根据权利要求1所述的应用界面投屏方法,其特征在于,在所述接收服务器发送的同步投屏数据之前,还包括:
接收所述目标用户端发送的投屏指令;
根据所述投屏指令与所述服务器建立连接,以通过所述连接接收所述服务器发送的所述同步投屏数据。
3.根据权利要求2所述的应用界面投屏方法,其特征在于,所述投屏指令包括目标用户端中的目标用户标识以及所对应的目标应用的应用信息;所述根据所述投屏指令与所述服务器建立连接包括:
根据所述应用信息启动所述目标应用;
在所述目标应用中通过所述目标用户标识建立与所述服务器的所述连接。
4.根据权利要求3所述的应用界面投屏方法,其特征在于,所述接收服务器发送的同步投屏数据,包括:
根据投屏标识接收所述服务器发送的所述同步投屏数据,所述投屏标识与所述目标用户标识相关联。
5.根据权利要求4所述的应用界面投屏方法,其特征在于,所述在所述目标应用中通过所述目标用户标识建立与所述服务器的所述连接,包括:
根据所述目标用户标识确定投屏请求,所述投屏请求用于向所述服务器获取所述投屏标识;
向所述服务器发送所述投屏请求,以建立所述连接。
6.根据权利要求5所述的应用界面投屏方法,其特征在于,在所述建立所述连接之后,还包括:
接收所述服务器发送的初始同步数据,所述初始同步数据包括含有所述投屏标识的操作数据;
运行所述初始同步数据,以显示所述目标应用中的初始画面。
7.根据权利要求2-6中任意一项所述的应用界面投屏方法,其特征在于,所述接收所述目标用户端发送的投屏指令,包括:
利用实时流传输协议RTSP,与所述目标用户端建立协商连接;
接收以所述RTSP传递的所述投屏指令。
8.根据权利要求7所述的应用界面投屏方法,其特征在于,在所述接收以所述RTSP传递的所述投屏指令之前,还包括:
暂停当前正在播放的媒体流。
9.根据权利要求8所述的应用界面投屏方法,其特征在于,在所述暂停当前正在播放的视频流之后,还包括:
确定所述目标应用为帧同步类型的对战游戏或使用高清视频的应用;
对应的,所述操作数据包括操作指令。
10.根据权利要求9所述的应用界面投屏方法,其特征在于,所述投屏标识包括观战标识,当所述目标应用为帧同步类型的对战游戏时,所述观战标识用于在观战模式下对所述目标应用界面进行显示。
11.一种应用界面投屏方法,其特征在于,应用于服务器,包括:
以预设周期采集用户端集合中各个用户端所输入的操作数据;
根据各个用户端所输入的操作数据确定同步投屏数据;
发送所述同步投屏数据。
12.根据权利要求11所述的应用界面投屏方法,其特征在于,在所述发送所述同步投屏数据之前,还包括:
与投屏设备建立连接;
对应的,所述发送所述同步投屏数据,包括:
通过所述连接向所述投屏设备发送所述同步投屏数据。
13.根据权利要求12所述的应用界面投屏方法,其特征在于,在所述与投屏设备建立连接之前,还包括:
接收所述投屏设备发送的投屏请求,所述投屏请求包括目标用户端对应的目标用户标识;
根据所述目标用户标识确定对应的投屏标识;
对应的,所述与投屏设备建立连接,包括:
通过所述投屏标识与所述投屏设备建立连接。
14.根据权利要求13所述的应用界面投屏方法,其特征在于,在所述通过所述投屏标识与所述投屏设备建立连接之后,还包括:
向所述投屏设备发送初始同步数据,以使所述投屏设备显示所述目标用户端中的目标应用的初始画面。
15.根据权利要求11-14中任意一项所述的应用界面投屏方法,其特征在于,所述发送所述同步投屏数据,包括:
以帧同步的方式向用户端集合以及投屏设备发送所述同步投屏数据。
16.一种应用界面投屏方法,其特征在于,应用于用户端,包括:
按预设周期向服务器发送应用操作数据,所述应用操作数据包括用户输入的操作指令以及应用界面的显示数据;
接收服务器发送的同步投屏数据;
根据所述同步投屏数据确定与投屏设备同步显示的所述应用界面。
17.根据权利要求16所述的应用界面投屏方法,其特征在于,在所述按预设周期向服务器发送应用操作数据之前,还包括:
向所述投屏设备发送投屏指令,所述投屏指令包括所述用户端对应的目标用户标识。
18.根据权利要求17所述的应用界面投屏方法,其特征在于,在所述向所述投屏设备发送投屏指令之前,还包括:
向所述投屏设备发送能力确认请求,所述能力确认请求用于确定所述投屏设备支持所述应用界面投屏方法;
接收所述投屏设备发送的能力确认信息,以确定所述投屏设备支持目标应用的投屏要求。
19.根据权利要求18所述的应用界面投屏方法,其特征在于,在所述向所述投屏设备发送能力确认请求之前,还包括:
利用实时流传输协议RTSP与所述投屏设备建立协商连接;
对应的,所述投屏设备与所述用户端的数据交互都通过所述RTSP进行。
20.根据权利要求19所述的应用界面投屏方法,其特征在于,在所述利用实时流传输协议RTSP与所述投屏设备建立协商连接之前,还包括:
监测到启动的所述目标应用为帧同步类型的对战游戏或使用高清视频的应用。
21.一种应用界面投屏装置,其特征在于,包括:
接收模块,用于接收服务器发送的同步投屏数据,所述同步投屏数据包括用户端集合中各个用户端所输入的操作数据;
处理模块,用于根据所述同步投屏数据显示目标应用界面,以使所述投屏设备同步显示目标用户端当前所显示的应用界面,其中,所述目标用户端为所述用户端集合中的至少一个用户端。
22.一种应用界面投屏装置,其特征在于,包括:
接收模块,用于以预设周期采集用户端集合中各个用户端所输入的操作数据;
处理模块,用于根据各个用户端所输入的操作数据确定同步投屏数据;
发送模块,用于向所述用户端集合以及投屏设备发送所述同步投屏数据。
23.一种应用界面投屏装置,其特征在于,包括:
发送模块,用于按预设周期向服务器发送应用操作数据,所述应用操作数据包括用户输入的操作指令以及应用界面的显示数据;
接收模块,用于接收服务器发送的同步投屏数据;
处理模块,用于根据所述同步投屏数据确定与投屏设备同步显示的所述应用界面。
24.一种投屏设备,其特征在于,包括:
处理器、存储器;
存储器用于存储程序和数据,所述处理器调用存储器存储的程序,以执行权利要求1至10任一项所述的应用界面投屏方法。
25.一种服务器,其特征在于,包括:
处理器、存储器;
存储器用于存储程序和数据,所述处理器调用存储器存储的程序,以执行权利要求11至15任一项所述的应用界面投屏方法。
26.一种用户端设备,其特征在于,包括:
处理器、存储器;
存储器用于存储程序和数据,所述处理器调用存储器存储的程序,以执行权利要求16至20任一项所述的应用界面投屏方法。
27.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括程序,所述程序在被处理器执行时用于执行权利要求1至10任一项所述的应用界面投屏方法。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括程序,所述程序在被处理器执行时用于执行权利要求11至15任一项所述的应用界面投屏方法。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括程序,所述程序在被处理器执行时用于执行权利要求16至20任一项所述的应用界面投屏方法。
30.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-20中任意一项所述的应用界面投屏方法。
CN202011343865.XA 2020-11-25 2020-11-25 应用界面投屏方法、装置、设备以及存储介质 Pending CN114546308A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011343865.XA CN114546308A (zh) 2020-11-25 2020-11-25 应用界面投屏方法、装置、设备以及存储介质
PCT/CN2021/132164 WO2022111421A1 (zh) 2020-11-25 2021-11-22 应用界面投屏方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011343865.XA CN114546308A (zh) 2020-11-25 2020-11-25 应用界面投屏方法、装置、设备以及存储介质

Publications (1)

Publication Number Publication Date
CN114546308A true CN114546308A (zh) 2022-05-27

Family

ID=81659645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011343865.XA Pending CN114546308A (zh) 2020-11-25 2020-11-25 应用界面投屏方法、装置、设备以及存储介质

Country Status (2)

Country Link
CN (1) CN114546308A (zh)
WO (1) WO2022111421A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115087132A (zh) * 2022-06-08 2022-09-20 苏州华启智能科技有限公司 基于Miracast投屏方法、电子设备及系统
CN115964011B (zh) * 2023-03-16 2023-06-06 深圳市湘凡科技有限公司 基于多屏协同的显示应用界面的方法及相关装置
CN116578256B (zh) * 2023-05-16 2023-10-24 润芯微科技(江苏)有限公司 一种投屏方法及投屏设备、投屏控制系统
CN116828242B (zh) * 2023-08-30 2023-12-05 亿咖通(湖北)技术有限公司 长链路投屏方法、系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017173793A1 (zh) * 2016-04-06 2017-10-12 乐视控股(北京)有限公司 一种视频投屏方法及装置
CN111327934A (zh) * 2020-02-28 2020-06-23 海信集团有限公司 通信终端、控制设备及视频多设备同步播放方法
CN111901674A (zh) * 2020-07-13 2020-11-06 腾讯科技(深圳)有限公司 一种视频播放控制及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180192122A1 (en) * 2017-01-05 2018-07-05 Blackfire Research Corporation Enhanced home media experience using a wireless media hub
CN110876080B (zh) * 2018-08-30 2021-07-20 华为技术有限公司 视频投屏方法、装置、计算机设备及存储介质
CN111984215A (zh) * 2020-08-19 2020-11-24 Oppo广东移动通信有限公司 多媒体数据播放方法、终端及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017173793A1 (zh) * 2016-04-06 2017-10-12 乐视控股(北京)有限公司 一种视频投屏方法及装置
CN111327934A (zh) * 2020-02-28 2020-06-23 海信集团有限公司 通信终端、控制设备及视频多设备同步播放方法
CN111901674A (zh) * 2020-07-13 2020-11-06 腾讯科技(深圳)有限公司 一种视频播放控制及装置

Also Published As

Publication number Publication date
WO2022111421A1 (zh) 2022-06-02

Similar Documents

Publication Publication Date Title
US11457283B2 (en) System and method for multi-user digital interactive experience
CN114546308A (zh) 应用界面投屏方法、装置、设备以及存储介质
CN103517142B (zh) 一种基于智能电视的互动评论信息处理方法及系统
JP2013520038A (ja) コンテンツ再生の同期方法及び同期装置
CN107256154A (zh) 虚拟桌面服务
CN103067776A (zh) 节目推送方法、系统及智能显示设备、云端服务器
CN106817628B (zh) 一种网络直播平台
US11889159B2 (en) System and method for multi-user digital interactive experience
CN112291498B (zh) 音视频数据传输的方法、装置和存储介质
KR20140103156A (ko) 멀티미디어 서비스를 이용하기 위한 시스템, 장치 및 방법
WO2015180446A1 (zh) 一种多设备联动服务中的连接通道维护系统及方法
CN113542660A (zh) 一种实现会议多画面高清显示的方法、系统及存储介质
US20210227005A1 (en) Multi-user instant messaging method, system, apparatus, and electronic device
CN110996039B (zh) 电子白板共享方法、系统和计算机可读存储介质
CN114554277B (zh) 多媒体的处理方法、装置、服务器及计算机可读存储介质
CN113099281B (zh) 视频互动方法、装置、存储介质及终端
JP2020174378A (ja) 異種ネットワーキング環境におけるメディアレンダリングの同期化
CN110392285B (zh) 媒体流处理方法及装置
KR20090040107A (ko) 실시간 개인 방송 방법
CN115037979B (zh) 投屏方法及相关设备
CN113612728B (zh) 流媒体播放方法、传输设备和系统
CN101938451A (zh) 显示互动内容的系统、方法及相关装置
CN117221637A (zh) 视频播放方法以及相关设备
CN117714764A (zh) 一种视频播放方法、装置、设备及存储介质
CN117395427A (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