CN117156190A - 投屏管理方法和装置 - Google Patents

投屏管理方法和装置 Download PDF

Info

Publication number
CN117156190A
CN117156190A CN202310462584.3A CN202310462584A CN117156190A CN 117156190 A CN117156190 A CN 117156190A CN 202310462584 A CN202310462584 A CN 202310462584A CN 117156190 A CN117156190 A CN 117156190A
Authority
CN
China
Prior art keywords
screen
instruction
equipment
file
message
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
CN202310462584.3A
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.)
Honor Device Co Ltd
Original Assignee
Honor 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310462584.3A priority Critical patent/CN117156190A/zh
Publication of CN117156190A publication Critical patent/CN117156190A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43078Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen for seamlessly watching content streams when changing device, e.g. when watching the same program sequentially on a TV and then on a tablet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请实施例提供一种投屏管理方法和装置,应用于终端设备,终端设备与投屏设备均处于投屏连接状态,方法包括:终端设备接收来自投屏设备的第一消息,第一消息中包括第一方法字段,第一方法字段用于支持设备之间进行文件传输;终端设备接收来自投屏设备的第二消息,第二消息中包括:用于设置文件信息的第一子字段、以及用于设置文件传输时所需的第一参数的第二子字段;终端设备接收来自投屏设备的第三消息;终端设备接收来自投屏设备的第四消息;终端设备按照第一参数将OTA文件发送至投屏设备。这样,可以通过扩展RTSP中的FILE_TRANPORT字段,使得终端设备与投屏设备之间可以通过FILE_TRANPORT字段实现对于投屏设备的版本升级,提高用户使用投屏功能的体验感。

Description

