CN115037732A - 通过流媒体进行远程真机调试的方法、装置、设备及介质 - Google Patents
通过流媒体进行远程真机调试的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115037732A CN115037732A CN202210618286.4A CN202210618286A CN115037732A CN 115037732 A CN115037732 A CN 115037732A CN 202210618286 A CN202210618286 A CN 202210618286A CN 115037732 A CN115037732 A CN 115037732A
- Authority
- CN
- China
- Prior art keywords
- video stream
- screenshot
- frame
- mobile phone
- command
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012360 testing method Methods 0.000 claims abstract description 40
- 238000005516 engineering process Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于远程真机调试技术领域,公开一种通过流媒体进行远程真机调试的方法、装置、设备及介质,所述方法包括:手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留;手机执行端通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列;手机执行端与客户端之间建立Socket通道;手机执行端读取队列中的H264视频流数据,按顺序通过建立的Socket通道发送给客户端。本发明使用流媒体技术解决带宽要求高的问题。
Description
技术领域
本发明属于远程真机调试技术领域,特别涉及一种通过流媒体技术进行远程真机调试的方法及装置。
背景技术
远程真机调试是一种常用的开发调试技术,是为了解决开发者身边测试机型不足或资源调配不足等情况,产生的一种通过远程网页即可使用远程真实手机设备的测试方法。
目前远程真机的实现方法是将每一帧的数据都完整的发送给客户端,随着现在手机屏幕越来越大,屏幕的分辨率也越来越高,一个完整的截图通常文件存储大小都要在500KB以上,而为了保持客户端显示的流畅,通常帧率要做到大于15帧。这样就产生了一个问题,为了保持画面的流畅,网络传输需要的带宽通常需要保持在500*15*8=60Mbps,对网络带宽的要求非常高。就算对图像进行了适当的压缩,通常一个真机需要的带宽也要在20Mbps以上,对企业带来了非常大的成本。同时带宽不足也会造成使用者卡顿,用户体验非常不理想。
发明内容
本发明的目的在于提供一种通过流媒体进行远程真机调试的方法、装置、设备及介质,以解决现有远程真机调试时存在的带宽需求过高的技术问题。
为了实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种通过流媒体进行远程真机调试的方法,包括:
手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留;
手机执行端通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列;
手机执行端与客户端之间建立Socket通道;手机执行端读取队列中的H264视频流数据,按顺序通过建立的Socket通道发送给客户端。
本发明进一步的改进在于:所述手机执行端通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列的步骤中,具体的,手机执行端调用JNI方法,通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列。
本发明进一步的改进在于:所述手机执行端通过FFmpeg命令将获得的每一帧截图转化成H264视频流的步骤中,手机执行端通过FFmpeg命令将获得的第一帧截图完整的转化成H264视频流。
本发明进一步的改进在于:所述手机执行端通过FFmpeg命令将获得的每一帧截图转化成H264视频流的步骤中,手机执行端针对第一帧截图以后的每一帧截图,先与前一帧截图进行比较,获得相对于前一帧截图有变化的像素点,将有变化的像素点通过FFmpeg命令转化成H264视频流。
第二方面,本发明提供一种通过流媒体进行远程真机调试的方法,包括:
客户端按顺序接收H264视频流;
客户端调用H264视频解码组件,将接收的H264视频还原成YUV格式视频;
客户端使用Canvas技术显示解码后YUV格式视频;
其中,所述H264视频流为手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留,通过FFmpeg命令将获得的每一帧截图转化成H264视频流获得。
本发明进一步的改进在于:手机执行端通过FFmpeg命令将获得的第一帧截图完整的转化成H264视频流;针对第一帧截图以后的每一帧截图,先与前一帧截图进行比较,获得相对于前一帧截图有变化的像素点,将有变化的像素点通过FFmpeg命令转化成H264视频流。
第三方面,本发明提供一种通过流媒体进行远程真机调试的装置,包括:
截图模块,用于进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留;
转化模块,用于通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列;
发送模块,用于读取队列中的H264视频流数据,按顺序通过建立的Socket通道发送给客户端。
第四方面,本发明提供一种通过流媒体进行远程真机调试的装置,包括:
接收模块,用于按顺序接收H264视频流;
解码模块,用于调用H264视频解码组件,将接收的H264视频还原成YUV格式视频;
显示模块,用于使用Canvas技术显示解码后YUV格式视频;
其中,所述H264视频流为手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留,通过FFmpeg命令将获得的每一帧截图转化成H264视频流获得。
第五方面,本发明提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现所述的通过流媒体进行远程真机调试的方法。
第六方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现所述的通过流媒体进行远程真机调试的方法。
相对于现有技术,本发明具有以下有益效果:
本发明提供一种通过流媒体进行远程真机调试的方法、装置、设备及介质,手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留;手机执行端通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列;手机执行端与客户端之间建立Socket通道;手机执行端读取队列中的H264视频流数据,按顺序通过建立的Socket通道发送给客户端;本发明使用流媒体技术解决带宽要求高的问题。
进一步的,流媒体技术的优势在于传输的每一帧数据并不都是完整的画面,通常第一帧是要传完整画面的,称之为关键帧,随后的每一帧都只传输在上一个关键帧上变化的部分,由于帧率较高,所以每一帧较上一帧变化的数据非常小,这样就有效的降低了数据的传送量,进而节约了带宽。
本发明目前已经在移动端自动化测试平台实施完成,通过流媒体技术进行远程真机调试,突破了现有的视频压缩回传映射的技术瓶颈,降低了流媒体占用带宽的比例,从而为企业显著降低了网络宽带方面的占用成本支出。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明一种通过流媒体技术进行远程真机调试的方法的流程示意图;
图2为本发明另一种通过流媒体技术进行远程真机调试的方法的流程示意图;
图3为本发明又一种通过流媒体技术进行远程真机调试的方法的流程示意图;
图4为本发明一种通过流媒体技术进行远程真机调试的装置的结构框图;
图5为本发明另一种通过流媒体技术进行远程真机调试的装置的结构框图;
图6为本发明一种电子设备的结构框图。
具体实施方式
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本发明所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。
相关技术术语解释:
远程真机调试测试:远程真机的核心是如何把远程设备的屏幕映射到网页测试端,通常的解决方法是使用开源的minicap、minitouch或agent端进行逐帧的截图,将每一帧的截图发送给网页客户端。
Canvas:是HTML5中新增加的API用于网页实时的生成图像,,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的图片。
Adb:即Android Debug Bridge(安卓调试桥)tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。
实施例1
请参阅图1所示,本发明提供一种通过流媒体技术进行远程真机调试的方法,其核心是在将截屏发送给客户端前使用视频压缩技术进行压制,将压缩后的视频数据传给客户端;本发明起到了非常明显的降低带宽的作用,经测算,平均带宽消耗降低了60%~70%,同时映射屏的清晰度提高了一倍;具体包括以下步骤:
S1、手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留;
S2、手机执行端调用JNI方法(JNI是Java Native Interface的缩写,通过使用Java本地接口书写程序,可以确保代码在不同的平台上方便移植),通过FFmpeg命令将步骤S1)的获得的截图转化成H264视频流,将转化后的H264视频流加入队列;其中,第一帧截图完整的转化成H264视频流;随后的每一帧截图转化前,先与前一帧截图进行比较,获得相对于前一帧有变化的像素点,将有变化的像素点通过FFmpeg命令转化成H264视频流,将转化后的H264视频流加入队列;第一帧传完整画面的,称之为关键帧,随后的每一帧都只传输在上一个关键帧上变化的部分,由于帧率较高,所以每一帧较上一帧变化的数据非常小,这样就有效的降低了数据的传送量,进而节约了带宽。
S3、手机执行端与客户端之间建立Socket通道;手机执行端读取队列中的H264视频流数据,按顺序通过建立的Socket通道发送给客户端;
S4、客户端按顺序接收H264视频流;
S5、客户端调用H264视频解码组件,将接收的H264视频还原成YUV格式视频;
S6、客户端使用Canvas技术显示解码后YUV格式视频。
本发明尝试使用流媒体技术解决带宽要求高的问题。流媒体技术的优势在于传输的每一帧数据并不都是完整的画面,通常第一帧是要传完整画面的,称之为关键帧,随后的每一帧都只传输在上一个关键帧上变化的部分,由于帧率较高,所以每一帧较上一帧变化的数据非常小,这样就有效的降低了数据的传送量,进而节约了带宽。
本发明目前已经在移动端自动化测试平台实施完成,通过流媒体技术进行远程真机调试,突破了现有的视频压缩回传映射的技术瓶颈,降低了流媒体占用带宽的比例,从而为企业显著降低了网络宽带方面的占用成本支出。
实施例2
请参阅图2所示,本发明提供一种通过流媒体技术进行远程真机调试的方法,具体包括以下步骤:
S11、手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留;
S12、手机执行端调用JNI方法(JNI是Java Native Interface的缩写,通过使用Java本地接口书写程序,可以确保代码在不同的平台上方便移植),通过FFmpeg命令将步骤S11)的获得的截图转化成H264视频流,将转化后的H264视频流加入队列;其中,第一帧截图完整的转化成H264视频流;随后的每一帧截图转化前,先与前一帧截图进行比较,获得相对于前一帧有变化的像素点,将有变化的像素点通过FFmpeg命令转化成H264视频流,将转化后的H264视频流加入队列;第一帧传完整画面的,称之为关键帧,随后的每一帧都只传输在上一个关键帧上变化的部分,由于帧率较高,所以每一帧较上一帧变化的数据非常小,这样就有效的降低了数据的传送量,进而节约了带宽。
S13、手机执行端与客户端之间建立Socket通道;手机执行端读取队列中的H264视频流数据,按顺序通过建立的Socket通道发送给客户端。
实施例3
请参阅图3所示,本发明提供一种通过流媒体技术进行远程真机调试的方法,具体包括以下步骤:
S21、客户端按顺序接收H264视频流;
S22、客户端调用H264视频解码组件,将接收的H264视频还原成YUV格式视频;
S23、客户端使用Canvas技术显示解码后YUV格式视频。
其中,H264视频流的获取步骤包括:
S11、手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留;
S12、手机执行端调用JNI方法(JNI是Java Native Interface的缩写,通过使用Java本地接口书写程序,可以确保代码在不同的平台上方便移植),通过FFmpeg命令将步骤S21)的获得的截图转化成H264视频流,将转化后的H264视频流加入队列;其中,第一帧截图完整的转化成H264视频流;随后的每一帧截图转化前,先与前一帧截图进行比较,获得相对于前一帧有变化的像素点,将有变化的像素点通过FFmpeg命令转化成H264视频流,将转化后的H264视频流加入队列;第一帧传完整画面的,称之为关键帧,随后的每一帧都只传输在上一个关键帧上变化的部分,由于帧率较高,所以每一帧较上一帧变化的数据非常小,这样就有效的降低了数据的传送量,进而节约了带宽。
S13、手机执行端与客户端之间建立Socket通道;手机执行端读取队列中的H264视频流数据,按顺序通过建立的Socket通道发送给客户端。
实施例4
请参阅图4所示,本发明提供一种通过流媒体进行远程真机调试的装置,包括:
截图模块,用于进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留;
转化模块,用于通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列;
发送模块,用于读取队列中的H264视频流数据,按顺序通过建立的Socket通道发送给客户端。
其中,转化模块调用JNI方法(JNI是Java Native Interface的缩写,通过使用Java本地接口书写程序,可以确保代码在不同的平台上方便移植),通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列;其中,第一帧截图完整的转化成H264视频流;随后的每一帧截图转化前,先与前一帧截图进行比较,获得相对于前一帧有变化的像素点,将有变化的像素点通过FFmpeg命令转化成H264视频流,将转化后的H264视频流加入队列;第一帧传完整画面的,称之为关键帧,随后的每一帧都只传输在上一个关键帧上变化的部分,由于帧率较高,所以每一帧较上一帧变化的数据非常小,这样就有效的降低了数据的传送量,进而节约了带宽。
实施例5
请参阅图5所示,本发明提供一种通过流媒体进行远程真机调试的装置,包括:
接收模块,用于按顺序接收H264视频流;
解码模块,用于调用H264视频解码组件,将接收的H264视频还原成YUV格式视频;
显示模块,用于使用Canvas技术显示解码后YUV格式视频;
其中,所述H264视频流为手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留,通过FFmpeg命令将获得的每一帧截图转化成H264视频流获得。
其中,所述H264视频流为手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留,通过FFmpeg命令将获得的每一帧截图转化成H264视频流获得。其中,第一帧截图完整的转化成H264视频流;随后的每一帧截图转化前,先与前一帧截图进行比较,获得相对于前一帧有变化的像素点,将有变化的像素点通过FFmpeg命令转化成H264视频流,将转化后的H264视频流加入队列;第一帧传完整画面的,称之为关键帧,随后的每一帧都只传输在上一个关键帧上变化的部分,由于帧率较高,所以每一帧较上一帧变化的数据非常小,这样就有效的降低了数据的传送量,进而节约了带宽。
实施例6
请参阅图6所示,本发明还提供一种通过流媒体进行远程真机调试的方法的电子设备100;所述电子设备100包括存储器101、至少一个处理器102、存储在所述存储器101中并可在所述至少一个处理器102上运行的计算机程序103及至少一条通讯总线104。
存储器101可用于存储所述计算机程序103,所述处理器102通过运行或执行存储在所述存储器101内的计算机程序,以及调用存储在存储器101内的数据,实现实施例1至3中任一个所述的通过流媒体进行远程真机调试的方法步骤。所述存储器101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能)等;存储数据区可存储根据电子设备100的使用所创建的数据(比如音频数据)等。此外,存储器101可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述至少一个处理器102可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器102可以是微处理器或者该处理器102也可以是任何常规的处理器等,所述处理器102是所述电子设备100的控制中心,利用各种接口和线路连接整个电子设备100的各个部分。
所述电子设备100中的所述存储器101存储多个指令以实现一种通过流媒体进行远程真机调试的方法,所述处理器102可执行所述多个指令从而实现:
手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留;
手机执行端通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列;
手机执行端与客户端之间建立Socket通道;手机执行端读取队列中的H264视频流数据,按顺序通过建立的Socket通道发送给客户端。
实施例7
所述电子设备100集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器及只读存储器(ROM,Read-Only Memory)。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.通过流媒体进行远程真机调试的方法,其特征在于,包括:
手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留;
手机执行端通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列;
手机执行端与客户端之间建立Socket通道;手机执行端读取队列中的H264视频流数据,按顺序通过建立的Socket通道发送给客户端。
2.根据权利要求1所述的通过流媒体进行远程真机调试的方法,其特征在于,所述手机执行端通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列的步骤中,具体的,手机执行端调用JNI方法,通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列。
3.根据权利要求1所述的通过流媒体进行远程真机调试的方法,其特征在于,所述手机执行端通过FFmpeg命令将获得的每一帧截图转化成H264视频流的步骤中,手机执行端通过FFmpeg命令将获得的第一帧截图完整的转化成H264视频流。
4.根据权利要求1所述的通过流媒体进行远程真机调试的方法,其特征在于,所述手机执行端通过FFmpeg命令将获得的每一帧截图转化成H264视频流的步骤中,手机执行端针对第一帧截图以后的每一帧截图,先与前一帧截图进行比较,获得相对于前一帧截图有变化的像素点,将有变化的像素点通过FFmpeg命令转化成H264视频流。
5.通过流媒体进行远程真机调试的方法,其特征在于,包括:
客户端按顺序接收H264视频流;
客户端调用H264视频解码组件,将接收的H264视频还原成YUV格式视频;
客户端使用Canvas技术显示解码后YUV格式视频;
其中,所述H264视频流为手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留,通过FFmpeg命令将获得的每一帧截图转化成H264视频流获得。
6.根据权利要求5所述的通过流媒体进行远程真机调试的方法,其特征在于,手机执行端通过FFmpeg命令将获得的第一帧截图完整的转化成H264视频流;针对第一帧截图以后的每一帧截图,先与前一帧截图进行比较,获得相对于前一帧截图有变化的像素点,将有变化的像素点通过FFmpeg命令转化成H264视频流。
7.通过流媒体进行远程真机调试的装置,其特征在于,包括:
截图模块,用于进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留;
转化模块,用于通过FFmpeg命令将获得的每一帧截图转化成H264视频流,将转化后的H264视频流加入队列;
发送模块,用于读取队列中的H264视频流数据,按顺序通过建立的Socket通道发送给客户端。
8.通过流媒体进行远程真机调试的装置,其特征在于,包括:
接收模块,用于按顺序接收H264视频流;
解码模块,用于调用H264视频解码组件,将接收的H264视频还原成YUV格式视频;
显示模块,用于使用Canvas技术显示解码后YUV格式视频;
其中,所述H264视频流为手机执行端进行远程真机调试测试时,通过安卓调试桥中的screencap命令将测试界面的每一帧截图保留,通过FFmpeg命令将获得的每一帧截图转化成H264视频流获得。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至6中任意一项所述的通过流媒体进行远程真机调试的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至6中任意一项所述的通过流媒体进行远程真机调试的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210618286.4A CN115037732B (zh) | 2022-06-01 | 2022-06-01 | 通过流媒体进行远程真机调试的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210618286.4A CN115037732B (zh) | 2022-06-01 | 2022-06-01 | 通过流媒体进行远程真机调试的方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115037732A true CN115037732A (zh) | 2022-09-09 |
CN115037732B CN115037732B (zh) | 2024-04-23 |
Family
ID=83123735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210618286.4A Active CN115037732B (zh) | 2022-06-01 | 2022-06-01 | 通过流媒体进行远程真机调试的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115037732B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921610A (zh) * | 2006-09-11 | 2007-02-28 | 龚湘明 | 基于客户端的视频流互动处理方法及处理系统 |
CN109168041A (zh) * | 2018-09-26 | 2019-01-08 | 深圳壹账通智能科技有限公司 | 一种移动终端监控方法及系统 |
CN110430467A (zh) * | 2019-07-11 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 远程设备访问方法和装置 |
CN110876069A (zh) * | 2018-08-31 | 2020-03-10 | 广州虎牙信息科技有限公司 | 视频截图的获取方法、装置、设备及存储介质 |
CN111949517A (zh) * | 2020-07-23 | 2020-11-17 | 上海硬通网络科技有限公司 | 远程真机测试方法、装置及电子设备 |
CN113973207A (zh) * | 2021-10-26 | 2022-01-25 | 上海赛可出行科技服务有限公司 | 一种基于h264码流的ios远程真机web端实时操控回显方法 |
-
2022
- 2022-06-01 CN CN202210618286.4A patent/CN115037732B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1921610A (zh) * | 2006-09-11 | 2007-02-28 | 龚湘明 | 基于客户端的视频流互动处理方法及处理系统 |
CN110876069A (zh) * | 2018-08-31 | 2020-03-10 | 广州虎牙信息科技有限公司 | 视频截图的获取方法、装置、设备及存储介质 |
CN109168041A (zh) * | 2018-09-26 | 2019-01-08 | 深圳壹账通智能科技有限公司 | 一种移动终端监控方法及系统 |
CN110430467A (zh) * | 2019-07-11 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 远程设备访问方法和装置 |
CN111949517A (zh) * | 2020-07-23 | 2020-11-17 | 上海硬通网络科技有限公司 | 远程真机测试方法、装置及电子设备 |
CN113973207A (zh) * | 2021-10-26 | 2022-01-25 | 上海赛可出行科技服务有限公司 | 一种基于h264码流的ios远程真机web端实时操控回显方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115037732B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112422508A (zh) | 一种在浏览器网页中播放视频的方法及系统 | |
CN112235604B (zh) | 渲染方法及装置、计算机可读存储介质、电子设备 | |
CN104780378A (zh) | 一种用于解码视频的方法、装置和播放器 | |
US11562772B2 (en) | Video processing method, electronic device, and storage medium | |
CN111408138A (zh) | 基于游戏引擎的渲染方法、装置及电子设备 | |
CN108055595B (zh) | 视频图像的重定向方法、计算机可读存储介质 | |
CN110290398B (zh) | 视频下发方法、装置、存储介质及电子设备 | |
CN114040251A (zh) | 音视频播放方法、系统、存储介质及计算机程序产品 | |
CN114938408B (zh) | 一种云手机的数据传输方法、系统、设备及介质 | |
CN114222185B (zh) | 视频播放方法、终端设备及存储介质 | |
CN108769815A (zh) | 视频处理方法及其装置 | |
CN113411661B (zh) | 用于记录信息的方法、装置、设备、存储介质及程序产品 | |
CN110881046A (zh) | 一种云手机对接WebRTC协议的方法、装置、介质及终端设备 | |
CN104010204B (zh) | 图像信息处理方法及装置 | |
CN114339412A (zh) | 视频质量增强方法、移动终端、存储介质及装置 | |
CN115037732B (zh) | 通过流媒体进行远程真机调试的方法、装置、设备及介质 | |
CN115914745A (zh) | 视频的解码方法、装置、电子设备及计算机可读介质 | |
CN114510523A (zh) | 系统间的数据传输方法、装置、终端设备及介质 | |
CN114697555A (zh) | 一种图像处理方法、装置、设备及存储介质 | |
CN114079823A (zh) | 基于Flutter的视频渲染方法、装置、设备及介质 | |
CN116137049A (zh) | 虚拟行动架构的远端渲染系统、方法及装置 | |
CN110798700A (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 | |
CN107241199B (zh) | 一种会议终端的图像处理方法及装置 | |
CN105812922A (zh) | 多媒体文件数据的处理方法及系统、播放器和客户端 | |
CN110022480B (zh) | 一种基于amd显卡的h265硬件编码方法及直播平台 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |