iOS终端的远程显示方法、系统、节点管理端、计算机设备及存储介质技术方案

技术编号:29799209 阅读:27 留言:0更新日期:2021-08-24 18:20
本发明专利技术提供了一种iOS终端的远程显示方法,包括:在iOS终端中安装基于ReplayKit2框架的录屏程序;客户端向节点管理端发送屏幕显示指令;节点管理端根据屏幕显示指令,向至少一个iOS终端发送开始录屏指令;iOS终端根据开始录屏指令,通过录屏程序获取屏幕数据并推送给节点管理端;节点管理端将录屏数据发送给客户端。本发明专利技术还提供一种iOS终端的远程显示系统、节点管理端、计算机设备及存储介质。借此,本发明专利技术具有清晰度高,画面显示流畅,且视频流所需带宽小的优点。

【技术实现步骤摘要】
iOS终端的远程显示方法、系统、节点管理端、计算机设备及存储介质
本专利技术涉及远程屏幕显示
,尤其涉及一种iOS终端的远程显示方法、系统、节点管理端、计算机设备及存储介质。
技术介绍
进行移动终端app测试的时候,无论是自动化测试还是日常的兼容性测试都需要更全面的设备机型去做测试。很多时候,往往由于缺少某种稀缺测试设备导致无法测试;或者测试设备利用率低,增加了测试成本。移动终端真机租用平台就可以很好的解决这个问题,通过这个平台,既可以获取到各种测试设备(例如各种机型的手机)的资源,同时也能提高测试设备利用率。用户通过浏览器就能对远程连接的测试设备进行操作。这个平台主要包括两个关键技术,一个是远程操作移动终端,驱动移动终端完成一系列点击、滑动、长按、输入等操作,另一个是获取移动终端屏幕的画面。iOS终端(苹果终端)驱动目前主要使用facebook开源的iOS自动化框WedDriverAgent;而屏幕画面获取,目前的解决方案主要有iOSMinicap,该方案的局限在于一台PC只能支持一台iOS终端的图片传输,不符合目前大量真机远控的使用场景。另一种方案就是在WedDriverAgent中添加快速截屏的功能,单开一个线程对外传输图片,但是传输速度不如Minicap,在显示效果上体验较差。中国专利CN108810585A公开了一种基于iOS远程显示系统手机的投屏远程显示方法,其在现有的Replaykit框架下集成直播扩展模块,通过直播扩展模块采集屏幕视频流,在直播扩展模块中对采集到的屏幕视频流进行视频编码;所述视频编码优选采用h264编码;通过直播扩展模块与PC端建立TCP连接,并将编码后的数据传输至PC端;PC端对接收到的数据进行解码播放。”但是Replaykit框架只支持录制APP内的内容,无法录制整个iOS远程显示系统的内容。综上所述,现有远程显示iOS设备屏幕内容的技术,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
技术实现思路
针对上述的缺陷,本专利技术的目的在于提供一种iOS终端的远程显示方法、系统、节点管理端、计算机设备及存储介质,其具有清晰度高,画面显示流畅,且视频流所需带宽小的优点。为了实现上述目的,本专利技术提供一种iOS终端的远程显示方法,应用于包括依次通信连接的至少一个客户端、节点管理端和至少一个iOS终端的iOS终端的远程显示系统;所述方法包括步骤有:在所述iOS终端中安装基于ReplayKit2框架的录屏程序;所述客户端向所述节点管理端发送屏幕显示指令;所述节点管理端根据所述屏幕显示指令,向至少一个所述iOS终端发送开始录屏指令;所述iOS终端根据所述开始录屏指令,通过所述录屏程序获取屏幕数据并推送给所述节点管理端;所述节点管理端将所述录屏数据发送给所述客户端。根据本专利技术所述的远程显示方法,所述节点管理端根据所述屏幕显示指令,向至少一个所述iOS终端发送开始录屏指令的步骤包括:所述节点管理端收到所述屏幕显示指令后,建立与至少一个所述iOS终端的Socket连接,并向所述iOS终端发送所述开始录屏指令;所述iOS终端根据所述开始录屏指令,通过所述录屏程序获取屏幕数据并推送给所述节点管理端的步骤包括:所述iOS终端收到所述开始录屏指令后,通过所述录屏程序获取所述屏幕数据;所述iOS终端对获取的所述屏幕数据进行编码;所述iOS终端将编码后的所述屏幕数据通过异步Socket推送给所述节点管理端;所述节点管理端将所述录屏数据发送给所述客户端的步骤包括:所述节点管理端将编码后的所述屏幕数据转换成帧数据,并发送给所述客户端。根据本专利技术所述的远程显示方法,所述录屏程序获取所述屏幕数据并进行编码的步骤包括:通过VideoToolbox工具对所述屏幕数据进行H.264编码。根据本专利技术所述的远程显示方法,所述在所述iOS终端中安装基于ReplayKit2框架的录屏程序的步骤之后,以及所述客户端向所述节点管理端发送屏幕显示指令的步骤之前还包括:所述节点管理端向所述iOS终端发送启动服务指令;所述iOS终端根据所述启动服务指令,启动所述录屏程序所集成的广播上传扩展,通过RPBroadcastController函数以回调方式将所述屏幕数据发送给processSampleBuffer函数;所述iOS终端收到所述开始录屏指令后,通过所述录屏程序获取所述屏幕数据并进行编码的步骤包括:所述iOS终端收到所述开始录屏指令后,通过所述录屏程序获取所述processSampleBuffer函数的所述屏幕数据并进行编码。根据本专利技术所述的远程显示方法,所述节点管理端将所述录屏数据发送给所述客户端的步骤之后还包括:所述客户端向所述节点管理端发送停止显示指令;所述节点管理端根据所述停止显示指令,关闭与至少一个所述iOS终端的Socket连接,并向所述iOS终端发送所述停止录屏指令;所述iOS终端根据所述停止录屏指令,停止处理所述processSampleBuffer函数的所述屏幕数据。根据本专利技术所述的远程显示方法,所述节点管理端向所述iOS终端发送启动服务指令的步骤包括:所述节点管理端启动service_scrcpy函数,通过WedDriverAgent框架向所述iOS终端发送所述启动服务指令;所述iOS终端根据所述启动服务指令,启动所述录屏程序所集成的广播上传扩展的步骤包括:所述iOS终端根据所述启动服务指令启动所述录屏程序,并将所述录屏程序切换到后台;所述节点管理端收到所述屏幕显示指令后,建立与至少一个所述iOS终端的Socket连接,并向所述iOS终端发送所述开始录屏指令的步骤包括:所述节点管理端的service_scrcpy函数收到所述屏幕显示指令后,建立与至少一个所述iOS终端的Socket连接,并向所述iOS终端发送所述开始录屏指令。根据本专利技术所述的远程显示方法,所述节点管理端将编码后的所述屏幕数据转换成帧数据,并发送给所述客户端的步骤包括:通过所述节点管理端的service_scrcpy函数的数据接收线程,接收编码后的所述屏幕数据,并存入数据缓存;通过所述节点管理端的service_scrcpy函数的数据处理线程,从所述数据缓存中取出数据,转换成NAL单元,并存入帧缓存;通过所述节点管理端的service_scrcpy函数的数据推送线程,从所述帧缓存中取出帧数据发送给所述客户端。根据本专利技术所述的远程显示方法,所述客户端向所述节点管理端发送屏幕显示指令的步骤之前还包括:所述节点管理端新增第一端口和第二端口,所述第一端口为对外提供的socket端口,所述第二端口映射所述iOS终端的第三端口;所述iOS终端的所述广播上传扩展创建GCDAsyncSocket对象,绑定所述第三端口,等待建立Socket连接。本文档来自技高网
...

