CN108833963B - Method, computer device, readable storage medium and system for displaying interface picture - Google Patents

Method, computer device, readable storage medium and system for displaying interface picture Download PDF

Info

Publication number
CN108833963B
CN108833963B CN201810548283.1A CN201810548283A CN108833963B CN 108833963 B CN108833963 B CN 108833963B CN 201810548283 A CN201810548283 A CN 201810548283A CN 108833963 B CN108833963 B CN 108833963B
Authority
CN
China
Prior art keywords
terminal
target
video stream
server
webpage
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.)
Active
Application number
CN201810548283.1A
Other languages
Chinese (zh)
Other versions
CN108833963A (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.)
Tencent Technology Shanghai Co Ltd
Original Assignee
Tencent Technology Shanghai 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 Tencent Technology Shanghai Co Ltd filed Critical Tencent Technology Shanghai Co Ltd
Priority to CN201810548283.1A priority Critical patent/CN108833963B/en
Publication of CN108833963A publication Critical patent/CN108833963A/en
Application granted granted Critical
Publication of CN108833963B publication Critical patent/CN108833963B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Abstract

The embodiment of the invention discloses a method, computer equipment, a readable storage medium and a system for displaying an interface picture, and belongs to the technical field of internet. The method comprises the following steps: the server can receive a target video stream sent by the first terminal, wherein the target video stream consists of a currently displayed interface picture of the first terminal; determining a second terminal corresponding to the first terminal, wherein the second terminal is a terminal for remotely controlling the first terminal; and sending the target video stream to the second terminal, wherein the target video stream is an unpackaged video stream and is used for displaying an interface picture by the second terminal. The second terminal acquires the webpage decoding script and the webpage drawing script in the process of remotely controlling the first terminal by the second terminal; acquiring a target video stream sent by a server; and displaying an interface picture based on the target video stream through the webpage decoding script and the webpage drawing script. By adopting the invention, the delay of the display interface picture can be reduced.

Description