投屏管理方法和装置
技术领域
本申请涉及终端技术领域,尤其涉及一种投屏管理方法和装置。
背景技术
随着互联网的普及和发展,投屏技术得到了广泛的应用,投屏是指将一个设备上的媒体资源投射到另一个设备上进行播放。
通常情况下,终端设备可以基于实时流传输协议(real time streamingprotocol,RTSP)将媒体资源投射到如扩展现实(extended reality,XR)眼镜、电视等投屏设备中,或者,终端设备也可以基于RTSP将媒体资源发送投屏转接器,并由投屏转接器将媒体资源通过投屏转接器继续投射至投屏设备中。
然而,投屏设备无法在上述投屏场景中实现设备版本升级。
发明内容
本申请实施例提供一种投屏管理方法和装置,用于解决投屏设备难以实现版本升级的问题。
第一方面,本申请实施例提供一种投屏管理方法,其特征在于,应用于终端设备,终端设备与投屏设备均处于投屏连接状态,方法包括:终端设备向投屏设备发送第一指令;终端设备接收来自投屏设备的第一消息,第一消息中包括第一方法字段,第一方法字段用于支持设备之间进行文件传输,第一消息为投屏设备响应于第一指令生成的;终端设备向投屏设备发送第二指令,第二指令中包括第一方法字段;终端设备接收来自投屏设备的第二消息,第二消息中包括:用于设置文件信息的第一子字段、以及用于设置文件传输时所需的第一参数的第二子字段,第二消息为投屏设备响应于第二指令生成的;终端设备向投屏设备发送第三指令,第三指令中包括:空中下载技术OTA文件对应的文件信息以及第一子字段;终端设备接收来自投屏设备的第三消息,第三消息为投屏设备响应于第三指令生成的;终端设备向投屏设备发送第四指令,第四指令中包括第二子字段;终端设备接收来自投屏设备的第四消息,第四消息为投屏设备响应于第四指令生成的;终端设备按照第一参数将OTA文件发送至投屏设备。这样,可以通过扩展RTSP中的FILE_TRANPORT字段,使得终端设备与投屏设备之间可以通过FILE_TRANPORT字段实现对于投屏设备的版本升级,提高用户使用投屏功能的体验感。
其中,第一指令为本申请实施例中描述的OPTIONS指令,第一方法字段为FILE_TRANPORT,第二指令为FILE_TRANPORT指令,第一子字段为set_file_info,第二子字段为set_transport_para,第一参数可以为文件传输参数,第三指令可以为S607中的用于设置文件信息的指令,第三消息可以为S609中的用于指示文件信息是否设置成功的消息,第四指令可以为S612中的用于设置文件传输参数的指令,第四消息可以为S614中的用于指示文件传输参数是否设置成功的消息。
在一种可能的实现方式中,第二消息中还包括用于获取文件传输时所需的第二参数的第三子字段,方法还包括:终端设备向投屏设备发送第五指令,第五指令中包括第三子字段;终端设备接收来自投屏设备的第五消息,第五消息中包含第二参数,第五消息为投屏设备响应于第五指令生成的;终端设备向投屏设备发送第四指令,包括:在从第二参数以及第三参数中确定出第一参数的情况下,终端设备向投屏设备发送第四指令,第三参数为终端设备在进行文件传输时所需的参数,第二参数为投屏设备在进行文件传输时所需的参数,第一参数为第二参数以及第三参数中的相同参数。这样,终端设备与投屏设备之间可以通过get_transport_para字段实现对于文件传输时所需的参数的对齐,保证传输过程的稳定性。其中,第三子字段为get_transport_para字段,第五指令为S610中的用于获取文件传输参数的指令。
在一种可能的实现方式中,第五消息中还包括:用于获取投屏设备中的设备信息对应的子字段,设备信息中包括下述一种或多种:设备的版本信息、或用于指示OTA升级状态的信息。
在一种可能的实现方式中,第一参数包括下述一种或多种:用于指示是否支持重传的参数、用于指示单包最大长度的参数、用于指示超时时间的参数、用于指示是否支持加密的参数、或用于指示版本信息的参数。
在一种可能的实现方式中,第一消息中还包括:第二方法字段,第二方法字段用于支持设备之间进行设备信息的传输,方法还包括:终端设备向投屏设备发送第六指令,第六指令中包括:第二方法字段;终端设备接收来自投屏设备的第六消息,第六消息中包括:用于获取传感器数据的第三子字段,第六消息为投屏设备响应于第六指令生成的;终端设备向投屏设备发送第七指令,第七指令中包括第三子字段;终端设备接收来自投屏设备的第七消息,第七消息中包括投屏设备中的传感器数据,第七消息为投屏设备响应于第七指令生成的。这样,终端设备与投屏设备之间可以通过扩展RTSP中的DEVICE_MANAGEMENT字段,实现终端设备对于sensor数据的获取,进而使得终端设备可以根据sensor数据进行投屏画面的调整。
其中,第二方法字段可以为DEVICE_MANAGEMENT字段,第六指令可以为S407中描述的设备管理指令,第三子字段可以为get_sensor字段,第七指令可以为S409中描述的用于获取sensor参数的指令。
在一种可能的实现方式中,方法还包括:终端设备通过传感器数据确定投屏设备的旋转角度以及位移量,其中,传感器数据包括下述一种或多种:设备的加速度数据、设备的角速度数据、或者设备的磁力计数据;终端设备利用旋转角度以及位移量对投屏画面进行调整,并将调整后的投屏画面发送至投屏设备。这样,使得终端设备可以利用用户使用投屏设备产生的sensor数据,实时调整投屏画面,使得投屏画面更为立体。
在一种可能的实现方式中,第一消息中还包括:第三方法字段,第三方法字段用于支持设备之间进行加密能力协商,方法还包括:终端设备向投屏设备发送第八指令,第八指令中包括第三方法字段以及终端设备支持的第一加密方法;终端设备接收来自投屏设备的第八消息,第八消息中包括投屏设备支持的第二加密方法,第八消息为投屏设备响应于第八指令生成的;终端设备确定第一加密方法以及第二加密方法中相同的第三加密方法;终端设备向投屏设备发送第三指令,包括:终端设备利用第三加密方法对OTA文件对应的文件信息进行加密,并将加密后的OTA文件对应的文件信息通过第三指令发送至投屏设备。这样,终端设备与投屏设备之间可以通过扩展RTSP中的ENCRYPTION_CONTROL字段,提供基于RTSP传输数据的安全性。
其中,第三方法字段可以为ENCRYPTION_CONTROL字段,第八指令可以为S405中的加密控制指令。
在一种可能的实现方式中,第二消息中还包括:用于获取文件列表的第四子字段、以及用于获取日志文件的第五子字段,方法还包括:终端设备向投屏设备发送第九指令,第九指令中包括第四子字段;终端设备接收来自投屏设备的第九消息,第九消息中包括下述一种或多种:文件列表、文件列表中的任一文件所在的结构体、任一文件的文件名称、任一文件的文件类型、任一文件对应的校验值,第九消息为投屏设备响应于第九指令生成的;终端设备向投屏设备发送第十指令,第十指令中包括第五子字段;终端设备接收来自投屏设备的日志文件,日志文件为投屏设备响应于第十指令发送的。这样,终端设备与投屏设备之间可以通过RTSP中的扩展的FILE_TRANPORT字段,实现日志文件的传输,使得终端设备可以利用日志文件查看投屏过程中的通信状态。
在一种可能的实现方式中,投屏设备为扩展现实XR眼镜。
在一种可能的实现方式中,终端设备为不支持DP协议的设备。
在一种可能的实现方式中,终端设备向投屏设备发送第三指令,包括:在终端设备不支持DP协议的情况下,终端设备向投屏设备发送第三指令。这样,终端设备可以在不支持DP协议的情况下,通过本申请实施例中提供的RTSP实现对于OTA文件的传输。
在一种可能的实现方式中,终端设备具有串行总线USB Type-C接口,方法还包括:终端设备基于USB Type-C接口与投屏设备建立连接;在终端设备支持DP协议的情况下,终端设备基于DP协议将OTA文件发送至投屏设备。这样,在终端设备支持DP协议的情况下,终端设备可以通过DP协议传输OTA文件,增加投屏的使用场景。
第二方面,本申请实施例提供一种投屏管理方法,应用于投屏设备,投屏设备与终端设备均处于投屏连接状态,方法包括:投屏设备与终端设备建立投屏连接,投屏设备与终端设备处于同一WIFI网络;投屏设备接收来自终端设备的第一指令;投屏设备向终端设备发送第一消息,第一消息中包括第一方法字段,第一方法字段用于支持设备之间进行文件传输;第一消息为投屏设备响应于第一指令生成的;投屏设备接收来自终端设备的第二指令,第二指令中包括第一方法字段;投屏设备向终端设备发送第二消息,第二消息中包括:用于设置文件信息的第一子字段、以及用于设置文件传输时所需的第一参数的第二子字段;第二消息为投屏设备响应于第二指令生成的;投屏设备接收来自终端设备的第三指令,第三指令中包括:空中下载技术OTA文件对应的文件信息以及第一子字段;投屏设备向终端设备发送第三消息;第三消息为投屏设备响应于第三指令生成的;投屏设备接收来自终端设备的第四指令,第四指令中包括第二子字段;投屏设备向终端设备发送第四消息;第四消息为投屏设备响应于第四指令生成的;投屏设备接收来自终端设备按照第一参数发送的OTA文件。
在一种可能的实现方式中,第一参数包括下述一种或多种:用于指示是否支持重传的参数、用于指示单包最大长度的参数、用于指示超时时间的参数、用于指示是否支持加密的参数、或用于指示版本信息的参数。
在一种可能的实现方式中,第一消息中还包括:第二方法字段,第二方法字段用于支持设备之间进行设备信息的传输,方法还包括:投屏设备接收来自终端设备的第六指令,第六指令中包括:第二方法字段;投屏设备向终端设备发送第六消息,第六消息中包括:用于获取传感器数据的第三子字段,第六消息为投屏设备响应于第六指令生成的;投屏设备接收来自终端设备的第七指令,第七指令中包括第三子字段;投屏设备向终端设备发送第七消息,第七消息中包括投屏设备中的传感器数据,第七消息为投屏设备响应于第七指令生成的。
在一种可能的实现方式中,方法还包括:投屏设备接收来自终端设备的调整后的投屏画面,其中,调整后的投屏画面为终端设备基于旋转角度以及位移量对投屏画面进行调整得到的,旋转角度以及位移量均为基于传感器数据确定的,传感器数据包括下述一种或多种:设备的加速度数据、设备的角速度数据、或者设备的磁力计数据。
在一种可能的实现方式中,第一消息中还包括:第三方法字段,第三方法字段用于支持设备之间进行加密能力协商,方法还包括:投屏设备接收来自终端设备的第八指令,第八指令中包括第三方法字段以及终端设备支持的第一加密方法;投屏设备向终端设备发送第八消息,第八消息中包括投屏设备支持的第二加密方法,其中,第三指令中包括加密后的OTA文件对应的文件信息,加密后的OTA文件对应的文件信息为利用第三加密方法对OTA文件对应的文件信息进行加密得到的,第三加密方法为第一加密方法以及第二加密方法中相同的方法,第八消息为投屏设备响应于第八指令生成的。
在一种可能的实现方式中,第二消息中还包括:用于获取文件列表的第四子字段、以及用于获取日志文件的第五子字段,方法还包括:投屏设备接收来自终端设备的第九指令,第九指令中包括第四子字段;投屏设备向终端设备发送第九消息,第九消息中包括下述一种或多种:文件列表、文件列表中的任一文件所在的结构体、任一文件的文件名称、任一文件的文件类型、任一文件对应的校验值,第九消息为投屏设备响应于第九指令生成的;投屏设备接收来自终端设备的第十指令,第十指令中包括第五子字段;投屏设备按照第一参数向终端设备发送日志文件,日志文件为投屏设备响应于第十指令发送的。
在一种可能的实现方式中,终端设备为不支持DP协议的设备。
在一种可能的实现方式中,终端设备为支持DP协议的设备,终端设备具有串行总线USB Type-C接口,方法还包括:投屏设备与终端设备基于USB Type-C接口建立投屏连接,投屏设备接收来自终端设备的OTA文件,OTA文件为终端设备基于DP协议发送的。
第三方面,本申请实施例提供一种投屏管理***,投屏管理***中包括终端设备以及投屏设备,终端设备与投屏设备均处于投屏连接状态;终端设备向投屏设备发送第一指令;投屏设备向终端设备发送第一消息;第一消息中包括第一方法字段,第一方法字段用于支持设备之间进行文件传输,第一消息为待投屏设备响应于第一指令生成的;终端设备向投屏设备发送第二指令;第二指令中包括第一方法字段;投屏设备向终端设备发送第二消息;第二消息中包括:用于设置文件信息的第一子字段、以及用于设置文件传输时所需的第一参数的第二子字段,第二消息为待投屏设备响应于第二指令生成的;终端设备向投屏设备发送第三指令;第三指令中包括:空中下载技术OTA文件对应的文件信息以及第一子字段;投屏设备向终端设备发送第三消息,第三消息为待投屏设备响应于第三指令生成的;终端设备向投屏设备发送第四指令;第四指令中包括第二子字段:投屏设备向终端设备发送第四消息,第四消息为待投屏设备响应于第四指令生成的;终端设备按照第一参数将OTA文件发送至投屏设备。
第四方面,本申请实施例提供一种投屏管理装置,投屏管理装置包括用于执行上述第一方面中的方法的单元,或执行上述第二方面中的方法的单元。
其中,上述第一方面或第二方面,描述的方法可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,处理模块或单元、显示模块或单元等。
第五方面,本申请提供一种终端设备,该终端设备包括存储器和一个或多个处理器;其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得终端设备执行第一方面中任一项的方法。
第六方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令。当计算机指令在终端设备(如电脑)上运行时,使得该终端设备执行如第一方面及其任一种可能的设计方式的方法。
第七方面,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面及其任一种可能的设计方式的方法。
第八方面,本申请提供一种芯片***,该芯片***包括一个或多个接口电路和一个或多个处理器。该接口电路和处理器通过线路互联。上述芯片***可以应用于包括通信模块和存储器的终端设备。该接口电路用于从终端设备的存储器接收信号,并向处理器发送接收到的信号,该信号包括存储器中存储的计算机指令。当处理器执行该计算机指令时,终端设备可以执行如第一方面及其任一种可能的设计方式的方法。
应当理解的是,本申请的第二方面至第八方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种场景示意图;
图2为本申请实施例提供的一种终端设备的硬件结构示意图;
图3为本申请实施例提供的一种终端设备的软件结构示意图;
图4为本申请实施例提供的一种投屏管理方法的流程示意图;
图5为本申请实施例提供的一种投屏媒体资源的流程示意图;
图6为本申请实施例提供的一种实现OTA升级的流程示意图;
图7为本申请实施例提供的一种版本升级的界面示意图;
图8为本申请实施例提供的另一种版本升级的界面示意图;
图9为本申请实施例提供的一种实现log文件传输的流程示意图;
图10为本申请实施例提供的一种判断是否使用DP协议的流程示意图;
图11为本申请实施例提供的一种投屏管理装置的结构示意图;
图12为本申请实施例提供的另一种终端设备的硬件结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一值和第二值仅仅是为了区分不同的值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
为便于理解本申请实施例,首先对本申请中涉及到的一些词汇作简单说明。
1、RTSP
RTSP可以理解为一种投屏协议。具体的,RTSP为传输控制协议/网际协议(transmission control protocol/internet protocol,TCP/IP)协议体系中的一个应用层协议,RTSP定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP中所有的操作都是通过服务器和客户端之间的消息应答机制完成的,其中消息包括请求和应答两种,RTSP是对称的协议,客户端和服务器都可以发送和回应请求。其中,RTSP中涉及的各种方法字段可以参见表1对应的实施例。
表1为一种RTSP中的方法字段示意表
表1所示的方法字段均可以为RTSP中规定的标准协议字段。其中,方向中的C可以为客户端(client),如本申请实施例中描述的投屏设备,方向中的S可以为服务器端(service),如本申请实施例中描述的终端设备;对象中的P可以为呈现(presentation)或也可以理解为媒体流,对象中的S可以为流Stream,或也可以理解为数据流。
示例性的,服务端可以基于RTSP中指示的字段实现对于客户端的投屏、以及投屏过程中的数据传输。
2、空中下载技术(over the air technology,OTA)
OTA可以为一种通过移动通信的空中接口实现对终端设备、或终端设备中的各类型软件进行远程管理的技术。
3、投屏转接器
投屏转接器或也可以称为投屏转换器,为一种实现将某一服务端中的资源投射到另一客户端的工具,该投屏转接器不仅可以用于向客户端传输数据还可以用于为客户端供电。其中,投射的资源可以包括:媒体资源、以及数据资源等。
本申请实施例中,在服务端为手机且客户端为XR眼镜的情况下,手机与XR眼镜之间可以通过投屏转接器建立连接,在投屏过程中,手机可以将媒体资源发送到投屏转接器,并由投屏转接器进一步转发至XR眼镜中。
为了更好的理解本申请实施例的方法,下面首先对本申请实施例适用的应用场景进行描述。
示例性的,图1为本申请实施例提供的一种场景示意图。如图1所示,场景中可以包括:手机101、投屏转接器102以及XR眼镜103。其中,手机101与投屏转接器102可以通过移动热点(WIFI)的方式建立连接,投屏转接器102与XR眼镜之间可以通过投屏转接器102中的通用串行总线(universal serial bus,USB)Type-C接口与XR眼镜建立连接。
在图1对应的实施例中,手机101、投屏转接器102以及XR眼镜103均处于连接状态的情况下,手机101可以基于无线显示(miracast)标准,将手机101中的媒体资源通过WIFI投屏的方式发送至投屏转接器102中,投屏转接器102可以将媒体资源通过USB Type-C接口发送至XR眼镜103中,使得用户可以在XR眼镜中查看到手机中的媒体资源。
可能的实现方式中,手机101与XR眼镜103也可以通过无线的方式建立连接,并在建立连接的情况下实现投屏。
其中,手机101可以为本申请实施例中描述的服务端(service),XR眼镜103可以为本申请实施例中描述的客户端(client),且手机101与XR眼镜103之间可以基于投屏转接器建立连接的。
然而,基于图1描述的连接方式进行投屏的过程中存在一些无法解决的问题。
问题一:终端设备无法实现对于投屏设备中各类型设备信息的管理。可以理解为,在投屏设备的版本信息、设备升级状态、或用户佩戴投屏设备时产生的传感器(sensor)数据等设备信息没有发送至终端设备的情况下,终端设备无法根据投屏设备的设备信息对投屏设备进行有计划的维护、管理和控制。
例如,由于投屏设备中显示的内容是通过终端设备投屏时产生的,因此在无论用户佩戴投屏设备如何晃动,在投屏设备晃动时产生的sensor数据没有发送至终端设备的情况下,投屏设备中显示的内容都不会根据晃动情况进行变化。
针对问题一,有鉴于此,本申请实施例提供一种投屏管理方法,终端设备可以通过与设备管理(DEVICE_MANAGEMENT)相关的指令获取投屏设备的设备信息,并通过投屏设备的设备信息实现对于投屏设备的设备管理和维护,也可以根据设备信息对投屏的媒体资源进行调整。
问题二:终端设备无法对投屏设备进行OTA升级。可以理解为,在终端设备与投屏设备之间不支持文件数据传输的情况下,终端设备无法实现对于投屏设备的OTA升级。
针对问题二,有鉴于此,本申请实施例提供一种投屏管理方法,使得终端设备可以通过与文件传输(FILE_TRANPORT)相关的指令将文件信息发送至投屏设备、对投屏设备的文件传输能力进行了解,进而通过指令将用于OTA文件发送至投屏设备实现投屏设备的设备升级。
可以理解的是,不支持显示接口(display port,DP)协议的终端设备可以基于WIFI投屏方式与投屏设备建立连接,但是这种连接方式不支持投屏设备将数据反向传输给终端设备,进而导致问题一以及问题二的出现。其中,DP协议为一种数字视频传输协议,支持DP协议的终端设备可以实现与其他投屏设备的设备投屏连接,也可以实现视频数据的传输、文件传输等。
上述终端设备或投屏设备均可以称为终端,(terminal)、用户设备(userequipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。
终端设备可以为拥有媒体资源的设备,例如:手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、以及带无线收发功能的电脑等。
本申请实施例中描述的终端设备可以为发起投屏的设备,投屏设备可以为接收投屏内容的设备,例如终端设备可以将媒体资源通过投屏发送至投屏设备,投屏设备接收媒体资源并在显示屏中显示该媒体资源。
投屏设备可以为用于接收媒体资源的设备,例如:智能电视、车机屏幕、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备如XR眼镜、以及带有显示屏的设备等。本申请的实施例对终端设备或投屏设备所采用的具体技术和具体设备形态不做限定。
可以理解的是,本申请实施例提供的一种投屏管理方法也可以应用于终端设备与投屏设备实现双向通信的任一投屏场景中,本申请实施例中对此不做限定。
为了能够更好地理解本申请实施例,下面对本申请实施例的终端设备的结构进行介绍。示例性的,图2为本申请实施例提供的一种终端设备的硬件结构示意图。
可以理解的是,图2对应的实施例中描述的终端设备可以为终端设备或也可以为投屏设备,投屏设备中的硬件结构可以与终端设备不同,本申请实施例中对此不做限定。其中,投屏设备中可以包括:加速度传感器、陀螺仪传感器、以及磁传感器等传感器模块,以实现对于加速度数据、角速度数据(或角加速度数据)、以及磁力计数据等的获取。
终端设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,指示器192,摄像头193,以及显示屏194等。
传感器模块180中可以包括下述一种或多种,例如:压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,或骨传导传感器等。
可以理解的是,本申请实施例示意的结构并不构成对终端设备的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110中还可以设置存储器,用于存储指令和数据。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备充电,也可以用于终端设备与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。接口还可以用于连接其他设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块141用于连接充电管理模块140与处理器110。
终端设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备中的天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在终端设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至modem进行解调。
无线通信模块160可以提供应用在终端设备上的包括无线局域网(wirelesslocalarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequencymodulation,FM)等无线通信的解决方案。
modem可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器,受话器等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,modem可以是独立的器件。在另一些实施例中,modem可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
终端设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,终端设备可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
摄像头193用于捕获静态图像或视频。在一些实施例中,终端设备可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。
终端设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。耳机接口170D用于连接有线耳机。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。本申请实施例中,终端设备可以拥有设置一个麦克风170C。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备可以接收按键输入,产生与终端设备的用户设置以及功能控制有关的键信号输入。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
另外,在上述部件之上,设备还运行有操作***。例如iOS操作***,安卓(android)操作***,或Windows操作***等。在操作***上可以安装运行应用程序。
终端设备的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等,在此不再赘述。
示例性的,图3为本申请实施例提供的一种终端设备的软件结构示意图。
如图3所示,分层架构可以将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android***分为多层,从上至下分别为应用程序(application,APP)层,应用程序框架(framework)层,***库,以及内核(kernal)层等。
如图3所示,应用程序层中可以包括:观影应用、相册、相机、电话、蓝牙等应用程序,本申请实施例中对应用程序层中包括的其他应用不做具体限定。该观影应用可以实现投屏设备与终端设备之间的投屏连接、设置观影方式、以及对投屏设备进行版本升级等功能。
应用程序框架层用于为应用程序层中的各类型应用程序,提供应用编程接口(application programming interface,API)和编程框架,且应用程序框架层中可以包括一些预先定义的函数。
如图3所示,应用程序框架层可以包括:可能的实现方式中,该应用程序框架层中还可以包括下述一种或多种:RTSP中间件、窗口管理器、内容提供器、资源管理器、视图***、或通知管理器等。
RTSP中间件用于根据观影应用的指示,控制终端设备与投屏设备之间的报文交互。例如,在终端设备与投屏设备建立WIFI投屏连接的情况下,观影应用可以向RTSP中间件发送交互请求,RTSP中间件可以在接收到交互请求时执行S401(或S601)所示的步骤与投屏设备之间进行方法字段的握手。或者,RTSP中间件也可以在接收到观影应用发起的用于OTA文件升级的指令时执行S605所示的步骤,在接收到观影应用发起的用于获取sensor数据的指令时执行S409所示的步骤,在接收到观影应用发起的用于获取log文件的指令时执S903所示的步骤等。
可能的实现方式中,RTSP中间件可以设置在应用程序框架层中,也可以设置在***库或内核层中,本申请实施例中对此不做具体限定。
窗口管理器用于管理窗口程序。窗口管理器可以根据观影应用的指示,调用显示器显示相应的内容。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图像,布局文件,视频文件等。
视图***包括可视控件,例如显示文字的控件,显示图像的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图像的视图。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。
通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,振动,指示灯闪烁等。
***库可以包括多个功能模块。例如:表面管理器(surface manager)、三维图形处理库、二维图形引擎、以及媒体库(media libraries)等。
其中,表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等功能。
二维图形引擎是2D绘图的绘图引擎。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
内核层是硬件和软件之间的层。内核层中包括下述一种或多种,例如:显示驱动、摄像头驱动、音频驱动、以及传感器驱动等。
可以理解的是,该终端设备的软件结构中也可以包括其他层和/或其他模块等,本申请实施例中对该终端设备的具体结果不做限定。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
本申请实施例中描述的投屏管理方法,可以实现对于RTSP中方法字段的扩展,使得扩展的方法字段可以支持终端设备对投屏设备进行设备管理、以及终端设备对投屏设备进行OTA升级和文件数据的管理。示例性的,RTSP中扩展的方法字段可以参见表2。
表2为一种RTSP中扩展的方法字段示意表
方法字段 方向 对象 要求
加密控制(ENCRYPTION_CONTROL) C->S,S->C S 优先(proprietary)
设备管理(DEVICE_MANAGEMENT) C->S,S->C S proprietary
文件传输(FILE_TRANPORT) S->C,C->S S Proprietary
如表2所示,ENCRYPTION_CONTROL用于做控制指令、以及OTA升级前等场景下的加密协商;DEVICE_MANAGEMENT用于实现设备管理中的设备能力查询、sensor数据查询、以及版本查询等;FILE_TRANPORT用于实现对于固件升级文件(例如OTA升级文件)、日志(log)文件、以及内存快照文件(或称为dump文件)等文件的传输。
针对问题一:终端设备无法实现对于投屏设备中各类型设备信息的管理,本申请实施例可以利用DEVICE_MANAGEMENT字段实现设备管理,具体参见图4对应的实施例。
示例性的,图4为本申请实施例提供的一种投屏管理方法的流程示意图。在图4对应的实施例中,投屏管理方法可以涉及终端设备以及投屏设备,终端设备与投屏设备建立连接的方式可以参见图1对应的实施例。
如图4所示,投屏管理方法的流程步骤如下:
S401、终端设备向投屏设备发送OPTIONS指令。
OPTIONS指令(或称为第一指令)中可以包括:OPTIONS字段,OPTIONS指令用于获取设备支持的方法字段。
示例性的,终端设备可以在与投屏设备建立WIFI投屏连接后,向投屏设备发送OPTIONS指令,实现RTSP中方法字段的握手,握手可以理解为终端设备与投屏设备之间确认彼此身份的一种方式。其中,终端设备与投屏设备建立连接的方式可以参见图1对应的实施例,在此不再赘述。
对基于OPTIONS指令进行握手的报文进行示例:
Request:OPTIONS*RTSP/1.0\r\n
Date:Wed,11Dec 2019 08:31:54+0000\r\n
Server:stagefright/1.2(Linux;Andriod 8.1.0)\r\n
CSeq:1\r\n
Require:org.wfa.wfd1.0\r\n
\r\n
其中,Request可以指示当前消息为请求指令,RTSP/1.0可以为RTSP的版本,Date可以为消息发送的日期,OPTIONS指令中的Server可以指示设备的***,CSeq用于指示消息的序列号,OPTIONS指令中的Require可以作为标签(tag)用于询问对端支持的能力。
S402、投屏设备向终端设备返回投屏设备支持的方法字段。
其中,该投屏设备支持的方法字段也可以称为第一消息。适应的,基于S403中的OPTIONS指令返回的响应报文可以为:
Response:RTST/1.0 200OK\r\n
CSeq:1\r\n
Public:org.wfa.wfd1.0,GET_PARAMETER,SET_PARAMETER,ENCRYPTION_CONTROL,DEVICE_MANAGEMENT,FILE_TRANPORT\r\n
\r\n
其中,Response可以指示当前消息为响应,200可以用于指示状态码,OK可以用于指示状态描述为成功,Public中可以包含投屏设备支持的方法字段。
可以理解的是,Public中包括的方法字段可以与投屏设备可以实现的功能相关。可能的实现方式中,为了实现更多的功能,Public中也可以包括表1中指示的方法字段以及其他可能的方法字段,本申请实施例中对投屏设备支持的方法字段的类型、以及投屏设备支持的方法字段的数量不做具体限定。
可选的,S403、投屏设备向终端设备发送OPTIONS指令。
OPTIONS指令用于获取设备支持的方法字段。
S404、终端设备向投屏设备返回终端设备支持的方法字段。
其中,S403-S404可以为可选的步骤,并且S403-S404中描述的投屏设备获取终端设备支持的方法字段的具体内容可以与,S401-S402中描述的终端设备获取投屏设备支持的方法字段的具体内容类似,在此不再赘述。
可以理解的是,S401-S402所示的步骤为终端设备与投屏设备之间进行数据通信的必要步骤,在终端设备与投屏设备基于S401-S402所示的步骤完成方法字段的握手后,终端设备则可以基于设备双方共同设备支持的方法字段实现相应的功能。
例如,终端设备可以实现对于投屏设备的通信管道加密能力的获取(参见S405-S406所示的步骤)、实现对于投屏设备支持的子能力集的获取(参见S407-S408所示的步骤)、实现对于投屏设备中的数据的获取(参见S409-S410所示的步骤)、实现对于投屏设备的OTA升级(参见图6对应的实施例)、以及实现对于投屏设备中的文件的获取(参见图9对应的实施例)等。
S405、投屏设备向终端设备发送加密控制指令。
ENCRYPTION_CONTROL指令中可以包括:ENCRYPTION_CONTROL字段,ENCRYPTION_CONTROL指令用于获取设备支持的管道加密能力。
其中,管道加密能力可以理解为用于保障终端设备与投屏设备之间消息传输安全性的加密能力,该管道加密能力可以指示一种具体的加密方式。
示例性的,对基于ENCRYPTION_CONTROL指令进行加密握手的报文进行示例:
Request:ENCRYPTION_CONTROL rtsp://localhost/wfd1.0 RTSP/1.0\r\n
Date:Wed,11Dec 2019 08:31:54+0000\r\n
Server:stagefright/1.2(Linux;Andriod 8.1.0)\r\n
CSeq:2\r\n
Content-type:text/parameters
Content-length:83
\r\n
Line-based text data:text/parameters(2lines)
AES128\r\n
AES256\r\n
其中,Content-type用于指示内容类型,Content-length用于指示内容长度,Line-based text data中可以包括具体的参数。参数中的高级加密标准(advancedencryption standard,AES)为一种对称加密算法,即加密和解密使用相同的密钥,AES128为密钥长度为16字节(bytes)的加密算法,AES256为密钥长度为32bytes的加密算法。
S406、投屏设备向终端设备返回投屏设备支持的管道加密能力。
适应的,基于S405中的ENCRYPTION_CONTROL指令返回的响应报文可以为:
Response:RTST/1.0 200OK\r\n
CSeq:2\r\n
Content-type:text/parameters
Content-length:848
\r\n
Line-based text data:text/parameters(1lines)
AES128:CTR;ECB;OFB;CFB\r\n
其中,CTR可以为计算机模式(counter,CTR),ECB可以为电码本模式(electroniccodebook book,ECB),OFB可以为输出反馈模式(output feedback,OFB),CFB可以为密码反馈模式(cipher feedback,CFB)。CTR、ECB、OCF以及CFB均可以为AES128中的一种具体的加密方式,可以理解为投屏设备不仅支持AES128,还可以支持AES128中的CTR、ECB、OCF以及CFB。
可以理解的是,终端设备与投屏设备可以基于S405-S406实现通信管道加密能力的握手。由于终端设备中可以支持AES128以及AES256的加密方式,而投屏设备中支持AES128中CTR、ECB、OFB以及CFB的加密方式,因此终端设备可以采用两个设备共同支持的加密方式进行后续加密控制。
可能的实现方式中,终端设备与投屏设备之间也可以不通过上述S405-S406所示的步骤实现加密能力的握手,本申请实施例中对此不做具体限定。
S407、终端设备向投屏设备发送设备管理指令。
DEVICE_MANAGEMENT指令中可以包括:DEVICE_MANAGEMENT字段,DEVICE_MANAGEMENT指令用于获取设备支持的设备管理子能力集,或也可以理解为用于获取DEVICE_MANAGEMENT字段中设备支持的子字段。
其中,设备管理子能力可以为用于支持设备实现某种设备信息传输的字段。
对基于DEVICE_MANAGEMENT指令进行设备子能力握手的报文进行示例:
Request:DEVICE_MANAGEMENT rtsp://localhost/wfd1.0 RTSP/1.0\r\n
Date:Wed,11Dec 2019 08:31:54+0000\r\n
Server:stagefright/1.2(Linux;Andriod 8.1.0)\r\n
CSeq:3\r\n
Content-type:text/parameters
Content-length:83
\r\n
Line-based text data:text/parameters(5lines)
get_version\r\n
get_ota_status\r\n
set_ota_status\r\n
get_sensor\r\n
其中,get_version可以用于获取设备的版本信息,get_ota_status用于获取设备的OTA升级状态,set_ota_status用于设置设备的OTA升级状态,get_sensor用于获取设备的sensor数据。OTA升级状态可以包括下述一种或多种:版本检测中、升级文件传输中、或自启动中等;设备的sensor数据可以包括下述一种或多种:加速度数据、角速度数据(或角加速度数据)、或磁力计数据等。
可以理解的是,get_version、get_ota_status、set_ota_status以及get_sensor均可以为终端设备支持的设备管理子能力,并且终端设备可以通过发送上述设备管理子能力,确定投屏设备是否也支持上述设备管理子能力。
可能的实现方式中,DEVICE_MANAGEMENT指令中也可以包括,如用于指示投屏设备的屏幕亮度信息的字段、或用于进行音量控制的字段等其他用于获取设备信息的字段,本申请实施例中对此不做限定。
S408、投屏设备向终端设备返回投屏设备支持的设备管理子能力集、以及各子能力支持的字段名称。
适应的,基于S407中的DEVICE_MANAGEMENT指令返回的响应报文可以为:
Response:RTST/1.0 200OK\r\n
CSeq:3\r\n
Content-type:text/parameters
Content-length:848
\r\n
Line-based text data:text/parameters(5lines)
get_version:software_version;hardware_version\r\n
get_ota_status:status.timeout\r\n
set_ota_status:status.timeout\r\n
get_sensor:accelerated_speed;palstance;magnetometer_data\r\n
其中,software_version可以为软件版本信息,hardware_version可以为硬件版本信息,status.timeout可以为OTA升级状态以及OTA升级状态对应的超时时间,accelerated_speed可以为加速度数据,palstance可以为角速度数据,magnetometer_data可以为磁力计数据。
可以理解的是,终端设备可以基于投屏设备返回的字段,从投屏设备中获取不同类型的设备信息,以实现对于设备信息的管理。例如,终端设备可以基于get_sensor字段从投屏设备中获取sensor数据,以实现对于显示画面的调整;基于get_version字段以及set_ota_status等从投屏设备中获取不同类型的设备信息,以实现对于投屏设备的设备管理等。
在投屏设备向终端设备返回的设备管理子能力中不包含上述get_version时,则可以确定投屏设备不支持get_version。
S409、终端设备向投屏设备发送用于获取sensor参数的指令。
用于获取sensor参数的指令中可以包括:DEVICE_MANAGEMENT字段以及get_sensor字段。
S410、投屏设备向终端设备返回sensor参数。
sensor参数中可以包括下述一种或多种:加速度数据、角速度数据以及磁力计数据。可能的实现方式中,sensor参数中还可以包括:设备的旋转角度、以及设备的位移量等字段,该设备的旋转角度以及设备的位移量可以为投屏设备基于加速度数据、角速度数据以及磁力计数据等数据进行计算得到的。
S411、终端设备利用sensor数据调整媒体资源。
例如,在终端设备基于加速度数据以及角速度数据确定用户的头部向左转时,终端设备可以将媒体资源中偏向画面左侧的内容发送至投屏设备,以实现根据senor数据对媒体资源的调整,使得用户可以观看到更为立体、真实的画面。
S412、终端设备向投屏设备发送调整后的媒体资源。
示例性的,S412所示的步骤中终端设备投屏调整后的媒体资源的过程可以参见图5对应的实施例。在图5对应的实施例中,S404所示的步骤中终端设备向投屏设备返回终端设备支持的方法字段中可以包括表1中涉及的:DESCRIBE、SETUP、PLAY以及TEARDOWN。
示例性的,图5为本申请实施例提供的一种投屏媒体资源的流程示意图。
如图5所示,投屏媒体资源的过程可以包括如下步骤:
S501、投屏设备向终端设备发送DESCRIBE指令。
S502、终端设备向投屏设备返回描述信息。
该描述信息(或称为会话描述信息)中可以包括:会话描述协议(sessiondescription protocol,SDP)中支持的信息,例如该描述信息可以包括下述一种或多种,例如:会话版本信息、会话名称、会话时间、以及其他补充信息等。
S503、投屏设备向终端设备发送SETUP指令。
SETUP指令用于设置会话属性以及传输模式,并提示终端设备建立会话。
S504、终端设备向投屏设备返回会话标识符。
S505、投屏设备向终端设备发送PLAY指令。
S506、终端设备向投屏设备返回PLAY指令对应的响应消息。
PLAY指令对应的响应消息用于指示投屏设备接收到PLAY指令。
S507、终端设备向投屏设备发送调整后的媒体数据。
示例性的,投屏设备可以以数据包的形式依次向终端设备发送包含调整后的媒体数据的数据包,直至调整后的媒体数据发送完毕。
可能的实现方式中,S508、投屏设备向终端设备发送TEARDOWN指令。
S509、终端设备向投屏设备返回TEARDOWN指令对应的响应消息。
TEARDOWN指令对应的响应消息用于指示终端设备接收到TEARDOWN指令。
终端设备可以基于图5对应的实施例实现对于调整后的媒体数据的发送,使得用户可以在投屏设备中查看到基于用户自身转动的情况等处理后的画面。
可以理解的是,基于图4以及图5对应的实施例,DEVICE_MANAGEMENT可以实现对于投屏设备中各类型设备信息的获取,使得终端设备可以实现对于投屏设备的设备管理以及对于投屏设备中画面的控制。例如,投屏设备可以基于投屏设备的sensor数据对投屏的媒体资源进行调整等。
可能的实现方式中,在终端设备与投屏设备基于DEVICE_MANAGEMENT指令完成设备支持的子能力的握手后,投屏设备可以周期性的将sensor数据通过S410所示的步骤返回至终端设备,使得终端设备可以利用sensor数据确定投屏设备的旋转角度以及位移量,并投屏设备的旋转角度以及位移量对投屏画面进行周期性的调整,以增加用户使用投屏设备查看投屏画面的体验感。
基于此,终端设备可以通过DEVICE_MANAGEMENT指令获取投屏设备的各类型设备信息,并通过投屏设备的设备信息实现对于投屏设备的设备管理和维护,或者根据投屏设备的设备信息对投屏的媒体资源进行调整。
针对问题二:终端设备无法对投屏设备进行OTA升级的问题。
本申请实施例中,终端设备可以基于RTSP中扩展的FILE_TRANPORT字段实现终端设备可以实现对于投屏设备的OTA升级。
示例性的,图6为本申请实施例提供的一种实现OTA升级的流程示意图。
如图6所示,实现OTA升级的流程步骤如下:
S601、终端设备向投屏设备发送OPTIONS指令。
S602、投屏设备向终端设备返回投屏设备支持的方法字段。
S603、投屏设备向终端设备发送ENCRYPTION_CONTROL指令。
S604、投屏设备向终端设备返回投屏设备支持的管道加密能力。
其中,S601-S602所示的步骤可以参见S401-S402中的描述,S603-S604所示的步骤可以参见S405-S406中的描述,在此不再赘述。
S605、终端设备向投屏设备发送文件传输指令。
FILE_TRANPORT指令中可以包括:FILE_TRANPORT字段,FILE_TRANPORT指令用于获取设备支持的文件传输子能力集,或也可以理解为用于获取FILE_TRANPORT字段中设备支持的子字段。其中,文件传输子能力集中可以包括用于支持设备实现文件传输功能的字段。
对基于FILE_TRANPORT指令进行设备管理支持的文件传输子能力集的握手的报文进行示例:
Request:FILE_TRANPORT rtsp://localhost/wfd1.0 RTSP/1.0\r\n
Date:Wed,11Dec 2019 08:31:54+0000\r\n
Server:stagefright/1.2(Linux;Andriod 8.1.0)\r\n
CSeq:4\r\n
Content-type:text/parameters
Content-length:83
\r\n
Line-based text data:text/parameters(4lines)
get_transport_para\r\n
set_transport_para\r\n
set_file_info\r\n
set_file_data\r\n
其中,get_transport_para、set_transport_para、set_file_info以及set_file_data均可以理解为文件传输子能力集,get_transport_para用于获取文件传输参数,set_transport_para用于设置文件传输参数,set_file_info用于设置文件信息,set_file_data用于传输文件数据。
可以理解的是,终端设备可以在接收到用于OTA文件升级的指令时,执行S605所示的步骤。例如,终端设备可以基于投屏设备的版本情况自动执行S605所示的步骤;或者终端设备可以基于用户操作执行S605所示的步骤。
一种实现中,终端设备可以基于投屏设备的版本情况执行S605所示的步骤。具体的,终端设备可以基于S408中的get_version获取投屏设备的版本信息,在确定版本信息中指示的版本等级低于预设的版本等级时,终端设备中的RTSP中间件可以自动发起用于OTA文件升级的指令,使得观影应用执行S605所示的步骤。其中,终端设备中可以预设用于对投屏设备进行版本升级的文件(如OTA文件),预设的版本等级可以为终端设备中预设的文件所指示的版本等级。
另一种实现中,终端设备可以基于图7中指示的用户操作执行S605所示的步骤。示例性的,图7为本申请实施例提供的一种版本升级的界面示意图。在图7对应的实施例中,以终端设备为手机为例进行示例说明,该示例并不构成对本申请实施例的限定。
终端设备中可以预置用于控制投屏设备的应用程序,如观影应用,并且终端设备中可以预先下载好用于对投屏设备进行升级的OTA文件。
在终端设备接收到用户打开观影应用、并打开版本升级界面的情况下,终端设备可以基于S408中的get_version检测投屏设备的版本信息,并显示如图7中的a所示的界面,该界面中可以包括:用于指示投屏设备与终端设备的图示、用于指示正在版本检测中的提示信息、以及取消控件。
进一步的,在终端设备确定版本信息中指示的版本等级低于预设的版本等级时,终端设备显示如图7中的b所示的界面,该界面中可以包括下述一种或多种:版本升级控件、用于指示版本等级低于预设的版本等级的提示信息等,提示信息可以显示为“已检测到连接的投屏设备版本较低”。
如图7中的b所示的界面,当终端设备接收到用户触发版本升级控件的操作时,终端设备可以发起用于OTA文件升级的指令,并执行S605所示的步骤。
可能的实现方式中,终端设备也可以在检测到投屏设备的版本等级低于预设的版本等级时,在终端设备的通知中心发起静默通知,以提示用户可以进行版本升级。
示例性的,图8为本申请实施例提供的另一种版本升级的界面示意图。当终端设备检测到投屏设备的版本等级低于预设的版本等级时,终端设备可以显示如图8所示的界面,该界面可以为终端设备的通知中心,该通知中心中可以包括:提示信息801,该提示信息801用于提示投屏设备的版本较低。进一步的,终端设备可以基于用户针对提示信息801的触发操作,进入如图7中的b所示的界面,并实现对投屏设备进行版本升级,如执行S605-S614所示的步骤。
可以理解的是,在图8对应的实施例中,在终端设备与投屏设备之间实现方法字段交互的情况下,终端设备可以基于S408中获取的get_version字段周期性的从投屏设备中获取版本信息,以实现周期性的版本检测。本申请实施例中对用户使用终端设备对投屏设备进行版本升级的具体方式不做限定。
S606、投屏设备向终端设备返回投屏设备支持的文件传输子能力集、以及各子能力支持的字段名称。
适应的,基于S601中的FILE_TRANPORT指令返回的响应报文可以为:
Response:RTST/1.0 200OK\r\n
CSeq:4\r\n
Content-type:text/parameters
Content-length:848
\r\n
Line-based text data:text/parameters(4lines)
get_transport_para:file_trans_version;retrans_enable;max_trans_unit_size;timeout;encryption_enable\r\n
set_transport_para:file_trans_version;retrans_enable;max_trans_unit_size;timeout;encryption_enable\r\n
set_file_info:file_name;file_length\r\n
set_file_data:file_data;file_offset\r\n
其中,file_trans_version可以为传输协议的版本信息,retrans_enable可以为是否支持重传,max_trans_unit_size可以为单包最大长度,timeout可以为超时时间,encryption_enable可以为是否支持加密,file_name可以为文件名称,file_length可以为文件大小,file_data可以为文件数据,file_offset可以为文件重传时对应的偏移量(或理解为需要重传的文件序号)。该文件数据可以称为OTA文件。
可能的实现方式中,该encryption_enable还可以用于确定加密类型,例如当该encryption_enable为1时指示设备支持AES128的加密方式,当该encryption_enable为2时指示设备支持AES256的加密方式等,使得设备双方再次明确加密方式。
S607、终端设备向投屏设备发送用于设置文件信息的指令。
用于设置文件信息的指令中可以包括:FILE_TRANPORT:set_file_info,set_file_info中可以包括:file_name;file_length。其中,file_name使得投屏设备可以明确文件名称,file_length使得投屏设备可以根据当前的内存空间确定是否可以存储大小为file_length的文件。文件信息可以为OTA文件的信息。
S608、投屏设备设置文件信息。
S609、投屏设备向终端设备返回用于指示文件信息是否设置成功的消息。
示例性的,在终端设备设置文件信息的过程中,当投屏设备基于set_file_info中的file_length确定有空间存储OTA文件时,投屏设备可以向终端设备返回用于指示文件信息设置成功的消息。
或者,在设置文件信息的过程中,当投屏设备确定没有足够的空间存储OTA文件,即file_length中指示的文件大小大于(或大于等于)投屏设备预设的内存空间时,投屏设备可以向终端设备返回用于指示文件信息设置失败的消息。此时,终端设备可以确定无法进行后续OTA文件的传输,文件传输流程中断;或者,终端设备也可以继续执行OTA文件的传输过程,但OTA文件传输过程由于终端设备检的内存不足可能导致文件传输流程中断。
可能的实现方式中,S607-S609所示的步骤也可以在S610-S614所示的步骤之后执行,本申请实施例中对S607-S609执行的具体顺序不做具体限定。
S610、终端设备向投屏设备发送用于获取文件传输参数的指令。
用于获取文件传输参数的指令中可以包括:FILE_TRANPORT字段、以及get_transport_para字段。
S611、投屏设备向终端设备返回文件传输参数。
S611中描述的文件传输参数可以称为第二参数、或投屏设备在进行文件传输时所需的参数,文件传输参数可以包括下述一种或多种:file_trans_version,retrans_enable,max_trans_unit_size,timeout,或encryption_enable,任一种参数的含义可以参见S602所示的步骤中的描述。
可能的实现方式中,投屏设备可以对文件传输参数进行加密,例如投屏设备可以基于图6对应的实施例中S603-S604中的管道加密能力的握手,确定通过AES128对S607-S614的过程中传输的内容进行加密。适应的,在终端设备接收到该加密的传输内容时,也可以基于AES128进行解密。
S612、终端设备向投屏设备发送用于设置文件传输参数的指令。
用于设置文件传输参数的指令中可以包括:FILE_TRANPORT字段、以及set_transport_para字段。
例如,终端设备可以从S611中的第二参数以及以及第三参数中确定出第一参数,并将第一参数通过S612中的指令返回至投屏设备。其中,第三参数为终端设备在进行文件传输时所需的参数,第二参数为投屏设备在进行文件传输时所需的参数,第一参数为第二参数以及第三参数中的相同参数;第一参数或第二参数中包含的内容可以与S611中描述的第一参数中包含的内容类似,在此不再赘述。
S613、投屏设备设置文件传输参数。
S614、投屏设备向终端设备返回用于指示文件传输参数是否设置成功的消息。
示例性的,在终端设备接收到投屏设备返回的用于指示文件传输参数设置成功的消息时,终端设备可以执行S615所示的步骤。
或者,在终端设备接收到投屏设备返回的用于指示文件传输参数设置失败的消息时,终端设备可以执行S612-S614所示的步骤,重新进行文件传输参数的设置。
S615、终端设备向投屏设备发送用于设置OTA文件的指令。
用于设置OTA文件的指令中可以包括:FILE_TRANPORT字段以及set_file_data字段,用于设置OTA文件的指令中也可以包含OTA文件以OTA文件对应的偏移量,例如偏移量可以指示OTA文件中的第一个数据包。
可能的实现方式中,投屏设备可以基于终端设备与投屏设备双方均支持的AES128,对OTA文件进行加密,以保证数据传输的安全性。
S616、投屏设备向终端设备返回用于指示OTA文件是否设置成功的消息。
在投屏设备向终端设备返回指示OTA文件设置失败的消息时,终端设备可以执行S613所示的步骤实现对于OTA文件的重传。其中,该用于指示OTA文件设置失败的消息中还可以包括:传输失败的文件对应的偏移量,使得终端设备可以实现断点续传。
可以理解的是,终端设备与投屏设备之间可以多次执行S615-S616所示的步骤,使得OTA文件可以以数据包的形式依次由终端设备返回至投屏设备,直至OTA文件传输完毕。
基于此,在OTA文件为OTA文件数据的情况下,终端设备可以通过RTSP中扩展的FILE_TRANPORT方法字段,实现对于投屏设备的OTA升级,提高对于投屏设备管理的灵活性。
在图6对应的实施例的基础上,可能的实现方式中,终端设备可以实现对于投屏设备中的log文件的查询和管理,文件传输的过程可以基于RTSP中扩展的FILE_TRANPORT指令实现。其中,该log文件中可以包括:RTSP报文。
示例性的,图9为本申请实施例提供的一种实现log文件传输的流程示意图。
如图9所示,实现log文件传输的流程步骤如下:
在实现log文件传输之前,终端设备与投屏设备可以基于S601-S604所示的步骤进行RTSP中方法字段以及管道加密能力的握手。并在接收到用于获取log文件的指示时,执行S901所示的步骤。其中,该用于获取log文件的指示可以为终端设备周期性自动发起的指令,或者也可以为终端设备基于用户在观影应用中的操作发起的指令,本申请实施例中对此不做具体限定。
S901、终端设备向投屏设备发送FILE_TRANPORT指令。
文件传输指令用于获取设备支持的文件传输子能力集。
示例性的,终端设备可以在接收到用于获取log文件的指示时,执行S901所示的步骤。
对基于FILE_TRANPORT指令进行设备管理支持的文件传输子能力集的握手的报文进行示例:
Request:FILE_TRANPORT rtsp://localhost/wfd1.0 RTSP/1.0\r\n
Date:Wed,11Dec 2019 08:31:54+0000\r\n
Server:stagefright/1.2(Linux;Andriod 8.1.0)\r\n
CSeq:4\r\n
Content-type:text/parameters
Content-length:83
\r\n
Line-based text data:text/parameters(4lines)
get_filelist_info\r\n
get_transport_para\r\n
get_transport_para\r\n
get_file_data\r\n
其中,get_filelist_info、get_transport_para、get_transport_para以及get_file_data均可以理解为文件传输子能力集,get_filelist_info用于获取文件列表,get_file_data用于获取文件数据。
可能的实现方式中,参见S605以及S606所示的步骤中的描述,为了使得终端设备不仅可以实现向投屏设备发送OTA文件,也可以实现从投屏设备中采集log文件,该FILE_TRANPORT指令中的文件传输子能力集也可以包括S401以及S402中指示的所有字段。此时,文件传输子能力集中可以包括:get_transport_para、set_transport_para、set_file_info、set_file_data、get_filelist_info以及get_file_data。
S902、投屏设备向终端设备返回投屏设备支持的文件传输子能力集、以及各子能力支持的字段名称。
适应的,基于S605中的FILE_TRANPORT指令返回的响应报文可以为:
Response:RTST/1.0 200OK\r\n
CSeq:4\r\n
Content-type:text/parameters
Content-length:848
\r\n
Line-based text data:text/parameters(4lines)
get_filelist_info:filelist;filestruct;file_name;file_type;file_crc\r\n
get_transport_para:file_trans_version;retrans_enable;max_trans_unit_size;timeout;encryption_enable\r\n
set_transport_para:file_trans_version;retrans_enable;max_trans_unit_size;timeout;encryption_enable\r\n
get_file_data:file_name;file_offset;file_length;retrans_bitmap\r\n
其中,filelist可以为文件列表(或数组),filestruct可以为数组所在的结构体,file_name可以为文件名称或结构体名称,file_type可以为文件类型,file_crc可以为一种校验值,file_offset可以为文件重传时对应的偏移点,retrans_bitmap可以为一次传输发送的数据包的数量。例如,retrans_bitmap可以设置为16、32或128等数值,在首次传输时该file_offset可以设置为0。
S903、终端设备向投屏设备发送用于获取文件列表的指令。
用于获取文件列表的指令可以包括:FILE_TRANPORT字段、以及get_filelist_info字段。
S904、投屏设备向终端设备返回投屏设备支持的文件列表。
S905、终端设备向投屏设备发送用于获取文件传输参数的指令。
S906、投屏设备向终端设备返回文件传输参数。
S907、终端设备向投屏设备发送用于设置文件传输参数的指令。
S908、投屏设备向终端设备返回用于指示文件传输参数是否设置成功的消息。
其中,该S905-S908所示的步骤可以参见S610-S614所示的步骤中的描述,在此不再赘述。
S909、终端设备向投屏设备发送用于获取log文件的指令。
用于获取log文件的指令可以包括:FILE_TRANPORT字段以及get_file_data字段。
S910、投屏设备向终端设备返回log文件。
可以理解的是,终端设备与投屏设备之间可以多次执行S909-S910所示的步骤,使得log文件可以以数据包的形式依次由投屏设备发送至终端设备,直至log文件传输完毕。
可能的实现方式中,终端设备在基于S901-S910所示的步骤获取到投屏设备中的log文件后,可以通过tcpdump工具从log文件中过滤出RTSP报文,并利用wireshark工具对导入RTSP报文的进行分析,确定RTSP报文中采用的方法字段。其中,tcpdump可以为一种网络数据采集分析的工具,wireshark可以为一种网络封包分析工具。
基于此,在log文件中包括RTSP报文的情况下,使得终端设备可以通过RTSP中扩展的FILE_TRANPORT方法字段,实现对于终端设备的文件处理和分析,便于及时了解基于RTSP进行通信的各种状态。
基于图4-图9对应的实施例的描述,本申请实施例中描述的终端设备可以为不支持DP协议的终端设备。示例性的,终端设备向投屏设备发送OPTIONS指令,包括:在终端设备不支持DP协议的情况下,终端设备向投屏设备发送OPTIONS指令。
可能的实现方式中,在图6对应的实施例的基础上,终端设备也可以为支持DP协议的终端设备,在此场景中终端设备可以通过USB Type-C接口与所述投屏设备建立投屏连接,并利用DP协议向投屏设备发送OTA文件。
示例性的,图10为本申请实施例提供的一种判断是否使用DP协议的流程示意图。
如图10所示,在终端设备确定支持DP协议的情况下,终端设备可以通过DP协议发送OTA文件。例如,终端设备具有USB Type-C接口,在终端设备基于USB Type-C接口与投屏设备建立投屏连接的情况下,当终端设备接收到用于OTA文件升级的指令,且确定终端设备支持DP协议的情况下,终端设备基于DP协议将OTA文件发送至投屏设备。
在终端设备确定不支持DP协议的情况下,终端设备可以通过RTSP发送OTA文件。例如,在终端设备与投屏设备建立WIFI投屏连接的情况下,当终端设备接收到用于OTA文件升级的指令,且确定终端设备不支持DP协议的情况下,终端设备可以执行S601-S614所示的步骤或者执行S605-S614所示的步骤。
可能的实现方式中,终端设备也可以在确定不支持DP协议、且支持RTSP的情况下,通过RTSP发送OTA文件。
其中,终端设备内核层中的驱动可以通过终端设备与投屏设备连接时USB Type-C接口中的线路情况确定是否支持DP协议,并在确定支持DP协议时将支持DP协议的指令发送至框架层、以及应用层,使得终端设备的应用层可以利用框架层中的DP协议,实现与投屏设备之间的数据发送。或者,在终端设备的观影应用确认未接收到支持DP协议的指令时,可以确定设备不支持DP协议。可以理解的是,不同协议可以对应于不同的USB Type-C接口中的线路。
可能的实现方式中,在终端设备可以通过USB Type-C接口与所述投屏设备建立投屏连接的情况下,终端设备也可以基于USB2.0(或USB3.0)协议,实现将OTA文件发送至投屏设备。
另一种实现中,在终端设备确定支持USB2.0协议、且确定通过USB Type-C接口与所述投屏设备建立连接的情况下,终端设备可以通过USB2.0协议发送OTA文件。例如,终端设备可以通过USB2.0协议与投屏设备进行版本信息的交互,在确定投屏设备中的版本信息低于预设的版本信息的情况下,终端设备可以基于用于OTA文件升级的指令,将OTA文件发送至投屏设备。
在终端设备确定不支持USB2.0协议的情况下,终端设备可以通过RTSP发送OTA文件,利用RTSP发送OTA文件的过程可以参见图6对应的实施例,在此不再赘述。
可以理解的是,本申请实施例中描述的终端设备也可以同时支持DP协议、USB2.0协议、以及RTSP,因此终端设备可以根据终端设备与投屏设备之间的连接情况,确定采用何种协议对投屏设备进行OTA升级。例如,在确定同时支持DP协议、USB2.0协议,且终端设备与投屏设备之间通过USB Type-C接口建立连接的情况下,终端设备可以优先采用USB2.0协议向投屏设备发送OTA文件。并在确定不支持DP协议以及USB2.0协议,或者检测到终端设备与投屏设备之间未通过USB Type-C接口建立连接的情况下,终端设备采用RTSP进行OTA升级。
基于此,本申请实施例中描述的终端设备不仅可以支持在DP协议(或USB2.0协议)下进行文件升级,也可以在RTSP下进行文件升级,在扩展文件升级的使用场景的同时,提高用户使用投屏功能的使用体验。
基于图4-图10对应的实施例中的描述,本申请实施例提供的投屏管理方法不限于sensor数据传输、OTA升级、以及log文件传输等场景中。例如,终端设备与投屏设备之间也可以通过扩展DEVICE_MANAGEMENT中支持的子字段,实现对于其他数据的传输,例如在设备维修场景下,使得投屏设备可以将器件异常的情况通过DEVICE_MANAGEMENT中支持的子字段发送至终端设备,本申请实施例中对具体应用场景不做限定。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
上面结合图4-图10,对本申请实施例提供的方法进行了说明,下面对本申请实施例提供的执行上述方法的装置进行描述。如图11所示,图11为本申请实施例提供的一种投屏管理装置的结构示意图,该投屏管理装置可以是本申请实施例中的终端设备或投屏设备,也可以是终端设备内的芯片或芯片***,或投屏设备内的芯片或芯片***。
如图11所示,投屏管理装置1100可以用于通信设备、电路、硬件组件或者芯片中,该投屏管理装置包括:显示单元1101、以及处理单元1102、以及通信单元1103。其中,显示单元1101用于支持投屏管理装置1100执行的显示的步骤;处理单元1102用于支持投屏管理装置1100执行信息处理的步骤;通信单元用于支持投屏管理装置1100执行数据的发送以及数据的接收的步骤。其中,该通信单元1103可以是输入或者输出接口、管脚或者电路等。
可能的实施例中,投屏管理装置还可以包括:存储单元1104。处理单元1102、存储单元1104通过线路相连。存储单元1104可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。存储单元1104可以独立存在,通过通信线路与投屏管理装置具有的处理单元1102相连。存储单元1104也可以和处理单元1102集成在一起。
存储单元1104可以存储终端设备中的方法的计算机执行指令,以使处理单元1102执行上述实施例中的方法。存储单元1104可以是寄存器、缓存或者RAM等,存储单元1104可以和处理单元1102集成在一起。存储单元1104可以是只读存储器(read-only memory,ROM)或者可存储静态信息和指令的其他类型的静态存储设备,存储单元1104可以与处理单元1102相独立。
图12为本申请实施例提供的另一种终端设备的硬件结构示意图,如图12所示,该终端设备包括处理器1201,通信线路1204以及至少一个通信接口(图12中示例性的以通信接口1203为例进行说明)。
处理器1201可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路1204可包括在上述组件之间传送信息的电路。
通信接口1203,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
可能的,该终端设备还可以包括存储器1202。
存储器1202可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路1204与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器1202用于存储执行本申请方案的计算机执行指令,并由处理器1201来控制执行。处理器1201用于执行存储器1202中存储的计算机执行指令,从而实现本申请实施例所提供的方法。
可能的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器1201可以包括一个或多个CPU,例如图12中的CPU0和CPU1。
在具体实现中,作为一种实施例,终端设备可以包括多个处理器,例如图12中的处理器1201和处理器1205。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compactdisc read-only memory,CD-ROM)、RAM、ROM、EEPROM或其它光盘存储器;计算机可读介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。
上述的组合也应包括在计算机可读介质的范围内。以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (24)