【技术保护点】
1.一种iOS终端的远程显示方法,其特征在于,应用于包括依次通信连接的至少一个客户端、节点管理端和至少一个iOS终端的iOS终端的远程显示系统;所述方法包括步骤有:/n在所述iOS终端中安装基于ReplayKit2框架的录屏程序;/n所述客户端向所述节点管理端发送屏幕显示指令;/n所述节点管理端根据所述屏幕显示指令,向至少一个所述iOS终端发送开始录屏指令;/n所述iOS终端根据所述开始录屏指令,通过所述录屏程序获取屏幕数据并推送给所述节点管理端;/n所述节点管理端将所述录屏数据发送给所述客户端。/n

【技术特征摘要】
1.一种iOS终端的远程显示方法,其特征在于,应用于包括依次通信连接的至少一个客户端、节点管理端和至少一个iOS终端的iOS终端的远程显示系统;所述方法包括步骤有:
在所述iOS终端中安装基于ReplayKit2框架的录屏程序;
所述客户端向所述节点管理端发送屏幕显示指令;
所述节点管理端根据所述屏幕显示指令,向至少一个所述iOS终端发送开始录屏指令;
所述iOS终端根据所述开始录屏指令,通过所述录屏程序获取屏幕数据并推送给所述节点管理端;
所述节点管理端将所述录屏数据发送给所述客户端。


2.根据权利要求1所述的远程显示方法,其特征在于,所述节点管理端根据所述屏幕显示指令,向至少一个所述iOS终端发送开始录屏指令的步骤包括:
所述节点管理端收到所述屏幕显示指令后,建立与至少一个所述iOS终端的Socket连接,并向所述iOS终端发送所述开始录屏指令;
所述iOS终端根据所述开始录屏指令,通过所述录屏程序获取屏幕数据并推送给所述节点管理端的步骤包括:
所述iOS终端收到所述开始录屏指令后,通过所述录屏程序获取所述屏幕数据;
所述iOS终端对获取的所述屏幕数据进行编码;
所述iOS终端将编码后的所述屏幕数据通过异步Socket推送给所述节点管理端;
所述节点管理端将所述录屏数据发送给所述客户端的步骤包括:
所述节点管理端将编码后的所述屏幕数据转换成帧数据,并发送给所述客户端。