Method, computer device, readable storage medium and system for displaying interface picture
Technical Field
The present invention relates to the field of internet technologies, and in particular, to a method, a computer device, a readable storage medium, and a system for displaying an interface picture.
Background
At present, a cloud terminal may be deployed with terminals such as a mobile phone, so that a user may control a terminal (which may be referred to as a first terminal) of the cloud terminal through a network. In the process of using the first terminal, a user can trigger a terminal (which may be referred to as a second terminal) such as a local computer to obtain an interface picture currently displayed by the first terminal through operation, and display the obtained interface picture through a browser, so that the first terminal can be operated through a button in the picture at the second terminal, that is, the first terminal can be remotely controlled.
In order that the second terminal can smoothly display the interface picture of the first terminal, the interface picture is often acquired in a video stream mode. At present, a second terminal generally displays an acquired interface picture in a flash plug-in mode, and in order to enable the second terminal to display the interface picture acquired in a video stream mode through the flash plug-in, a video stream sent to the second terminal is often an encapsulated video stream. Specifically, the first terminal may generate a video stream (which may be referred to as a first video stream) according to the currently displayed interface picture, and further, may transmit the generated first video stream to a server (where the server may be a server deployed on a network side for the first terminal to communicate with the second terminal). After receiving the first video stream, the server may perform RTMP (Real Time Messaging Protocol) encapsulation on the first video stream to obtain a second video stream, and then send the second video stream to the second terminal. After the second terminal receives the second video stream, the second video stream can be decoded and played through the installed flash plug-in, and then an interface picture can be displayed.
In the process of implementing the invention, the inventor finds that the related art has at least the following problems:
based on the above processing method for displaying the interface picture, when the server encapsulates the first video stream, a certain buffer is often needed, and after the flash decodes the video frames in the video stream, several frames of video frames need to be buffered first for displaying, thereby causing a larger display delay of the interface picture.
Disclosure of Invention
The embodiment of the invention provides a method, computer equipment, a readable storage medium and a system for displaying an interface picture, which can solve the problem of large display delay of the interface picture in the related technology. The technical scheme is as follows:
in one aspect, a system for displaying an interface picture is provided, the system including a server and a second terminal, wherein:
the server is used for receiving a target video stream sent by a first terminal, wherein the target video stream consists of a currently displayed interface picture of the first terminal; determining a second terminal corresponding to the first terminal, wherein the second terminal is a terminal for remotely controlling the first terminal; sending the target video stream to the second terminal, wherein the target video stream is an unpackaged video stream and is used for displaying the interface picture by the second terminal;
the second terminal is used for acquiring a webpage decoding script and a webpage drawing script; in the process that the second terminal remotely controls the first terminal, a target video stream sent by a server is obtained; and displaying the interface picture based on the target video stream through the webpage decoding script and the webpage drawing script.
In one aspect, a method for displaying an interface picture is provided, and is applied to a server, and the method includes:
receiving a target video stream sent by a first terminal, wherein the target video stream consists of a currently displayed interface picture of the first terminal;
determining a second terminal corresponding to the first terminal, wherein the second terminal is a terminal for remotely controlling the first terminal;
and sending the target video stream to the second terminal, wherein the target video stream is an unpackaged video stream and is used for displaying the interface picture by the second terminal.
In one aspect, a method for displaying an interface picture is provided, and is applied to a second terminal, and the method includes:
acquiring a webpage decoding script and a webpage drawing script;
in the process that the second terminal remotely controls the first terminal, a target video stream sent by a server is obtained, wherein the target video stream is a video stream which is composed of an interface picture currently displayed by the first terminal and is not packaged;
and displaying the interface picture based on the target video stream through the webpage decoding script and the webpage drawing script.
In one aspect, an apparatus for displaying an interface screen is provided, the apparatus including:
the first receiving module is used for receiving a target video stream sent by a first terminal, wherein the target video stream consists of a currently displayed interface picture of the first terminal;
the determining module is used for determining a second terminal corresponding to the first terminal, wherein the second terminal is a terminal for remotely controlling the first terminal;
and the first sending module is used for sending the target video stream to the second terminal, wherein the target video stream is an unpackaged video stream and is used for displaying the interface picture by the second terminal.
In one aspect, an apparatus for displaying an interface screen is provided, the apparatus including:
the first acquisition module is used for acquiring a webpage decoding script and a webpage drawing script;
the second acquisition module is used for acquiring a target video stream sent by the server in the process of remotely controlling the first terminal by the second terminal, wherein the target video stream is a video stream which is composed of an interface picture currently displayed by the first terminal and is not packaged;
and the first display module is used for displaying the interface picture based on the target video stream through the webpage decoding script and the webpage drawing script.
In one aspect, a computer device is provided, which includes a processor and a memory, where at least one instruction, at least one program, a set of codes, or a set of instructions is stored in the memory, and the at least one instruction, the at least one program, the set of codes, or the set of instructions is loaded and executed by the processor to implement the method for displaying an interface picture as described above.
In one aspect, a computer-readable storage medium is provided, in which at least one instruction, at least one program, a set of codes, or a set of instructions is stored, which is loaded and executed by a processor to implement the method for displaying an interface picture as described above.
The technical scheme provided by the embodiment of the invention has the beneficial effects that at least:
in the embodiment of the invention, after the server receives the target video stream sent by the first terminal, the target video stream is not packaged any more and is directly forwarded to the second terminal, so that the phenomenon that the server caches the video frame first is avoided, the delay of the second terminal for obtaining the target video stream can be reduced, and further, the delay of displaying an interface picture can be reduced. In addition, in the embodiment of the invention, after the second terminal receives the target video stream, the interface picture can be displayed in time after the second terminal decodes the interface picture by the webpage decoding script and the webpage drawing script and based on the target video stream, so that the delay of displaying the interface picture can be reduced.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a system framework diagram provided by an embodiment of the present invention;
FIG. 2 is a flowchart of a method for displaying an interface screen according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of an interface provided by an embodiment of the present invention;
FIG. 4 is a schematic view of an interface provided by an embodiment of the present invention;
FIG. 5 is a schematic diagram of an apparatus for displaying an interface screen according to an embodiment of the present invention;
FIG. 6 is a schematic structural diagram of an apparatus for displaying an interface screen according to an embodiment of the present invention;
FIG. 7 is a schematic diagram of an apparatus for displaying an interface screen according to an embodiment of the present invention;
FIG. 8 is a schematic structural diagram of an apparatus for displaying an interface screen according to an embodiment of the present invention;
FIG. 9 is a schematic diagram of an apparatus for displaying an interface screen according to an embodiment of the present invention;
fig. 10 is a schematic device structure diagram of a terminal according to an embodiment of the present invention;
fig. 11 is a schematic structural diagram of a server according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
The embodiment of the invention provides a method for displaying an interface picture, which can be realized by a first terminal 101, a server 102 and a second terminal 103 together. The first terminal 101 may be an electronic device at the cloud end, for example, a mobile device such as a mobile phone at the cloud end may be used for a user to perform remote control on the first terminal through a local terminal, which may also be referred to as a cloud terminal. The server 102 may be a server for performing communication between the first terminal 101 and the second terminal 103, may be a single server, or may be a server group composed of a plurality of servers, for example, a video server and a signaling server may be included, where the video server may be used to transmit a target video stream of the first terminal, and the signaling server may be used to transmit an operation command of the second terminal to the first terminal. The second terminal 103 may be a local terminal, a terminal for remotely controlling the first terminal, a terminal with a browser installed therein, for example, a terminal such as a PC (personal computer) with a browser installed therein.
The server 102 may include a processor, memory, transceiver, etc. The processor may be a CPU (Central Processing Unit), and may be configured to determine relevant Processing of the second terminal corresponding to the first terminal. The Memory may be a Random Access Memory (RAM), a Flash Memory (Flash Memory), or the like, and may be configured to store received data, data required by a processing procedure, data generated in the processing procedure, or the like, such as a correspondence between a terminal identifier and an account identifier. The transceiver may be used for data transmission with a terminal or other server, for example, to receive a target video stream transmitted by a first terminal and transmit the target video stream to a second terminal, and may include an antenna, a matching circuit, a modem, and the like.
The second terminal 103 may include a processor, memory, transceiver, screen, etc. The processor may be a CPU or the like, and may be configured to perform remote control on the first terminal and display related processing of an interface screen based on the target video stream. The memory may be a RAM, a Flash, or the like, and may be configured to store received data, data required by a processing procedure, data generated in the processing procedure, or the like, such as a target video stream, a web page decoding script, a web page rendering script, or the like. The screen may be a display, may be used to display a target web page, select an interface, and the like, and may also be a touch screen, and in this case, may also be used to detect a touch signal and the like. The transceiver may be used for data transmission with other devices, for example, to receive a target video stream transmitted by a server, and may include an antenna, a matching circuit, a modem, and the like.
In order to enable a user to use terminals of various types without purchasing corresponding terminals, the terminals of various types can be deployed at the cloud end, so that the user can control the terminal of the cloud end through a network, and any terminal of the cloud end can be called a first terminal. For example, a terminal in the cloud may be used by a service developer. In the development process, developers can develop services suitable for various operating systems (for example, services suitable for an android operating system and services suitable for an ios operating system). After the corresponding service is developed, the developed service can be tested through the corresponding terminal at the cloud end so as to search errors generated in the development process, and the user experience of the service when the service runs in the real terminal can be foreseen so as to optimize the developed service. Therefore, developers do not need to purchase terminals and can complete development work through the terminals at the cloud end, and therefore development cost can be saved.
In the process of using the first terminal, a user can trigger a terminal (which may be referred to as a second terminal) such as a local computer to obtain an interface picture currently displayed by the first terminal through operation, and display the obtained interface picture through a browser, so that the first terminal can be operated through a button in the picture at the second terminal, that is, the first terminal can be remotely controlled. At present, different methods can be adopted to obtain the interface picture currently displayed by the first terminal, and the obtained interface picture is displayed. For example, the interface screen currently displayed by the first terminal may be acquired in the form of an image (this manner may be referred to as a manner one) and displayed, or the interface screen currently displayed by the first terminal may be acquired in the form of a video stream (this manner may be referred to as a manner two) and displayed.
The specific processing procedure of the first mode may be as follows: the second terminal may obtain, based on a preset period, the interface picture currently displayed by the first terminal from the server, or the server may automatically push the interface picture currently displayed by the first terminal to the second terminal. The second terminal can create a local temporary object URL through URL (uniform resource locator) ObjectURL () after acquiring the interface picture currently displayed by the first terminal, set the src source of one interface picture as the URL of the temporary picture object, and further draw the interface picture into a Canvas, so that the display of the interface picture currently displayed by the first terminal is realized. The interface picture currently displayed by the first terminal is displayed in a first mode, the data volume of the interface picture sent by the server is large, generally 100KB (kilobytes), if the acquired rate is 25 interface pictures per second, the interface picture can be smoothly displayed only by network bandwidth of 2.5MB/s (megabytes/second), so that the method has high requirement on the network, occupies large bandwidth, and if the network cannot meet the conditions, the interface picture cannot be smoothly displayed by the second terminal, so that the delay of the displayed interface picture is large.
Since the image is compressed and encoded before the video stream is generated, in order that the second terminal can smoothly display the interface picture of the first terminal, the interface picture can be acquired in the form of the video stream, that is, the second mode does not need too large network bandwidth, and occupies a small bandwidth. At present, after a video stream is obtained, a browser of a second terminal may decode and play the video stream through an installed flash plugin, and the flash plugin may play a video stream in a specific form, for example, an RTMP video stream (i.e., a video stream obtained by performing RTMP encapsulation on a video stream generated by a first terminal) and an H264 video stream (i.e., a video stream compressed by an intra-frame-inter-frame compression algorithm, or an H265 video stream) may be played, where playing the video stream through the flash plugin requires a server to perform encapsulation processing on the video stream generated by the first terminal. The video stream has different forms, and the specific processing procedure of the second mode is different, and for the case that the video stream is an RTMP video stream, the specific processing procedure of the second mode may be as follows: the first terminal may generate a video stream (which may be referred to as a first video stream) according to the currently displayed interface screen, and may further transmit the generated first video stream to a server (where the server may be a server deployed on a network side for the first terminal to communicate with the second terminal). After receiving the first video stream, the server may perform RTMP (Real Time Messaging Protocol) encapsulation on the first video stream to obtain a second video stream, and then send the second video stream to the second terminal. After the second terminal receives the second video stream, the second video stream can be decoded and played through the installed flash plug-in, and then an interface picture can be displayed. Thus, based on the above processing method for displaying the interface picture, when the server (in this case, the server may also be referred to as a streaming server) encapsulates the first video stream, a certain buffer is often needed, and after the video frames in the video stream are decoded by the flash, several frames of video frames need to be buffered first for displaying, so that the display delay of the interface picture is relatively large.
For the case that the video stream is an H264 video stream, the specific processing procedure of the second method may be as follows: the first terminal may generate a video stream (which may be referred to as a first video stream) according to the currently displayed interface screen, and may further transmit the generated first video stream to a server (where the server may be a server deployed on a network side for the first terminal to communicate with the second terminal). After receiving the video stream, the server may perform FLV (where FLV is a video format) header encapsulation on the video stream to obtain a second video stream, and then send the second video stream to the second terminal. After the second terminal receives the second video stream, the second video stream can be decoded and played through the installed flash plug-in, and then an interface picture can be displayed. Therefore, based on the above processing method for displaying the interface picture, the server needs to encapsulate the first video stream, which consumes a certain market, and after the flash decodes the video frames in the video stream, the server needs to buffer several frames of video frames first to display the video frames, thereby causing a large display delay of the interface picture. Therefore, the interface picture currently displayed by the first terminal is obtained by the second mode, when a user wants to remotely control the first terminal through the second terminal, the flash plug-in needs to be installed first, and in addition, the delay of displaying the interface picture is large.
However, in this scheme, after receiving the target video stream sent by the first terminal, the server may determine a second terminal that currently remotely controls the first terminal, and further may directly send the target video stream sent by the first terminal to the second terminal, where the target video stream is an unpackaged video stream. The second terminal may obtain the webpage decoding script and the webpage drawing script in the process of remotely controlling the first terminal. After the target video stream sent by the server is acquired, the interface picture currently displayed by the first terminal can be displayed based on the acquired target video stream through the acquired webpage decoding script and the acquired webpage drawing script. Therefore, after receiving the target video stream, the server directly forwards the target video stream to the second terminal without packaging, and the second terminal can be ensured to obtain the target video stream in time. In addition, the second terminal analyzes the webpage decoding script and the webpage drawing script through the browser, and can directly display the interface picture without caching after decoding the interface picture in the target video stream, so that the delay of displaying the interface picture can be reduced.
The process flow shown in fig. 2 will be described in detail below with reference to the specific embodiments, and the contents may be as follows:
step 201, the second terminal displays a selection interface, and the selection interface includes options of a plurality of terminals.
In implementation, a browser may be installed in the second terminal, and when a user wants to use the terminal in the cloud (i.e., wants to remotely control the terminal in the cloud), the second terminal may be triggered to start the browser through operation, and then the user may input a website on the selection interface in an address bar of the browser, and trigger the second terminal to receive the acquisition instruction. After receiving the obtaining instruction, the second terminal may obtain a selection interface from the server (where the second terminal may establish a Websocket connection with the server, and the Websocket is a transmission protocol), and may further display the selection interface, where the selection interface includes options of multiple terminals deployed at the cloud, and each option includes introduction information of a corresponding terminal, as shown in fig. 3.
Step 202, the second terminal obtains a webpage decoding script and a webpage drawing script.
In implementation, after receiving the obtaining instruction, the second terminal may obtain a webpage decoding script and a webpage drawing script, in addition to obtaining the selection interface from the server, where the webpage decoding script and the webpage drawing script may be scripts for browser parsing, and may be JS files.
Optionally, the web page decoding script and the web page rendering script may be obtained from a server, and accordingly, the processing procedure of step 202 may be as follows: and when a display instruction for the target webpage is acquired, downloading the webpage decoding script and the webpage drawing script from the server.
In implementation, after the second terminal receives the acquisition instruction, a plurality of webpages may be displayed, for example, a webpage including a selection interface may be displayed, or a video stream may be displayed to display the webpage, etc. Before displaying the web page, the second terminal receives a display instruction for the web page (which may be called a target web page), and at this time, the second terminal may download a web page decoding script and a web page drawing script from the server. For example, when the target webpage is a webpage including the selection interface, the second terminal may download the webpage decoding script and the webpage drawing script from the server after receiving the instruction for acquiring the selection interface.
It should be noted that, based on the difference between the trigger mechanisms for acquiring the webpage decoding script and the webpage drawing script, the processing time sequence of step 202 has no precedence relationship with the processing time sequences of step 201 and step 203.
Step 203, when the second terminal receives a selection instruction of a first terminal in the plurality of terminals, the second terminal obtains a target account identifier of the current login account and a target terminal identifier of the first terminal.
In implementation, after the selection interface is displayed, the user may select a corresponding terminal according to a requirement of the user, at this time, the second terminal may receive a selection instruction for a terminal (i.e., a first terminal) in the plurality of terminals, and then the second terminal may obtain an account identifier (i.e., a target account identifier, which may be represented by a UserID) of the current login and a terminal identifier (i.e., a target terminal identifier, which may be represented by a DeviceID) of the first terminal.
And step 204, the second terminal encrypts the target account identifier and the target terminal identifier to obtain the encrypted target account identifier and the encrypted target terminal identifier.
In implementation, after the second terminal obtains the target account identifier and the target terminal identifier, the second terminal may encrypt the target account identifier and the target terminal identifier to obtain the encrypted target account identifier and the encrypted target terminal identifier, where the target account identifier and the encrypted target terminal identifier may be encrypted by a symmetric encryption algorithm. Specifically, after the second terminal acquires the target account identifier and the target terminal identifier, the target account identifier and the target terminal identifier may be encrypted by a Base64Encode (Base64Encode is an encryption method), so as to obtain the encrypted target terminal identifier and the encrypted target account identifier, which may be called key, and then the obtained key may be set in a Cookie, where the key in the Cookie may be as follows: base64Encode (DeviceID + UserID).
Step 205, the second terminal sends the encrypted target account identifier and the encrypted target terminal identifier to the server.
In implementation, after obtaining the encrypted target account identifier and the encrypted target terminal identifier, the second terminal may send the encrypted target account identifier and the encrypted target terminal identifier to the server. And aiming at the condition that the second terminal sets the encrypted target account identifier and the encrypted target terminal identifier as the data of the field key in the Cookie, the second terminal can send the Cookie to the server.
Correspondingly, after the second terminal sends the encrypted target account identifier and the encrypted target terminal identifier to the server, the server may receive the encrypted target account identifier and the encrypted target terminal identifier sent by the second terminal.
In step 206, the server decrypts the encrypted target account identifier and the target terminal identifier to obtain the target account identifier and the target terminal identifier.
In implementation, after receiving the encrypted target account identifier and the target terminal identifier sent by the second terminal, the server may decrypt the encrypted target account identifier and the encrypted target terminal identifier to obtain the target account identifier and the target terminal identifier. Aiming at the condition that the second terminal encrypts the target account identification and the target terminal identification through the Base64Encode, the server can decrypt the encrypted target account identification and the encrypted target terminal identification through the Base64Decode to obtain the target account identification and the target terminal identification. In addition, aiming at the situation that the second terminal sets the encrypted target account identifier and the encrypted target terminal identifier as the data of the field key in the Cookie and sends the Cookie to the server, the server can read the data of the field key in the Cookie and decrypt the read data to obtain the target account identifier and the target terminal identifier.
And step 207, the server checks the target account identifier and the target terminal identifier, and if the checking is successful, the server sends a video stream acquisition request to the first terminal corresponding to the target terminal identifier, wherein the video stream acquisition request is used for requesting a target video stream to the first terminal.
In implementation, after obtaining the target account identifier and the target terminal identifier, the server may perform verification processing on the target account identifier and the target terminal identifier, and if the verification is successful, the server may send a video acquisition request to the first terminal corresponding to the target terminal identifier, where the first terminal may be remotely controlled by one second terminal at the same time, that is, if the first terminal is not remotely controlled, the server sends a video stream acquisition request to the first terminal corresponding to the target terminal identifier, and at this time, the second terminal enters a process of remotely controlling the first terminal. In addition, when the second terminal receives the selection instruction of the first terminal, the second terminal can send the target account identifier and the target terminal identifier to the server, and can also send the target account identifier and the target terminal identifier to other servers.
Correspondingly, after the server sends the video stream acquisition request to the first terminal, the first terminal may receive the video stream acquisition request sent by the server.
Optionally, after the verification is successful, the server may further store the target account identifier and the target terminal identifier correspondingly, and correspondingly, the following processing may also be performed: and correspondingly storing the target account identification and the target terminal identification into the corresponding relation between the account identification and the terminal identification.
In implementation, the server may store a corresponding relationship between the account identifier and the terminal identifier, where the terminal identifier may be an identifier of a terminal deployed in a cloud. After the server successfully verifies the target account identifier and the target terminal identifier, the server may store the target account identifier and the target terminal identifier in a corresponding relationship between the account identifier and the terminal identifier, so as to determine a second terminal for remotely controlling the first terminal after receiving the target video stream sent by the first terminal.
And step 208, the first terminal generates a target video stream according to the currently displayed interface picture.
In an implementation, after receiving a video stream acquisition request sent by a server, a first terminal may light up a screen, and generate a video stream (which may be referred to as a target video stream) based on a currently displayed interface picture, for example, after lighting up the screen, the first terminal displays a screen desktop, and a first frame of the video stream generated by the first terminal is the screen desktop, as shown in fig. 4. The first terminal can acquire a currently displayed interface picture in a screen recording mode and generate a video stream based on the acquired interface picture.
After the first terminal generates the target video stream, the target video stream may be sent to the server.
Step 209, the server receives a target video stream sent by the first terminal, where the target video stream is composed of the currently displayed interface picture of the first terminal.
In implementation, after the first terminal sends the target video stream to the server, the server may receive the target video stream sent by the first terminal.
Step 210, the server determines a second terminal corresponding to the first terminal, where the second terminal is a terminal for remotely controlling the first terminal.
In implementation, after receiving the target video stream sent by the first terminal, the server may determine a second terminal currently performing remote control on the first terminal.
Optionally, for a case that the server stores a correspondence between the account identifier and the terminal identifier, correspondingly, the processing procedure in step 210 may be as follows: and determining a second terminal corresponding to the first terminal according to the corresponding relation stored in advance.
In implementation, after receiving the target video stream sent by the first terminal, the server may determine, in the correspondence between the account identifier and the terminal identifier, a target account identifier corresponding to the target terminal identifier of the first terminal, and further may determine, as the second terminal, the terminal corresponding to the target account identifier.
Step 211, the server sends the target video stream to the second terminal, where the target video stream is an unpacked video stream and is used for displaying an interface picture by the second terminal.
In implementation, after determining the second terminal, the server may send the target video stream sent by the first terminal to the second terminal, where the target video stream is an unpackaged video stream, and the server may send the target video stream to the second terminal through the Websocket. That is, after receiving the target video stream sent by the first terminal, the server may directly forward the target video stream to the second terminal without processing the target video stream. Therefore, the server does not need to cache the video frames, and the second terminal can be ensured to acquire the target video stream in time.
Optionally, the server may send the target video stream to the second terminal in a preset format, and accordingly, the processing procedure of step 211 may be as follows: and sending data in a preset format to the second terminal, wherein the data comprises a target data type and a target video stream, and the target data type is a data type corresponding to the video stream.
In implementation, whenever the server sends data corresponding to the first terminal to the second terminal, the server may send data in a preset format to the second terminal, where the format may be: len + Type + Data, Len is an integer of 4 bytes, the network byte order is used for indicating the length of the whole Data packet, Type is an integer of 1 byte and indicates the Type of the current Data packet, and Data is specific Data, such as target video stream. In this case, after receiving the target video stream, the server may send Data in a preset format to the second terminal, where Type is a target Data Type (for example, may be 0), Data is the target video stream, and the target Data Type is a Data Type corresponding to the video stream.
And 212, the second terminal acquires the target video stream sent by the server in the process of remotely controlling the first terminal by the second terminal, wherein the target video stream is a video stream which is composed of the interface picture currently displayed by the first terminal and is not packaged.
In implementation, after receiving the video acquisition request, the first terminal may continuously generate a target video stream based on the currently displayed interface picture, and continuously send the target video stream to the server. Correspondingly, the second terminal can continuously receive and acquire the target video stream sent by the server, wherein the target video stream is a video stream which is composed of the interface picture currently displayed by the first terminal and is not encapsulated.
Optionally, the second terminal may determine whether the currently received data is the target video stream according to a data type carried in the data sent by the server, and correspondingly, receive the data in the preset format sent by the server; and if the data type included in the data is the target data type, acquiring the target video stream included in the data, wherein the target data type is the data type corresponding to the video stream.
In implementation, for a situation that the server sends data in a preset format to the second terminal, after the second terminal receives the data in the preset format sent by the server, the data type included in the data may be determined, and if the data type included in the data is a target data type, a target video stream included in the data may be acquired, where the target data type is a data type corresponding to the video stream.
And step 213, the second terminal displays the interface picture based on the target video stream through the webpage decoding script and the webpage drawing script.
In implementation, after the second terminal acquires the target video stream, the target video stream may be processed through the acquired webpage decoding script and the acquired webpage drawing script, and the currently displayed interface picture of the first terminal is displayed. In addition, when the second terminal receives the selection instruction to the first terminal, in addition to the above processing, a web page for displaying the interface screen may be displayed.
Optionally, the second terminal may decode the target video stream through a web page decoding script, where the web page rendering script is used to display an interface picture obtained by decoding, and accordingly, the processing procedure in step 206 may be as follows: decoding the target video stream through the webpage decoding script to obtain picture data of an interface picture; and drawing the script through the webpage, and displaying the interface picture based on the picture data of the interface picture.
In implementation, after the target video stream is acquired, the second terminal may decode, by using the web page decoding script, each video frame in the target video stream (where each video frame is an interface picture of the first terminal) to obtain picture data of the interface picture, where the picture data may include image data of the interface picture, and a width and a height of the image. After the picture data is obtained, the second terminal can display the interface picture in the canvas through the webpage drawing script, and can adjust the size of the canvas based on the width and height of the image.
Optionally, for a case that the target video stream is a video stream in which video frames are compressed by an intra-frame-to-inter-frame compression algorithm, the second terminal may store the determined network transmission units in the cache in a process of receiving the target video stream, and accordingly, the processing process may be as follows: in the process of acquiring the target video stream, when a data packet containing a network transmission unit start identifier is acquired, determining a data packet between the data packet and the next data packet containing the network transmission unit start identifier as a complete network transmission unit; storing the obtained network transmission unit in a cache; and decoding each network transmission unit in the cache through the webpage decoding script to obtain the picture data of the interface picture.
Compared with the scheme that the second terminal adopts the flash plug-in to play the video stream, by adopting the scheme, the delay of the display interface picture is lower, no buffer is carried out on the video frame, the requirement on the network is lower, and if the network condition is better, the delay can be controlled within 50 milliseconds.
In an implementation, in the process of acquiring the target video stream, it may be determined whether a complete network transport unit (NAL) has been acquired based on the received data packet, and if it is determined that the complete NAL has been acquired, the second terminal may store the complete NAL in a buffer. In this case, the second terminal may determine, as a complete NAL, a data packet between the data packet and a next data packet including the start identifier of the network transmission unit, whenever a data packet including the start identifier of the network transmission unit is acquired in a process of acquiring the target video stream, and further may store the complete NAL into a cache, where one or more NALs correspond to one video frame. And the subsequent second terminal can decode each network transmission unit in the cache through the webpage decoding script to obtain the picture data of the interface picture.
In the embodiment of the invention, after the server receives the target video stream sent by the first terminal, the target video stream is not packaged any more and is directly forwarded to the second terminal, so that the phenomenon that the server caches the video frame first is avoided, the delay of the second terminal for obtaining the target video stream can be reduced, and further, the delay of displaying an interface picture can be reduced. In addition, in the embodiment of the invention, after the second terminal receives the target video stream, the interface picture can be displayed in time after the second terminal decodes the interface picture by the webpage decoding script and the webpage drawing script and based on the target video stream, so that the delay of displaying the interface picture can be reduced.
Based on the same technical concept, an embodiment of the present invention further provides an apparatus for displaying an interface picture, where the apparatus may be the server, and as shown in fig. 5, the apparatus includes:
a first receiving module 510, configured to receive a target video stream sent by a first terminal, where the target video stream is composed of a currently displayed interface picture of the first terminal;
a determining module 520, configured to determine a second terminal corresponding to the first terminal, where the second terminal is a terminal that remotely controls the first terminal;
a first sending module 530, configured to send the target video stream to the second terminal, where the target video stream is an unpackaged video stream, and is used for the second terminal to display the interface picture.
Optionally, the first sending module 530 is configured to:
and sending data in a preset format to the second terminal, wherein the data comprises a target data type and the target video stream, and the target data type is a data type corresponding to the video stream.
Optionally, as shown in fig. 6, the apparatus further includes:
a second receiving module 540, configured to receive the encrypted target account identifier and the encrypted target device identifier sent by the second terminal;
a decryption module 550, configured to decrypt the encrypted target account identifier and target device identifier to obtain the target account identifier and the target device identifier;
a second sending module 560, configured to perform verification processing on the target account identifier and the target device identifier, and if the verification is successful, send a video stream acquisition request to a first terminal corresponding to the target device identifier, where the video stream acquisition request is used to request the first terminal for the target video stream.
Optionally, as shown in fig. 7, the apparatus further includes:
the storage module 570 is configured to store the target account identifier and the target device identifier in a corresponding relationship between an account identifier and a device identifier;
the determining module 520 is configured to:
and determining a second terminal corresponding to the first terminal according to the corresponding relation stored in advance.
Based on the same technical concept, an embodiment of the present invention further provides an apparatus for displaying an interface picture, where the apparatus may be the second terminal, and as shown in fig. 8, the apparatus includes:
a first obtaining module 810, configured to obtain a webpage decoding script and a webpage drawing script;
a second obtaining module 820, configured to obtain a target video stream sent by a server in a process of performing remote control on the first terminal by the second terminal, where the target video stream is a video stream that is composed of an interface picture currently displayed by the first terminal and that is not encapsulated;
and a first display module 830, configured to display the interface picture based on the target video stream through the web page decoding script and the web page drawing script.
Optionally, the first obtaining module 810 is configured to:
and when a display instruction of the target webpage is acquired, downloading a target webpage decoding script and a target webpage drawing script to the server.
Optionally, the second obtaining module 820 is configured to:
receiving data in a preset format sent by a server in the process of remotely controlling the first terminal by the second terminal;
and if the data type included in the data is the target data type, acquiring the target video stream included in the data, wherein the target data type is the data type corresponding to the video stream.
Optionally, the first display module 830 is configured to:
decoding the target video stream through the webpage decoding script to obtain picture data of the interface picture;
and displaying the interface picture based on the picture data of the interface picture through the webpage drawing script.
Optionally, the target video stream is a video stream of a video frame compressed by an intra-frame-to-inter-frame compression algorithm;
the first display module 830 is configured to:
in the process of acquiring the target video stream, when a data packet containing a network transmission unit starting identifier is acquired, determining a data packet between the data packet and a next data packet containing the network transmission unit starting identifier as a complete network transmission unit;
storing the obtained network transmission unit in a cache;
and decoding each network transmission unit in the cache through a webpage decoding script to obtain the picture data of the interface picture.
Optionally, as shown in fig. 9, the apparatus further includes:
the second display module 840 is configured to display a selection interface, where the selection interface displays options of multiple terminals;
a third obtaining module 850, configured to, when a selection instruction for a first terminal in the multiple terminals is received, obtain a target account identifier of a current login account and a target device identifier of the first terminal;
an encryption module 860, configured to encrypt the target account identifier and the target device identifier to obtain an encrypted target account identifier and an encrypted target device identifier;
a sending module 870, configured to send the encrypted target account identifier and the encrypted target device identifier to the server.
In the embodiment of the invention, after the server receives the target video stream sent by the first terminal, the target video stream is not packaged any more and is directly forwarded to the second terminal, so that the phenomenon that the server caches the video frame first is avoided, the delay of the second terminal for obtaining the target video stream can be reduced, and further, the delay of displaying an interface picture can be reduced. In addition, in the embodiment of the invention, after the second terminal receives the target video stream, the interface picture can be displayed in time after the second terminal decodes the interface picture by the webpage decoding script and the webpage drawing script and based on the target video stream, so that the delay of displaying the interface picture can be reduced.
It should be noted that: in the device for displaying an interface screen according to the above embodiment, when displaying an interface screen, only the division of the above functional modules is taken as an example, and in practical applications, the above function distribution may be completed by different functional modules according to needs, that is, the internal structures of the server and the second terminal are divided into different functional modules, so as to complete all or part of the above described functions. In addition, the apparatus for displaying an interface picture and the method for displaying an interface picture provided by the above embodiments belong to the same concept, and specific implementation processes thereof are detailed in the method embodiments and are not described herein again.
Based on the same technical concept, the embodiment of the invention also provides a system for displaying the interface picture, which comprises a server and a second terminal, wherein:
the server is used for receiving a target video stream sent by a first terminal, wherein the target video stream consists of a currently displayed interface picture of the first terminal; determining a second terminal corresponding to the first terminal, wherein the second terminal is a terminal for remotely controlling the first terminal; sending the target video stream to the second terminal, wherein the target video stream is an unpackaged video stream and is used for displaying the interface picture by the second terminal;
the second terminal is used for acquiring a webpage decoding script and a webpage drawing script; in the process that the second terminal remotely controls the first terminal, a target video stream sent by a server is obtained; and displaying the interface picture based on the target video stream through the webpage decoding script and the webpage drawing script.
Optionally, the server is configured to:
sending data in a preset format to the second terminal, wherein the data comprises a target data type and the target video stream, and the target data type is a data type corresponding to the video stream;
the second terminal is configured to:
receiving data in a preset format sent by a server in the process of remotely controlling the first terminal by the second terminal;
and if the data type included in the data is the target data type, acquiring the target video stream included in the data, wherein the target data type is the data type corresponding to the video stream.
Optionally, the second terminal is further configured to:
displaying a selection interface, wherein the selection interface comprises options of a plurality of terminals;
when a selection instruction of a first terminal in the plurality of terminals is received, acquiring a target account identifier of a current login account and a target terminal identifier of the first terminal;
encrypting the target account identification and the target terminal identification to obtain the encrypted target account identification and the encrypted target terminal identification;
sending the encrypted target account identification and the encrypted target terminal identification to the server;
the server is further configured to:
receiving the encrypted target account identification and the encrypted target terminal identification sent by the second terminal;
decrypting the encrypted target account identification and the encrypted target terminal identification to obtain the target account identification and the target terminal identification;
and verifying the target account identifier and the target terminal identifier, and if the verification is successful, sending a video stream acquisition request to a first terminal corresponding to the target terminal identifier, wherein the video stream acquisition request is used for requesting the target video stream to the first terminal.
Optionally, the server is further configured to:
correspondingly storing the target account identification and the target terminal identification into the corresponding relation between the account identification and the terminal identification;
the server is configured to:
and determining a second terminal corresponding to the first terminal according to the corresponding relation stored in advance.
Optionally, the second terminal is configured to:
and when a display instruction of the target webpage is acquired, downloading a webpage decoding script and a webpage drawing script from the server.
Optionally, the second terminal is configured to:
decoding the target video stream through the webpage decoding script to obtain picture data of the interface picture;
and displaying the interface picture based on the picture data of the interface picture through the webpage drawing script.
Optionally, the target video stream is a video stream of a video frame compressed by an intra-frame-to-inter-frame compression algorithm;
the second terminal is configured to:
in the process of acquiring the target video stream, when a data packet containing a network transmission unit starting identifier is acquired, determining a data packet between the data packet and a next data packet containing the network transmission unit starting identifier as a complete network transmission unit;
storing the obtained network transmission unit in a cache;
and decoding each network transmission unit in the cache through a webpage decoding script to obtain the picture data of the interface picture.
In the embodiment of the invention, after the server receives the target video stream sent by the first terminal, the target video stream is not packaged any more and is directly forwarded to the second terminal, so that the phenomenon that the server caches the video frame first is avoided, the delay of the second terminal for obtaining the target video stream can be reduced, and further, the delay of displaying an interface picture can be reduced. In addition, in the embodiment of the invention, after the second terminal receives the target video stream, the interface picture can be displayed in time after the second terminal decodes the interface picture by the webpage decoding script and the webpage drawing script and based on the target video stream, so that the delay of displaying the interface picture can be reduced.
Fig. 10 shows a block diagram of a terminal 1000 according to an exemplary embodiment of the present invention. The terminal 1000 can be: a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III, motion video Experts compression standard Audio Layer 3), an MP4 player (Moving Picture Experts Group Audio Layer IV, motion video Experts compression standard Audio Layer 4), a notebook computer, or a desktop computer. Terminal 1000 can also be referred to as a user equipment, portable terminal, laptop terminal, desktop terminal, or the like, and can be referred to as the second terminal described above.
In general, terminal 1000 can include: a processor 1001 and a memory 1002.
Processor 1001 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and so forth. The processor 1001 may be implemented in at least one hardware form of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), and a PLA (Programmable Logic Array). The processor 1001 may also include a main processor and a coprocessor, where the main processor is a processor for Processing data in an awake state, and is also referred to as a Central Processing Unit (CPU); a coprocessor is a low power processor for processing data in a standby state. In some embodiments, the processor 1001 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the display screen. In some embodiments, the processor 1001 may further include an AI (Artificial Intelligence) processor for processing a computing operation related to machine learning.
Memory 1002 may include one or more computer-readable storage media, which may be non-transitory. The memory 1002 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in memory 1002 is used to store at least one instruction for execution by processor 1001 to implement a method of displaying an interface screen provided by method embodiments herein.
In some embodiments, terminal 1000 can also optionally include: a peripheral interface 1003 and at least one peripheral. The processor 1001, memory 1002 and peripheral interface 1003 may be connected by a bus or signal line. Various peripheral devices may be connected to peripheral interface 1003 via a bus, signal line, or circuit board. Specifically, the peripheral device includes: at least one of radio frequency circuitry 1004, touch screen display 1005, camera 1006, audio circuitry 1007, positioning components 1008, and power supply 1009.
The peripheral interface 1003 may be used to connect at least one peripheral related to I/O (Input/Output) to the processor 1001 and the memory 1002. In some embodiments, processor 1001, memory 1002, and peripheral interface 1003 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 1001, the memory 1002, and the peripheral interface 1003 may be implemented on separate chips or circuit boards, which are not limited by this embodiment.
The Radio Frequency circuit 1004 is used for receiving and transmitting RF (Radio Frequency) signals, also called electromagnetic signals. The radio frequency circuitry 1004 communicates with communication networks and other communication devices via electromagnetic signals. The radio frequency circuit 1004 converts an electrical signal into an electromagnetic signal to transmit, or converts a received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 1004 comprises: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and so forth. The radio frequency circuit 1004 may communicate with other terminals via at least one wireless communication protocol. The wireless communication protocols include, but are not limited to: metropolitan area networks, various generation mobile communication networks (2G, 3G, 4G, and 5G), Wireless local area networks, and/or WiFi (Wireless Fidelity) networks. In some embodiments, the rf circuit 1004 may further include NFC (Near Field Communication) related circuits, which are not limited in this application.
The display screen 1005 is used to display a UI (User Interface). The UI may include graphics, text, icons, video, and any combination thereof. When the display screen 1005 is a touch display screen, the display screen 1005 also has the ability to capture touch signals on or over the surface of the display screen 1005. The touch signal may be input to the processor 1001 as a control signal for processing. At this point, the display screen 1005 may also be used to provide virtual buttons and/or a virtual keyboard, also referred to as soft buttons and/or a soft keyboard. In some embodiments, display screen 1005 can be one, providing a front panel of terminal 1000; in other embodiments, display 1005 can be at least two, respectively disposed on different surfaces of terminal 1000 or in a folded design; in still other embodiments, display 1005 can be a flexible display disposed on a curved surface or on a folded surface of terminal 1000. Even more, the display screen 1005 may be arranged in a non-rectangular irregular figure, i.e., a shaped screen. The Display screen 1005 may be made of LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), and the like.
The camera assembly 1006 is used to capture images or video. Optionally, the camera assembly 1006 includes a front camera and a rear camera. Generally, a front camera is disposed at a front panel of the terminal, and a rear camera is disposed at a rear surface of the terminal. In some embodiments, the number of the rear cameras is at least two, and each rear camera is any one of a main camera, a depth-of-field camera, a wide-angle camera and a telephoto camera, so that the main camera and the depth-of-field camera are fused to realize a background blurring function, and the main camera and the wide-angle camera are fused to realize panoramic shooting and VR (Virtual Reality) shooting functions or other fusion shooting functions. In some embodiments, camera assembly 1006 may also include a flash. The flash lamp can be a monochrome temperature flash lamp or a bicolor temperature flash lamp. The double-color-temperature flash lamp is a combination of a warm-light flash lamp and a cold-light flash lamp, and can be used for light compensation at different color temperatures.
The audio circuit 1007 may include a microphone and a speaker. The microphone is used for collecting sound waves of a user and the environment, converting the sound waves into electric signals, and inputting the electric signals to the processor 1001 for processing or inputting the electric signals to the radio frequency circuit 1004 for realizing voice communication. For stereo sound collection or noise reduction purposes, multiple microphones can be provided, each at a different location of terminal 1000. The microphone may also be an array microphone or an omni-directional pick-up microphone. The speaker is used to convert electrical signals from the processor 1001 or the radio frequency circuit 1004 into sound waves. The loudspeaker can be a traditional film loudspeaker or a piezoelectric ceramic loudspeaker. When the speaker is a piezoelectric ceramic speaker, the speaker can be used for purposes such as converting an electric signal into a sound wave audible to a human being, or converting an electric signal into a sound wave inaudible to a human being to measure a distance. In some embodiments, the audio circuit 1007 may also include a headphone jack.
A Location component 1008 is employed to locate a current geographic Location of terminal 1000 for purposes of navigation or LBS (Location Based Service). The Positioning component 1008 may be a Positioning component based on the Global Positioning System (GPS) in the united states, the beidou System in china, the graves System in russia, or the galileo System in the european union.
Power supply 1009 is used to supply power to various components in terminal 1000. The power source 1009 may be alternating current, direct current, disposable batteries, or rechargeable batteries. When the power source 1009 includes a rechargeable battery, the rechargeable battery may support wired charging or wireless charging. The rechargeable battery may also be used to support fast charge technology.
In some embodiments, terminal 1000 can also include one or more sensors 1010. The one or more sensors 1010 include, but are not limited to: acceleration sensor 1011, gyro sensor 1012, pressure sensor 1013, fingerprint sensor 1014, optical sensor 1015, and proximity sensor 1016.
Acceleration sensor 1011 can detect acceleration magnitudes on three coordinate axes of a coordinate system established with terminal 1000. For example, the acceleration sensor 1011 may be used to detect components of the gravitational acceleration in three coordinate axes. The processor 1001 may control the touch display screen 1005 to display a user interface in a landscape view or a portrait view according to the gravitational acceleration signal collected by the acceleration sensor 1011. The acceleration sensor 1011 may also be used for acquisition of motion data of a game or a user.
The gyro sensor 1012 may detect a body direction and a rotation angle of the terminal 1000, and the gyro sensor 1012 and the acceleration sensor 1011 may cooperate to acquire a 3D motion of the user on the terminal 1000. From the data collected by the gyro sensor 1012, the processor 1001 may implement the following functions: motion sensing (such as changing the UI according to a user's tilting operation), image stabilization at the time of photographing, game control, and inertial navigation.
Pressure sensor 1013 may be disposed on a side frame of terminal 1000 and/or on a lower layer of touch display 1005. When pressure sensor 1013 is disposed on a side frame of terminal 1000, a user's grip signal on terminal 1000 can be detected, and processor 1001 performs left-right hand recognition or shortcut operation according to the grip signal collected by pressure sensor 1013. When the pressure sensor 1013 is disposed at a lower layer of the touch display screen 1005, the processor 1001 controls the operability control on the UI interface according to the pressure operation of the user on the touch display screen 1005. The operability control comprises at least one of a button control, a scroll bar control, an icon control and a menu control.
The fingerprint sensor 1014 is used to collect a fingerprint of the user, and the processor 1001 identifies the user according to the fingerprint collected by the fingerprint sensor 1014, or the fingerprint sensor 1014 identifies the user according to the collected fingerprint. Upon identifying that the user's identity is a trusted identity, the processor 1001 authorizes the user to perform relevant sensitive operations including unlocking a screen, viewing encrypted information, downloading software, paying, and changing settings, etc. Fingerprint sensor 1014 can be disposed on the front, back, or side of terminal 1000. When a physical key or vendor Logo is provided on terminal 1000, fingerprint sensor 1014 can be integrated with the physical key or vendor Logo.
The optical sensor 1015 is used to collect the ambient light intensity. In one embodiment, the processor 1001 may control the display brightness of the touch display screen 1005 according to the intensity of the ambient light collected by the optical sensor 1015. Specifically, when the ambient light intensity is high, the display brightness of the touch display screen 1005 is increased; when the ambient light intensity is low, the display brightness of the touch display screen 1005 is turned down. In another embodiment, the processor 1001 may also dynamically adjust the shooting parameters of the camera assembly 1006 according to the intensity of the ambient light collected by the optical sensor 1015.
Proximity sensor 1016, also known as a distance sensor, is typically disposed on a front panel of terminal 1000. Proximity sensor 1016 is used to gather the distance between the user and the front face of terminal 1000. In one embodiment, when proximity sensor 1016 detects that the distance between the user and the front surface of terminal 1000 gradually decreases, processor 1001 controls touch display 1005 to switch from a bright screen state to a dark screen state; when proximity sensor 1016 detects that the distance between the user and the front of terminal 1000 is gradually increased, touch display screen 1005 is controlled by processor 1001 to switch from a breath-screen state to a bright-screen state.
Those skilled in the art will appreciate that the configuration shown in FIG. 10 is not intended to be limiting and that terminal 1000 can include more or fewer components than shown, or some components can be combined, or a different arrangement of components can be employed.
In the embodiment of the invention, after the server receives the target video stream sent by the first terminal, the target video stream is not packaged any more and is directly forwarded to the second terminal, so that the phenomenon that the server caches the video frame first is avoided, the delay of the second terminal for obtaining the target video stream can be reduced, and further, the delay of displaying an interface picture can be reduced. In addition, in the embodiment of the invention, after the second terminal receives the target video stream, the interface picture can be displayed in time after the second terminal decodes the interface picture by the webpage decoding script and the webpage drawing script and based on the target video stream, so that the delay of displaying the interface picture can be reduced.
Fig. 11 is a schematic structural diagram of a server according to an embodiment of the present invention, where the server 1100 may generate a relatively large difference due to different configurations or performances, and may include one or more processors (CPUs) 1101 and one or more memories 1102, where the memory 1102 stores at least one instruction, and the at least one instruction is loaded and executed by the processors 1101 to implement the method steps for displaying the interface screen.
The embodiment of the present invention further provides a computer-readable storage medium, where at least one instruction, at least one program, a code set, or an instruction set is stored in the storage medium, and the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the method for displaying an interface picture.
In the embodiment of the invention, after the server receives the target video stream sent by the first terminal, the target video stream is not packaged any more and is directly forwarded to the second terminal, so that the phenomenon that the server caches the video frame first is avoided, the delay of the second terminal for obtaining the target video stream can be reduced, and further, the delay of displaying an interface picture can be reduced. In addition, in the embodiment of the invention, after the second terminal receives the target video stream, the interface picture can be displayed in time after the second terminal decodes the interface picture by the webpage decoding script and the webpage drawing script and based on the target video stream, so that the delay of displaying the interface picture can be reduced.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only an example of the present invention and should not be taken as limiting the invention, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (13)

1. A system for displaying an interface picture, the system comprising a server and a second terminal, wherein:
the server is used for receiving a target video stream sent by a first terminal, wherein the target video stream is composed of a currently displayed interface picture of the first terminal, and the first terminal is a cloud terminal; determining a second terminal corresponding to the first terminal, wherein the second terminal is a terminal for remotely controlling the first terminal; sending the target video stream to the second terminal, wherein the target video stream is an unpackaged video stream and is used for displaying the interface picture by the second terminal;
the second terminal is used for acquiring a webpage decoding script and a webpage drawing script; acquiring a target video stream sent by the server in the process of remotely controlling the first terminal by the second terminal; decoding the target video stream through the webpage decoding script to obtain picture data of the interface picture; and displaying the interface picture based on the picture data of the interface picture through the webpage drawing script.
2. The system of claim 1, wherein the second terminal is further configured to:
displaying a selection interface, wherein the selection interface comprises options of a plurality of terminals;
when a selection instruction of a first terminal in the plurality of terminals is received, acquiring a target account identifier of a current login account and a target terminal identifier of the first terminal;
encrypting the target account identification and the target terminal identification to obtain the encrypted target account identification and the encrypted target terminal identification;
sending the encrypted target account identification and the encrypted target terminal identification to the server;
the server is further configured to:
receiving the encrypted target account identification and the encrypted target terminal identification sent by the second terminal;
decrypting the encrypted target account identification and the encrypted target terminal identification to obtain the target account identification and the target terminal identification;
and verifying the target account identifier and the target terminal identifier, and if the verification is successful, sending a video stream acquisition request to a first terminal corresponding to the target terminal identifier, wherein the video stream acquisition request is used for requesting the target video stream to the first terminal.
3. The system of claim 2, wherein the server is further configured to:
correspondingly storing the target account identification and the target terminal identification into the corresponding relation between the account identification and the terminal identification;
the server is configured to:
and determining a second terminal corresponding to the first terminal according to the corresponding relation stored in advance.
4. The system of claim 1, wherein the second terminal is configured to:
and when a display instruction of a target webpage is acquired, downloading the webpage decoding script and the webpage drawing script from the server.
5. The system of claim 1, wherein the target video stream is a video stream in which video frames are compressed by an intra-frame to inter-frame compression algorithm;
the second terminal is configured to:
in the process of acquiring the target video stream, when a data packet containing a network transmission unit starting identifier is acquired, determining a data packet between the data packet and a next data packet containing the network transmission unit starting identifier as a complete network transmission unit;
storing the obtained network transmission unit in a cache;
and decoding each network transmission unit in the cache through a webpage decoding script to obtain the picture data of the interface picture.
6. The system of claim 1, wherein the server is configured to:
sending data in a preset format to the second terminal, wherein the data comprises a target data type and the target video stream, and the target data type is a data type corresponding to the video stream;
the second terminal is configured to:
receiving data in a preset format sent by a server in the process of remotely controlling the first terminal by the second terminal;
and if the data type included in the data is a target data type, acquiring a target video stream included in the data, wherein the target data type is a data type corresponding to the video stream.
7. A method for displaying an interface picture is applied to a server, and the method comprises the following steps:
receiving a target video stream sent by a first terminal, wherein the target video stream is composed of a currently displayed interface picture of the first terminal, and the first terminal is a cloud terminal;
determining a second terminal corresponding to the first terminal, wherein the second terminal is a terminal for remotely controlling the first terminal;
sending the target video stream to the second terminal, wherein the target video stream is an unpackaged video stream, the second terminal is used for acquiring a webpage decoding script and a webpage drawing script, and the target video stream sent by the server is acquired in the process that the second terminal remotely controls the first terminal; decoding the target video stream through the webpage decoding script to obtain picture data of the interface picture; and displaying the interface picture based on the picture data of the interface picture through the webpage drawing script.
8. The method of claim 7, further comprising:
receiving the encrypted target account identification and the encrypted target terminal identification sent by the second terminal;
decrypting the encrypted target account identification and the encrypted target terminal identification to obtain the target account identification and the target terminal identification;
and verifying the target account identifier and the target terminal identifier, and if the verification is successful, sending a video stream acquisition request to a first terminal corresponding to the target terminal identifier, wherein the video stream acquisition request is used for requesting the target video stream to the first terminal.
9. A method for displaying an interface picture is applied to a second terminal, and the method comprises the following steps:
acquiring a webpage decoding script and a webpage drawing script;
in the process that the second terminal remotely controls the first terminal, a target video stream sent by a server is obtained, wherein the target video stream is a video stream which is composed of an interface picture currently displayed by the first terminal and is not packaged, and the first terminal is a cloud terminal;
decoding the target video stream through the webpage decoding script to obtain picture data of the interface picture;
and displaying the interface picture based on the picture data of the interface picture through the webpage drawing script.
10. The method of claim 9, wherein obtaining the web page decoding script and the web page rendering script comprises:
and when a display instruction of a target webpage is acquired, downloading the webpage decoding script and the webpage drawing script from the server.
11. The method of claim 9, further comprising:
displaying a selection interface, wherein the selection interface comprises options of a plurality of terminals;
when a selection instruction of a first terminal in the plurality of terminals is received, acquiring a target account identifier of a current login account and a target terminal identifier of the first terminal;
encrypting the target account identification and the target terminal identification to obtain the encrypted target account identification and the encrypted target terminal identification;
and sending the encrypted target account identification and the target terminal identification to the server.
12. A computer device comprising a processor and a memory, the memory having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, the at least one instruction, the at least one program, the set of codes, or the set of instructions being loaded and executed by the processor to implement a method of displaying an interface screen according to any one of claims 7 to 11.
13. A computer-readable storage medium, having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by a processor to implement a method of displaying an interface screen according to any one of claims 7 to 11.
CN201810548283.1A 2018-05-31 2018-05-31 Method, computer device, readable storage medium and system for displaying interface picture Active CN108833963B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810548283.1A CN108833963B (en) 2018-05-31 2018-05-31 Method, computer device, readable storage medium and system for displaying interface picture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810548283.1A CN108833963B (en) 2018-05-31 2018-05-31 Method, computer device, readable storage medium and system for displaying interface picture

Publications (2)

Publication Number Publication Date
CN108833963A CN108833963A (en) 2018-11-16
CN108833963B true CN108833963B (en) 2020-12-11

Family

ID=64145838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810548283.1A Active CN108833963B (en) 2018-05-31 2018-05-31 Method, computer device, readable storage medium and system for displaying interface picture

Country Status (1)

Country Link
CN (1) CN108833963B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109525899A (en) * 2018-11-19 2019-03-26 青岛海信传媒网络技术有限公司 The method and device that subtitle and audio video synchronization are presented
CN109600282A (en) * 2018-12-26 2019-04-09 世纪龙信息网络有限责任公司 Test macro and test method based on cloud prototype
CN109684218A (en) * 2018-12-26 2019-04-26 世纪龙信息网络有限责任公司 Test macro and test method based on cloud prototype
CN109714628B (en) * 2018-12-29 2021-08-03 广州方硅信息技术有限公司 Method, device, equipment, storage medium and system for playing audio and video
CN110368689B (en) * 2019-07-19 2021-08-06 腾讯科技(深圳)有限公司 Game interface display method, system, electronic equipment and storage medium
CN110554831B (en) * 2019-09-06 2021-08-10 腾讯科技(深圳)有限公司 Operation synchronization method, device, equipment and storage medium
CN112085828A (en) * 2020-09-18 2020-12-15 深圳市欢太科技有限公司 Image processing method and device, cloud reality system, storage medium and electronic equipment
CN112187959B (en) * 2020-11-27 2021-06-22 蘑菇车联信息科技有限公司 Remote control method and system for vehicle-mounted computer, electronic equipment and storage medium
CN112788193A (en) * 2020-12-30 2021-05-11 北京达佳互联信息技术有限公司 Image transmission method, image transmission device, electronic equipment and storage medium
CN113485780B (en) * 2021-07-22 2022-04-29 辽宁向日葵教育科技有限公司 Desktop transmission method based on web server

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102883135A (en) * 2012-11-01 2013-01-16 成都飞视美视频技术有限公司 Screen sharing and control method thereof
CN104618435A (en) * 2014-12-29 2015-05-13 北京奇虎科技有限公司 Method for achieving remote desktops and remote desktop management system
CN105450463A (en) * 2014-08-26 2016-03-30 阿里巴巴集团控股有限公司 Hardware equipment debugging method, hardware equipment debugging device and hardware equipment debugging system
US9621961B1 (en) * 2014-12-31 2017-04-11 The Directv Group, Inc. Method and system for controlling a centralized content distribution system with a remote control
CN107005547A (en) * 2014-09-30 2017-08-01 思杰系统有限公司 For the system and method for the single-sign-on that the remote desktop session for client computer is performed by middle device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506907B (en) * 2014-11-25 2018-03-13 上海众应信息科技有限公司 Interactive operation method and system between control terminal and multiple long-range controlled terminals
KR102263369B1 (en) * 2015-01-13 2021-06-11 한국전자통신연구원 System and method for multi-computer control
CN106572139B (en) * 2015-10-13 2020-08-11 阿里巴巴集团控股有限公司 Multi-terminal control method, terminal, server and system
CN105915527B (en) * 2016-05-16 2019-03-08 北京安云世纪科技有限公司 It is a kind of to control the method and apparatus of mobile terminal, mobile terminal
CN107508849A (en) * 2016-08-10 2017-12-22 广东小天才科技有限公司 Long-range control method and system, the mobile terminal of a kind of mobile terminal
US11238290B2 (en) * 2016-10-26 2022-02-01 Google Llc Timeline-video relationship processing for alert events
CN107071035B (en) * 2017-04-20 2021-03-19 北京奇虎科技有限公司 Mobile terminal remote control method and device and corresponding mobile terminal
CN107147656B (en) * 2017-05-26 2021-08-03 努比亚技术有限公司 Method and system for establishing remote control and readable storage medium
CN107817962B (en) * 2017-10-26 2021-05-04 百度在线网络技术(北京)有限公司 Remote control method, device, control server and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102883135A (en) * 2012-11-01 2013-01-16 成都飞视美视频技术有限公司 Screen sharing and control method thereof
CN105450463A (en) * 2014-08-26 2016-03-30 阿里巴巴集团控股有限公司 Hardware equipment debugging method, hardware equipment debugging device and hardware equipment debugging system
CN107005547A (en) * 2014-09-30 2017-08-01 思杰系统有限公司 For the system and method for the single-sign-on that the remote desktop session for client computer is performed by middle device
CN104618435A (en) * 2014-12-29 2015-05-13 北京奇虎科技有限公司 Method for achieving remote desktops and remote desktop management system
US9621961B1 (en) * 2014-12-31 2017-04-11 The Directv Group, Inc. Method and system for controlling a centralized content distribution system with a remote control

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《分布式在线真机APP调试系统的设计与实现》;韩雪明;《中国优秀硕士学位论文全文数据库》;20170615;全文 *

Also Published As

Publication number Publication date
CN108833963A (en) 2018-11-16

Similar Documents

Publication Publication Date Title
CN108833963B (en) Method, computer device, readable storage medium and system for displaying interface picture
CN108966008B (en) Live video playback method and device
CN108093268B (en) Live broadcast method and device
CN108401124B (en) Video recording method and device
CN110022489B (en) Video playing method, device and storage medium
CN110881136A (en) Video frame rate control method and device, computer equipment and storage medium
CN108881286B (en) Multimedia playing control method, terminal, sound box equipment and system
CN108769738B (en) Video processing method, video processing device, computer equipment and storage medium
CN109726064B (en) Method, device and system for simulating abnormal operation of client and storage medium
CN107896337B (en) Information popularization method and device and storage medium
CN108616835B (en) Method, device and system for acquiring network resources based on browser and storage medium
CN112104648A (en) Data processing method, device, terminal, server and storage medium
CN110996117B (en) Video transcoding method and device, electronic equipment and storage medium
CN111083554A (en) Method and device for displaying live gift
CN109995704B (en) Advertisement blocking method, device, equipment and computer readable storage medium
CN107888975B (en) Video playing method, device and storage medium
CN111478915B (en) Live broadcast data stream pushing method and device, terminal and storage medium
CN109714628B (en) Method, device, equipment, storage medium and system for playing audio and video
CN111010588B (en) Live broadcast processing method and device, storage medium and equipment
CN111294551B (en) Method, device and equipment for audio and video transmission and storage medium
CN110113669B (en) Method and device for acquiring video data, electronic equipment and storage medium
CN112616082A (en) Video preview method, device, terminal and storage medium
CN111427850A (en) Method, device and system for displaying alarm file
CN108260023B (en) Live broadcast method and device
CN112995760A (en) Video processing method, device, equipment and computer storage medium

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