1.一种投屏管理方法,其特征在于,应用于终端设备,所述终端设备与投屏设备均处于投屏连接状态,所述方法包括:
所述终端设备向所述投屏设备发送第一指令;
所述终端设备接收来自所述投屏设备的第一消息,所述第一消息中包括第一方法字段,所述第一方法字段用于支持设备之间进行文件传输,所述第一消息为所述投屏设备响应于所述第一指令生成的;
所述终端设备向所述投屏设备发送第二指令,所述第二指令中包括所述第一方法字段;
所述终端设备接收来自所述投屏设备的第二消息,所述第二消息中包括:用于设置文件信息的第一子字段、以及用于设置文件传输时所需的第一参数的第二子字段,所述第二消息为所述投屏设备响应于所述第二指令生成的;
所述终端设备向所述投屏设备发送第三指令,所述第三指令中包括:空中下载技术OTA文件对应的文件信息以及所述第一子字段;
所述终端设备接收来自所述投屏设备的第三消息,所述第三消息为所述投屏设备响应于所述第三指令生成的;
所述终端设备向所述投屏设备发送第四指令,所述第四指令中包括所述第二子字段;
所述终端设备接收来自所述投屏设备的第四消息,所述第四消息为所述投屏设备响应于所述第四指令生成的;
所述终端设备按照所述第一参数将所述OTA文件发送至所述投屏设备。
2.根据权利要求1所述的方法,其特征在于,所述第二消息中还包括用于获取文件传输时所需的第二参数的第三子字段,所述方法还包括:
所述终端设备向投屏设备发送第五指令,所述第五指令中包括所述第三子字段;
所述终端设备接收来自所述投屏设备的第五消息,所述第五消息中包含所述第二参数,所述第五消息为所述投屏设备响应于所述第五指令生成的;
所述终端设备向所述投屏设备发送第四指令,包括:在从所述第二参数以及第三参数中确定出所述第一参数的情况下,所述终端设备向所述投屏设备发送所述第四指令,所述第三参数为所述终端设备在进行文件传输时所需的参数,所述第二参数为所述投屏设备在进行文件传输时所需的参数,所述第一参数为所述第二参数以及所述第三参数中的相同参数。
3.根据权利要求2所述的方法,其特征在于,所述第五消息中还包括:用于获取所述投屏设备中的设备信息对应的子字段,所述设备信息中包括下述一种或多种:设备的版本信息、或用于指示OTA升级状态的信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一参数包括下述一种或多种:用于指示是否支持重传的参数、用于指示单包最大长度的参数、用于指示超时时间的参数、用于指示是否支持加密的参数、或用于指示版本信息的参数。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一消息中还包括:第二方法字段,所述第二方法字段用于支持设备之间进行设备信息的传输,所述方法还包括:
所述终端设备向所述投屏设备发送第六指令,所述第六指令中包括:所述第二方法字段;
所述终端设备接收来自所述投屏设备的第六消息,所述第六消息中包括:用于获取传感器数据的第三子字段,所述第六消息为所述投屏设备响应于所述第六指令生成的;
所述终端设备向所述投屏设备发送第七指令,所述第七指令中包括所述第三子字段;
所述终端设备接收来自所述投屏设备的第七消息,所述第七消息中包括所述投屏设备中的传感器数据,所述第七消息为所述投屏设备响应于所述第七指令生成的。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述终端设备通过所述传感器数据确定所述投屏设备的旋转角度以及位移量,其中,所述传感器数据包括下述一种或多种:设备的加速度数据、设备的角速度数据、或者设备的磁力计数据;
所述终端设备利用所述旋转角度以及所述位移量对投屏画面进行调整,并将调整后的投屏画面发送至所述投屏设备。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一消息中还包括:第三方法字段,所述第三方法字段用于支持设备之间进行加密能力协商,所述方法还包括:
所述终端设备向所述投屏设备发送第八指令,所述第八指令中包括所述第三方法字段以及所述终端设备支持的第一加密方法;
所述终端设备接收来自所述投屏设备的第八消息,所述第八消息中包括所述投屏设备支持的第二加密方法,所述第八消息为所述投屏设备响应于所述第八指令生成的;
所述终端设备确定所述第一加密方法以及所述第二加密方法中相同的第三加密方法;
所述终端设备向所述投屏设备发送第三指令,包括:所述终端设备利用所述第三加密方法对所述OTA文件对应的文件信息进行加密,并将加密后的OTA文件对应的文件信息通过所述第三指令发送至所述投屏设备。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述第二消息中还包括:用于获取文件列表的第四子字段、以及用于获取日志文件的第五子字段,所述方法还包括:
所述终端设备向所述投屏设备发送第九指令,所述第九指令中包括所述第四子字段;
所述终端设备接收来自所述投屏设备的第九消息,所述第九消息中包括下述一种或多种:所述文件列表、所述文件列表中的任一文件所在的结构体、所述任一文件的文件名称、所述任一文件的文件类型、所述任一文件对应的校验值,所述第九消息为所述投屏设备响应于所述第九指令生成的;
所述终端设备向所述投屏设备发送第十指令,所述第十指令中包括所述第五子字段;
所述终端设备接收来自所述投屏设备的日志文件,所述日志文件为所述投屏设备响应于所述第十指令发送的。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述投屏设备为扩展现实XR眼镜。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述终端设备为不支持DP协议的设备。
11.根据权利要求10所述的方法,其特征在于,所述终端设备向所述投屏设备发送第三指令,包括:
在所述终端设备不支持所述DP协议,或者,所述终端设备不支持所述DP协议且支持实时流传输协议RTSP的情况下,所述终端设备向所述投屏设备发送所述第三指令。
12.根据权利要求1所述的方法,其特征在于,所述终端设备具有串行总线USB Type-C接口,所述方法还包括:
所述终端设备基于所述USB Type-C接口与所述投屏设备建立连接;
在所述终端设备支持DP协议的情况下,所述终端设备基于所述DP协议将所述OTA文件发送至所述投屏设备。
13.一种投屏管理方法,其特征在于,应用于投屏设备,所述投屏设备与终端设备均处于投屏连接状态,所述方法包括:
所述投屏设备与终端设备建立投屏连接,所述投屏设备与所述终端设备处于同一WIFI网络;
所述投屏设备接收来自所述终端设备的第一指令;
所述投屏设备向所述终端设备发送第一消息,所述第一消息中包括第一方法字段,所述第一方法字段用于支持设备之间进行文件传输;所述第一消息为所述投屏设备响应于所述第一指令生成的;
所述投屏设备接收来自所述终端设备的第二指令,所述第二指令中包括所述第一方法字段;
所述投屏设备向所述终端设备发送第二消息,所述第二消息中包括:用于设置文件信息的第一子字段、以及用于设置文件传输时所需的第一参数的第二子字段;所述第二消息为所述投屏设备响应于所述第二指令生成的;
所述投屏设备接收来自所述终端设备的第三指令,所述第三指令中包括:空中下载技术OTA文件对应的文件信息以及所述第一子字段;
所述投屏设备向所述终端设备发送第三消息;所述第三消息为所述投屏设备响应于所述第三指令生成的;
所述投屏设备接收来自所述终端设备的第四指令,所述第四指令中包括所述第二子字段;
所述投屏设备向所述终端设备发送第四消息;所述第四消息为所述投屏设备响应于所述第四指令生成的;
所述投屏设备接收来自所述终端设备按照所述第一参数发送的所述OTA文件。
14.根据权利要求13所述的方法,其特征在于,所述第一参数包括下述一种或多种:用于指示是否支持重传的参数、用于指示单包最大长度的参数、用于指示超时时间的参数、用于指示是否支持加密的参数、或用于指示版本信息的参数。
15.根据权利要求13或14所述的方法,其特征在于,所述第一消息中还包括:第二方法字段,所述第二方法字段用于支持设备之间进行设备信息的传输,所述方法还包括:
所述投屏设备接收来自所述终端设备的第六指令,所述第六指令中包括:所述第二方法字段;
所述投屏设备向所述终端设备发送第六消息,所述第六消息中包括:用于获取传感器数据的第三子字段,所述第六消息为所述投屏设备响应于所述第六指令生成的;
所述投屏设备接收来自所述终端设备的第七指令,所述第七指令中包括所述第三子字段;
所述投屏设备向所述终端设备发送第七消息,所述第七消息中包括所述投屏设备中的传感器数据,所述第七消息为所述投屏设备响应于所述第七指令生成的。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
所述投屏设备接收来自所述终端设备的调整后的投屏画面,其中,所述调整后的投屏画面为所述终端设备基于旋转角度以及位移量对投屏画面进行调整得到的,所述旋转角度以及所述位移量均为基于所述传感器数据确定的,所述传感器数据包括下述一种或多种:设备的加速度数据、设备的角速度数据、或者设备的磁力计数据。
17.根据权利要求13-16任一项所述的方法,其特征在于,所述第一消息中还包括:第三方法字段,所述第三方法字段用于支持设备之间进行加密能力协商,所述方法还包括:
所述投屏设备接收来自所述终端设备的第八指令,所述第八指令中包括所述第三方法字段以及所述终端设备支持的第一加密方法;
所述投屏设备向所述终端设备发送第八消息,所述第八消息中包括所述投屏设备支持的第二加密方法,其中,所述第三指令中包括加密后的OTA文件对应的文件信息,所述加密后的OTA文件对应的文件信息为利用第三加密方法对所述OTA文件对应的文件信息进行加密得到的,所述第三加密方法为所述第一加密方法以及所述第二加密方法中相同的方法,所述第八消息为所述投屏设备响应于所述第八指令生成的。
18.根据权利要求13-17任一项所述的方法,其特征在于,所述第二消息中还包括:用于获取文件列表的第四子字段、以及用于获取日志文件的第五子字段,所述方法还包括:
所述投屏设备接收来自所述终端设备的第九指令,所述第九指令中包括所述第四子字段;
所述投屏设备向所述终端设备发送第九消息,所述第九消息中包括下述一种或多种:所述文件列表、所述文件列表中的任一文件所在的结构体、所述任一文件的文件名称、所述任一文件的文件类型、所述任一文件对应的校验值,所述第九消息为所述投屏设备响应于所述第九指令生成的;
所述投屏设备接收来自所述终端设备的第十指令,所述第十指令中包括所述第五子字段;
所述投屏设备按照所述第一参数向所述终端设备发送日志文件,所述日志文件为所述投屏设备响应于所述第十指令发送的。
19.根据权利要求13所述的方法,其特征在于,所述终端设备为不支持DP协议的设备。
20.根据权利要求13所述的方法,其特征在于,所述终端设备为支持DP协议的设备,所述终端设备具有串行总线USB Type-C接口,所述方法还包括:
所述投屏设备与所述终端设备基于所述USB Type-C接口建立投屏连接,
所述投屏设备接收来自所述终端设备的所述OTA文件,所述OTA文件为所述终端设备基于所述DP协议发送的。
21.根据权利要求13-20任一项所述的方法,其特征在于,所述投屏设备为扩展现实XR眼镜。
22.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使得所述终端设备执行如权利要求1至12任一项所述的方法。
23.一种投屏设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使得所述投屏设备执行如权利要求13至21任一项所述的方法。
24.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得计算机执行如权利要求1至12任一项所述的方法,或者执行如权利要求13至21任一项所述的方法。
CN202310462584.3A 2023-04-21 2023-04-21 投屏管理方法和装置 Pending CN117156190A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310462584.3A CN117156190A (zh) 2023-04-21 2023-04-21 投屏管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310462584.3A CN117156190A (zh) 2023-04-21 2023-04-21 投屏管理方法和装置