3.根据权利要求2所述的远程显示方法,其特征在于,所述录屏程序获取所述屏幕数据并进行编码的步骤包括:
通过VideoToolbox工具对所述屏幕数据进行H.264编码。


4.根据权利要求2所述的远程显示方法,其特征在于,所述在所述iOS终端中安装基于ReplayKit2框架的录屏程序的步骤之后,以及所述客户端向所述节点管理端发送屏幕显示指令的步骤之前还包括:
所述节点管理端向所述iOS终端发送启动服务指令;
所述iOS终端根据所述启动服务指令,启动所述录屏程序所集成的广播上传扩展,通过RPBroadcastController函数以回调方式将所述屏幕数据发送给processSampleBuffer函数;
所述iOS终端收到所述开始录屏指令后,通过所述录屏程序获取所述屏幕数据并进行编码的步骤包括:
所述iOS终端收到所述开始录屏指令后,通过所述录屏程序获取所述processSampleBuffer函数的所述屏幕数据并进行编码。


5.根据权利要求4所述的远程显示方法,其特征在于,所述节点管理端将所述录屏数据发送给所述客户端的步骤之后还包括:
所述客户端向所述节点管理端发送停止显示指令;
所述节点管理端根据所述停止显示指令,关闭与至少一个所述iOS终端的Socket连接,并向所述iOS终端发送所述停止录屏指令;
所述iOS终端根据所述停止录屏指令,停止处理所述processSampleBuffer函数的所述屏幕数据。


6.根据权利要求4所述的远程显示方法,其特征在于,所述节点管理端向所述iOS终端发送启动服务指令的步骤包括:
所述节点管理端启动service_scrcpy函数,通过WedDriverAgent框架向所述iOS终端发送所述启动服务指令;
所述iOS终端根据所述启动服务指令,启动所述录屏程序所集成的广播上传扩展的步骤包括:
所述iOS终端根据所述启动服务指令启动所述录屏程序,并将所述录屏程序切换到后台;
所述节点管理端收到所述屏幕显示指令后,建立与至少一个所述iOS终端的Socket连接,并向所述iOS终端发送所述开始录屏指令的步骤包括:
所述节点管理端的service_scrcpy函数收到所述屏幕显示指令后,建立与至少一个所述iOS终端的Socket连接,并向所述iOS终端发送所述开始录屏指令。


7.根据权利要求6所述的远程显示方法,其特征在于,所述节点管理端将编码后的所述屏幕数据转换成帧数据,并发送给所述客户端的步骤包括:
通过所述节点管理端的service_scrcpy函数的数据接收线程,接收编码后的所述屏幕数据,并存入数据缓存;
通过所述节点管理端的service_scrcpy函数的数据处理线程,从所述数据缓存中取出数据,转换成NAL单元,并存入帧缓存;
通过所述节点管理端的service_scrcpy函数的数据推送线程,从所述帧缓存中取出帧数据发送给所述客户端。


8.根据权利要求4所述的远程显示方法,其特征在于,所述客户端向所述节点管理端发送屏幕显示指令的步骤之前还包括:
所述节点管理端新增第一端口和第二端口,所述第一端口为对外提供的socket端口,所述第二端口映射所述iOS终端的第三端口;
所述iOS终端的所述广播上传扩展创建GCDAsyncSocket对象,绑定所述第三端口,等待建立Socket连接。


9.根据权利要求2所述的远程显示方法,其特征在于,所述客户端通过web服务器、代理端与所述节点管理端通信连接;
所述节点管理端将编码后的所述屏幕数据转换成帧数据,并发送给所述客户端的步骤包括:
所述节点管理端将编码后的所述屏幕数据转换成所述帧数据,发送给所述代理端;
所述代理端将所述帧数据发送给所述web服务器;
所述web服务器将所述帧数据通过websocket方式发送给所述客户端显示。


10.根据权利要求2所述的远程显示方法,其特征在于,所述远程显示方法应用于APP的真机测试;
所述节点管理端安装于计算机设备;和/或
所述客户端为浏览器。


11.一种iOS终端的远程显示系统,其特征在于,包括有依次通信连接的至少一个客户端、节点管理端和至少一个iOS终端;
所述客户端,用于向所述节点管理端发送屏幕显示指令;
所述节点管理端进一步包括:
指令控制模块,用于根据所述屏幕显示指令,向至少一个所述iOS终端发送开始录屏指令;
数据处理模块,用于将所述iOS终端推送的所述录屏数据发送给所述客户端;
所述iOS终端,安装有基于ReplayKit2框架的录屏程序,用于根据所述开始录屏指令,通过所述录屏程序获取屏幕数据并推送给所述节点管理端。


12.根据权利要求11所述的远程显示系统,其特征在于,所述节点管理端的所述指令控制模块用于收到所述屏幕显示指令后,建立与至少一个所述iOS终端的Socket连接,并向所述iOS终端发送所述开始录屏指令;
所述节点管理端的所述数据处理模块用于将所述iOS终端推送的编码后的所述屏幕数据转换成帧数据,并发送给所述客户端;
所述iOS终...

【专利技术属性】
技术研发人员:刘双李珂赵雪萍
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1