Publications (1)

Publication Number Publication Date
CN117156190A true CN117156190A (zh) 2023-12-01

Family

ID=88882999

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310462584.3A Pending CN117156190A (zh) 2023-04-21 2023-04-21 投屏管理方法和装置

Country Status (1)

Country Link
CN (1) CN117156190A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104041064A (zh) * 2011-10-05 2014-09-10 高通股份有限公司 无线显示设备的最小认知模式
CN113407232A (zh) * 2021-06-29 2021-09-17 努比亚技术有限公司 一种投屏软件兼容方法、设备及计算机可读存储介质
CN113986177A (zh) * 2021-11-05 2022-01-28 Oppo广东移动通信有限公司 投屏方法、投屏装置、存储介质与电子设备
CN114237538A (zh) * 2021-12-20 2022-03-25 广东电网有限责任公司 一种投屏控制方法、服务器、投屏设备和***
CN114610253A (zh) * 2020-12-08 2022-06-10 华为技术有限公司 一种投屏方法及设备
CN217405088U (zh) * 2022-02-21 2022-09-09 深圳市乐得瑞科技有限公司 显示电路及显示装置
WO2023011058A1 (zh) * 2021-08-02 2023-02-09 海信视像科技股份有限公司 显示设备、通信终端及投屏画面动态显示方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104041064A (zh) * 2011-10-05 2014-09-10 高通股份有限公司 无线显示设备的最小认知模式
CN114610253A (zh) * 2020-12-08 2022-06-10 华为技术有限公司 一种投屏方法及设备
CN113407232A (zh) * 2021-06-29 2021-09-17 努比亚技术有限公司 一种投屏软件兼容方法、设备及计算机可读存储介质
WO2023011058A1 (zh) * 2021-08-02 2023-02-09 海信视像科技股份有限公司 显示设备、通信终端及投屏画面动态显示方法
CN113986177A (zh) * 2021-11-05 2022-01-28 Oppo广东移动通信有限公司 投屏方法、投屏装置、存储介质与电子设备
CN114237538A (zh) * 2021-12-20 2022-03-25 广东电网有限责任公司 一种投屏控制方法、服务器、投屏设备和***
CN217405088U (zh) * 2022-02-21 2022-09-09 深圳市乐得瑞科技有限公司 显示电路及显示装置

Similar Documents

Publication Publication Date Title
EP3714605B1 (en) Scrub and playback of video buffer over a wireless network
EP3714549B1 (en) Secured pairing of video capture device and mobile device
KR101491392B1 (ko) 간접적인 디바이스 통신
CN108833963B (zh) 显示界面画面的方法、计算机设备、可读存储介质和***
JP2023514043A (ja) 通知処理システム、方法および電子デバイス
CN107968783B (zh) 流量管理方法、装置、终端及计算机可读存储介质
JP2024504092A (ja) ミラーリング方法、装置、電子機器および記憶媒体
CN113542290B (zh) 数据访问请求的处理方法、装置、设备及可读存储介质
CN113408016B (zh) 保存密文的方法和装置
EP3989113A1 (en) Facial image transmission method, numerical value transfer method and apparatus, and electronic device
EP4283931A1 (en) Nfc method and system, and electronic device
US11128623B2 (en) Service providing system, service delivery system, service providing method, and non-transitory recording medium
CN117156190A (zh) 投屏管理方法和装置
CN113950048B (zh) 连接建立方法、电子设备及存储介质
CN111741040B (zh) 连接建立方法、地址获取方法、装置、设备及存储介质
US11108772B2 (en) Service providing system, service delivery system, service providing method, and non-transitory recording medium
CN114489876A (zh) 一种文本输入的方法、电子设备和***
WO2024037040A9 (zh) 数据处理方法及电子设备
CN109995482B (zh) 数据传输方法、装置、设备及计算机可读存储介质
CN117332398A (zh) 签发设备证书的方法、设备和***
CN115550919A (zh) 设备配对认证方法、装置、发送方设备及接收方设备
CN117951662A (zh) 一种处理数据的方法及电子设备
CN118233891A (zh) 设备认证的方法、装置和电子设备
CN117131481A (zh) 用户登录方法和电子设备
CN118102295A (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