Remote control system and method applied to audio-video equipment
By calculating and adjusting the data packet sending time on the server, the problem of user devices being unable to play videos synchronously under different network environments was solved, achieving synchronous playback and improving the user experience.
Patent Information
- Application Number
- CN202610079795.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-21
- Publication Date
- 2026-02-24
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
User devices in different network environments cannot play video content synchronously, resulting in a poor user experience.
By obtaining the communication delay difference between the first user device and the second user device from the server, the data packet sending time is adjusted so that the two user devices receive the data packets at the same time, thereby achieving synchronized playback.
It enables synchronized playback of video content on user devices in different network environments, thus improving the user experience.
Smart Images

Figure CN121560269A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a remote control system and method for use in audio-visual equipment. Background Technology
[0002] When two user devices are on different networks, there is a need to play the same video simultaneously. For example, a long-distance couple wanting to have a remote date needs to watch the same movie on their respective devices at the same time. Or, in a remote meeting, different user devices need to play the same video simultaneously so that different participants can watch it at the same time for real-time communication and to achieve the goals of the remote meeting.
[0003] Currently, videos are generally provided by content providers. The content provider's server sends data packets to different user devices through the public network. Once the user device receives the data packet, it can start playing the video in that data packet.
[0004] However, because the paths from the content provider's server to different user devices differ, and the time required varies, different user devices receive the same data packets at different times. Consequently, these different user devices will play the video at different times. In other words, different user devices cannot play the same video content synchronously, resulting in a poor user experience. Summary of the Invention
[0005] This application provides a remote control system and method for audio-visual equipment, which enables terminals on different networks to synchronously play the same video content.
[0006] The first aspect of this application provides a remote control system for audio-visual equipment, comprising: A server is used to obtain a first delay, which is the communication delay for sending a data packet from the server to the first user equipment; The server is also used to obtain a second delay, which is the communication delay for sending a data packet from the server to the second user equipment, and the second delay is less than the first delay; The server is also used to determine a target latency based on the first latency and the second latency, wherein the target latency is the difference between the first latency and the second latency; The server is also used to send a first data packet to the first user device at a first time point, the first data packet including the content data of the target video; The first user equipment is used to play the content data of the target video after the first time delay at the first time point; The server sends a second data packet to the second user equipment at a second time point, the second time point being a time point after the target delay of the first time point, and the second data packet includes the content data of the target video; The second user equipment is used to play the content data of the target video after the second time delay at the second time point.
[0007] Since the target delay is the difference between the first delay and the second delay, and the second delay is less than the first delay, i.e., the first delay = the second delay + the target delay. Since the second time point is the time point after the target delay from the first time point, i.e., the second time point = the first time point + the target delay. Therefore, the second time point + the second delay = the first time point + the target delay + the second delay = the first time point + the first delay.
[0008] Therefore, it can be seen that the time point after the first delay of the first time point is the same time point as the time point after the second delay of the second time point. That is, the first user equipment and the second user equipment can receive the same data packet at the same time point. Thus, the first user equipment and the second user equipment can play the video content in the data packet at the same time, realize synchronous video playback, and bring a good user experience.
[0009] In some possible implementations, the server is specifically configured to: send a first message to the first user equipment, the first message indicating to the first user equipment the return of information about a first reception time point upon receiving the first message; obtain the first transmission time point of sending the first message; the first user equipment is further configured to send a first response message to the server based on the first message, the first response message carrying information about the first reception time point. Then, the server can determine a first delay based on the first transmission time point and the first reception time point, the first delay being the duration from the first transmission time point to the first reception time point, and the first delay being the communication delay from the server to the first user equipment for sending a data packet.
[0010] Furthermore, the server can also send a second message to the second user equipment, which instructs the second user equipment to return information about the second reception time point of receiving the second message; and obtain the second transmission time point of sending the second message; the second user equipment is also used to send a second response message to the server based on the second message, the second response message carrying information about the second reception time point. Then, the server can determine a second delay based on the second transmission time point and the second reception time point, the second delay being the duration from the second transmission time point to the second reception time point, the second delay being the communication delay from the server to the second user equipment in sending a data packet, and the second delay being less than the first delay.
[0011] A second aspect of this application provides a remote control system for audio-visual equipment, comprising: The server obtains the first delay, which is the communication delay from the server to the first user equipment when sending a data packet; The server obtains a second delay, which is the communication delay for sending a data packet from the server to the second user equipment, and the second delay is less than the first delay; The server determines the target latency based on the first latency and the second latency, and the target latency is the difference between the first latency and the second latency; The server sends a first data packet to the first user equipment at a first time point, and the first data packet includes the content data of the target video. The first user equipment plays the content data of the target video after the first time delay at the first time point; The server sends a second data packet to the second user equipment at a second time point, the second time point being a time point after the target delay of the first time point, and the second data packet includes the content data of the target video; The second user equipment plays the content data of the target video after the second time delay at the second time point.
[0012] In some possible implementations, the server acquires the first latency in the following ways: The server sends a first message to the first user equipment, the first message being used to instruct the first user equipment to return information about the first time point at which the first message was received; The server is also used to obtain the first time point when the first message was sent; The first user equipment is configured to send a first response message to the server based on the first message, the first response message carrying information about the first receiving time point; The server is also configured to determine a first delay based on the first sending time point and the first receiving time point, wherein the first delay is the duration from the first sending time point to the first receiving time point, and the first delay is the communication delay for sending a data packet from the server to the first user equipment; The server is also used to send a second message to the second user equipment, the second message being used to instruct the second user equipment to return information about the second receiving time point of the second message; The server is also used to obtain the second sending time point of the second message; The second user equipment is also configured to send a second response message to the server based on the second message, the second response message carrying information about the second receiving time point; The server is also configured to determine a second delay based on the second sending time point and the second receiving time point, wherein the second delay is the duration from the second sending time point to the second receiving time point, and the second delay is the communication delay for sending a data packet from the server to the second user equipment, and the second delay is less than the first delay.
[0013] A third aspect of this application provides a remote control method for audio-visual equipment, comprising: The server obtains the first delay, which is the communication delay from the server to the first user equipment when sending a data packet; The server obtains a second delay, which is the communication delay for sending a data packet from the server to the second user equipment, and the second delay is less than the first delay; The server determines the target latency based on the first latency and the second latency, and the target latency is the difference between the first latency and the second latency; The server sends a first data packet to the first user equipment at a first time point. The first data packet includes the content data of the target video, so that the first user equipment plays the content data of the target video after the first time point and the first time delay. The server sends a second data packet to the second user equipment at a second time point, which is a time point after the target delay of the first time point, so that the second user equipment can play the content data of the target video after the second delay at the second time point. The second data packet includes the content data of the target video.
[0014] In some possible implementations, the server acquires this first latency, including: The server sends a first message to the first user equipment, the first message being used to instruct the first user equipment to return information about the first time point at which the first message was received; The server obtains the first time point at which the first message was sent. The server receives a first response message returned by the first user equipment based on the first message, and the first response message carries information about the first receiving time point; The server determines the first delay based on the first sending time point and the first receiving time point, wherein the first delay is the duration from the first sending time point to the first receiving time point.
[0015] In some possible implementations, the server obtains the second latency, including: The server sends a second message to the second user equipment, the second message being used to instruct the second user equipment to return information about the second time point at which the second message was received; The server obtains the second sending time point of the second message; The server receives a second response message returned by the second user equipment based on the second message, the second response message carrying information about the second receiving time point; The server determines the second delay based on the second sending time point and the second receiving time point, and the second delay is the duration from the second sending time point to the second receiving time point.
[0016] In some possible implementations, the first receiving time point, the first sending time point, the second receiving time point, and the second sending time point are all real times at the microsecond level.
[0017] In some possible implementations, the server and the first user equipment communicate via a carrier network.
[0018] A fourth aspect of this application provides a server for remote control of audio-visual equipment, comprising: The acquisition module is used to acquire a first delay, which is the communication delay for sending a data packet from the server to the first user equipment; The acquisition module is also used to acquire a second delay, which is the communication delay for sending a data packet from the server to the second user equipment, and the second delay is less than the first delay; The processing module is used to determine a target delay based on the first delay and the second delay, wherein the target delay is the difference between the first delay and the second delay; The transceiver module is configured to send a first data packet to the first user equipment at a first time point, the first data packet including the content data of the target video, so that the first user equipment plays the content data of the target video after the first time point and the first time delay. The transceiver module is also used to send the first data packet to the second user equipment at a second time point, the second time point being a time point after the target delay of the first time point, so that the second user equipment can play the content data of the target video after the second delay of the second time point.
[0019] The fifth aspect of this application provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the method provided by the first aspect or any possible implementation thereof.
[0020] A sixth aspect of this application provides a computer program product including computer-executable instructions stored in a computer-readable storage medium; at least one processor of the device can read the computer-executable instructions from the computer-readable storage medium, and the at least one processor executes the computer-executable instructions to cause the device to implement the method provided by the first aspect or any possible implementation of the first aspect.
[0021] A seventh aspect of this application provides a communication device that may include at least one processor, a memory, and a communication interface. The at least one processor is coupled to the memory and the communication interface. The memory is used to store instructions, the at least one processor is used to execute the instructions, and the communication interface is used to communicate with other communication devices under the control of the at least one processor. When executed by the at least one processor, the instructions cause the at least one processor to perform a method of the first aspect or any possible implementation thereof.
[0022] The eighth aspect of this application provides a chip system including a processor for supporting the implementation of the functions involved in the first aspect or any possible implementation of the first aspect.
[0023] In one possible design, the chip system may also include a memory for storing necessary program instructions and data. The chip system can be composed of chips or may include chips and other discrete components.
[0024] The technical effects of aspects five through eight, or any of their possible implementations, can be found in the first aspect or the technical effects of different possible implementations of the first aspect, and will not be repeated here. Attached Figure Description
[0025] Figure 1 This is a schematic diagram of the composition structure of a communication system provided in an embodiment of this application; Figure 2-1 A flowchart illustrating a remote control method for audio-visual equipment provided in an embodiment of this application; Figure 2-2 This is a schematic diagram of the TCP timestamp option field in this application; Figure 3 This application provides a schematic diagram of the structure of a server according to an embodiment of the present application. Figure 4 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Detailed Implementation
[0026] This application provides a remote control system and method for audio-visual equipment, which enables terminals on different networks to synchronously play the same video content.
[0027] The embodiments of this application will now be described with reference to the accompanying drawings.
[0028] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.
[0029] When two user devices are on different networks, there is a need to play the same video simultaneously. For example, a long-distance couple wanting to have a remote date needs to watch the same movie on their respective devices at the same time. Alternatively, in a remote conference, different user devices need to play the same video simultaneously so that different participants can watch it together for real-time communication and to achieve the conference's objectives. For instance, if the first user device is in Shanghai and the second user device is in Beijing, both devices need to play video content simultaneously.
[0030] Currently, videos are generally provided by content providers. The content provider's server sends the same data packet to a first user device and a second user device via a public network. Once the first and second user devices receive the data packet, they can begin playing the video. However, because the paths from the content provider's server to the first and second user devices are different, and the time required varies, the first and second user devices receive the data packet at different times. Therefore, the first and second user devices will play the video content in the data packet at different times. In other words, the first and second user devices will not be able to play the same video content synchronously, resulting in a poor user experience.
[0031] Therefore, this application proposes a remote control system and method for audio-visual equipment, which enables terminals on different networks to synchronously play the same video content.
[0032] Please see Figure 1The diagram shown is a schematic representation of the structural composition of a communication system according to an embodiment of this application. This application provides a communication system 100, including a cloud network 110, an operator network 120, and multiple user devices 130.
[0033] Cloud network 110 is used to provide cloud services to multiple user devices 130 (e.g., user device 1, user device 2, user device 3). Cloud services are based on internet-based add-on, use, and interaction models of related services, typically involving the provision of dynamically scalable and often virtualized resources via the internet. Cloud network 110 can provide cloud services to users in an on-demand, scalable manner. Cloud services can be information technology (IT), software, internet-related, or other services. For example, computing power can also be distributed as a cloud service via the internet.
[0034] In some possible implementations, cloud network 110 includes multiple servers (e.g., server 1, server 2, and server 3), a cloud backbone, and multiple point-of-presence (PoP) points (e.g., PoP1, PoP2, and PoP3).
[0035] The servers can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, and big data and artificial intelligence platforms. In this embodiment, multiple servers are used to provide cloud services to multiple user devices through a cloud backbone network. For example, the multiple servers may include servers of a content provider, which are used to provide video content to multiple user devices 130.
[0036] In this embodiment, the cloud backbone network may include multiple switches / routers for connecting multiple cloud regional servers and multiple Points of Presence (PoPs). The switches / routers are dedicated intelligent network devices used to read the destination address in a packet and determine how to transmit the packet based on that destination address. The switches / routers can understand different protocols, such as the Ethernet protocol used by a local area network (LAN) and the Transmission Control Protocol / Internet Protocol (TCP / IP) protocol used by the Internet. Thus, the switches / routers can analyze the destination addresses of packets from various types of networks, converting non-TCP / IP addresses to TCP / IP addresses, or vice versa; then, according to routing algorithms, they transmit each packet to its destination address along the optimal transmission path. Therefore, the router can connect non-TCP / IP networks to the Internet.
[0037] In this embodiment, the Point of Presence (PoP) is located outside the edge of the cloud network 110 and serves as the entry point for accessing the cloud network 110. Multiple user devices 130 can access the PoP through the operator network 120 and access servers in the cloud network through the PoP. In some possible implementations, the PoP can be a router, a digital-analog telephone aggregator, a server, a frame relay, or a switch, etc., and is not limited here.
[0038] In this embodiment, the operator network 120 includes multiple internet service providers (ISPs) (e.g., ISP1, ISP2, ISP3). The ISPs are telecommunications operators that provide internet access services, information services, and value-added services to multiple user equipments 130. In this embodiment, the multiple ISPs are used to enable the multiple 130s to access the cloud network 110. ISP 121 can access the cloud network 110 by connecting to one of the Point of Presence (PoPs).
[0039] In some possible implementations, user equipment 130 can be a personal computer (PC), a modem, or a router with dial-up functionality. User equipment 130 can be a terminal, user equipment (UE), mobile station (MS), mobile terminal (MT), etc. User equipment 130 can be a mobile phone, tablet, computer with wireless transceiver capabilities, virtual reality (VR) terminal device, augmented reality (AR) terminal device, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in remote medical surgery, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, etc. The embodiments of this application do not limit the specific technology or device form adopted by user equipment 130.
[0040] For example, the user equipment 130 can be a device such as a projector, mobile phone, personal computer, or tablet computer that receives and plays video content; no limitation is made here.
[0041] In this application, the server obtains a first delay and a second delay. The first delay is the communication delay for sending a data packet from the server to a first user equipment, and the second delay is the communication delay for sending a data packet from the server to a second user equipment. The second delay is less than the first delay. Then, the server can determine a target delay based on the first delay and the second delay, where the target delay is the difference between the first delay and the second delay. The server can then send a first data packet to the first user equipment at a first time point, the first data packet including the content data of a target video, so that the first user equipment plays the content data of the target video after the first delay at the first time point. The server can also send a second data packet to the second user equipment at a second time point, the second time point being a time point after the target delay at the first time point. The second data packet also includes the content data of the target video, so that the second user equipment plays the content data of the target video after the second delay at the second time point.
[0042] Since the target delay is the difference between the first delay and the second delay, and the second delay is less than the first delay, i.e., the first delay = the second delay + the target delay. Since the second time point is the time point after the target delay from the first time point, i.e., the second time point = the first time point + the target delay. Therefore, the second time point + the second delay = the first time point + the target delay + the second delay = the first time point + the first delay.
[0043] Therefore, it can be seen that the time point after the first delay of the first time point is the same time point as the time point after the second delay of the second time point. That is, the first user equipment and the second user equipment can receive the same data packet at the same time point. Thus, the first user equipment and the second user equipment can play the video content in the data packet at the same time, realize synchronous video playback, and bring a good user experience.
[0044] The communication system provided in this application has been introduced above. Next, a remote control method for audio-visual equipment based on this communication system will be introduced.
[0045] Please see Figure 2-1 As shown in the embodiments of this application, the remote control method for audio-visual equipment mainly includes the following steps: 201. The server sends a first message to the first user equipment, the first message being used to instruct the first user equipment to return information about the first time point at which the first message was received.
[0046] For example, the first message can be a synchronization sequence number (SYN) response (SYN_ACK) message, or it can be any other message; there is no limitation here. The following explanation uses the SYN_ACK message as the first message.
[0047] It's important to note that the SYN message is a handshake message used when two communicating devices establish a connection using the Transmission Control Protocol (TCP). For example, when establishing a TCP connection between a first user device and a server, the first user device first sends a SYN message to the server. After receiving the SYN message, the server can return a SYN_ACK message as an acknowledgment, indicating that it has received the SYN message; this SYN_ACK message is the first message. Finally, the first user device replies with an ACK message based on the SYN_ACK message as a response. Therefore, the SYN, SYN_ACK, and ACK messages are called a "three-way handshake." After the "three-way handshake" is completed, a TCP connection is established between the first user device and the server, and data can then be transmitted between them.
[0048] It should be noted that before executing step 201, the first user device and the server need to achieve time synchronization in advance. For example, the first user device and the server need to achieve time synchronization at the microsecond level in advance. The specific time synchronization method is a common technical means and is not limited here.
[0049] 202. The server obtains the first sending time of the first message.
[0050] In this embodiment of the application, after the server sends the first message, the first sending time of the first message can be recorded.
[0051] For example, when the first message is a SYN_ACK message, this first message includes a field for a TCP timestamp option. The value of this TCP timestamp option can represent the first time the first message was sent. For example, as shown... Figure 2-2 As shown, the SYN_ACK message includes multiple fields, among which the TCPtimestamp option can be represented as the TS value (TSval) field, whose value is represented by 4 bytes.
[0052] In this embodiment, the first transmission time is an absolute time, for example, 10:04 AM on January 15, 2025, which is 550 milliseconds or 280 microseconds. In some possible implementations, the precision of the first transmission time can be the actual time at the microsecond level. In some possible implementations, the precision of the first transmission time can also be at the millisecond level, or at the centisecond, minute, or nanosecond level; this is not limited here.
[0053] 203. The first user equipment sends a first response message to the server based on the first message, the first response message carrying information about the first receiving time point.
[0054] In this embodiment, after receiving the first message, the first user equipment can return a first response message to the server based on the first message. This first response message carries a first reception time point. In some possible implementations, if the first message is a SYN_ACK message, the first response message can be an ACK message. It should be noted that the first reception time point is the time when the first user equipment sends the first response message to the server; that is, the time difference between the first user equipment receiving the first message and sending the first response message is very short and can be ignored, and is not limited here.
[0055] For example, when the first response message is an ACK message, it includes a field for a TCP timestamp option. The value of this TCP timestamp option can represent the first time the first response message was received. For example, an ACK message includes multiple fields, where the TCP timestamp option can be represented as the TS value (TSval) field, whose value is represented by 4 bytes.
[0056] In this embodiment, the first receiving time point is an absolute time, for example, 10:04 AM on January 15, 2025, which is 550 milliseconds or 900 microseconds. In some possible implementations, the precision of the first receiving time point can be the actual time at the microsecond level. In some possible implementations, the precision of the first receiving time point can also be at the millisecond level, or at the centisecond, minute, or nanosecond level; this is not limited here.
[0057] 204. The server determines the first delay based on the first sending time point and the first receiving time point.
[0058] In this embodiment, the first delay is the communication delay of sending a data packet from the server to the first user equipment, which can be determined by the duration from the first sending time to the first receiving time. For example, if the first sending time is 10:04, 550 milliseconds (280 microseconds) on January 15, 2025, and the first receiving time is 10:04, 550 milliseconds (900 microseconds) on January 15, 2025, then the first delay is 620 microseconds.
[0059] 205. The server sends a second message to the second user equipment, the second message being used to instruct the second user equipment to return information about the second receiving time point of the second message.
[0060] For example, the second message can be a SYN_ACK message, or it can be any other message; there is no limitation here. The following explanation uses the SYN_ACK message as an example of the second message.
[0061] It's important to note that the SYN message is a handshake message used when two communication devices establish a TCP connection. For example, when a second user device (user equipment) and a server establish a TCP connection, the second user device first sends a SYN message to the server. After receiving the SYN message, the server can return a SYN_ACK message as an acknowledgment, indicating that it has received the SYN message; this SYN_ACK message is the second message. Finally, the second user device replies with an ACK message based on the SYN_ACK message as a response. Therefore, the SYN, SYN_ACK, and ACK messages are called a "three-way handshake." After the three-way handshake is completed, a TCP connection is established between the second user device and the server, and data can then be transmitted between them.
[0062] It should be noted that before executing step 205, the second user device and the server need to achieve time synchronization beforehand. For example, the second user device and the server need to achieve time synchronization at the microsecond level beforehand. The specific time synchronization method is a common technical means and is not limited here.
[0063] 206. The server obtains the second sending time point of the second message.
[0064] In this embodiment of the application, after the server sends the second message, the second sending time point of the second message can be recorded.
[0065] For example, when the second message is a SYN_ACK message, it includes a field for a TCP timestamp option. The value of this TCP timestamp option can represent the second sending time of the second message. For example, the SYN_ACK message includes multiple fields, where the TCP timestamp option can be represented as the TS value (TSval) field, whose value is represented by 4 bytes.
[0066] In this embodiment, the second transmission time is an absolute time, for example, 10:04 AM on January 15, 2025, which is 660 milliseconds and 580 microseconds. In some possible implementations, the precision of the second transmission time can be the actual time at the microsecond level. In some possible implementations, the precision of the second transmission time can also be at the millisecond level, or at the centisecond, minute, or nanosecond level; this is not limited here.
[0067] 207. The second user equipment sends a second response message to the server based on the second message, the second response message carrying information about the second receiving time point.
[0068] In this embodiment, after receiving the second message, the second user equipment can return a second response message to the server based on the second message. This second response message carries a second reception time point. In some possible implementations, if the second message is a SYN_ACK message, the second response message can be an ACK message. It should be noted that the second reception time point is the time when the second user equipment sends the second response message to the server; that is, the time difference between the second user equipment receiving the second message and sending the second response message is very short and can be ignored, and is not limited here.
[0069] For example, when the second response message is an ACK message, it includes a field for a TCP timestamp option. The value of this TCP timestamp option can represent the second time point at which the second response message was received. For example, an ACK message includes multiple fields, where the TCP timestamp option can be represented as the TS value (TSval) field, whose value is represented by 4 bytes.
[0070] In this embodiment, the second receiving time point is an absolute time, for example, 10:04 AM on January 15, 2025, which is 660 milliseconds or 800 microseconds. In some possible implementations, the precision of the second receiving time point can be the actual time at the microsecond level. In some possible implementations, the precision of the second receiving time point can also be at the millisecond level, or at the centisecond, minute, or nanosecond level; this is not limited here.
[0071] 208. The server determines the second delay based on the second sending time point and the second receiving time point.
[0072] In this embodiment, the second delay is the communication delay of sending a data packet from the server to the second user equipment, which can be determined by the duration from the second sending time point to the second receiving time point. For example, if the second sending time point is 10:04 on January 15, 2025, 660 milliseconds, or 580 microseconds; and the second receiving time point is 10:04 on January 15, 2025, 660 milliseconds, or 800 microseconds; then the second delay is 220 microseconds.
[0073] It should be noted that the first delay and the second delay are actual delays obtained from testing. The second delay can be greater than, equal to or less than the first delay. In this embodiment of the application, the second delay being less than the first delay is used as an example for illustration, and no limitation is made here.
[0074] It should be noted that steps 201-204 and steps 205-208 are not related in terms of timing. That is, steps 201-204 can be executed before steps 205-208, or steps 205-208 can be executed before steps 201-204. No limitation is made here.
[0075] 209. The server determines the target latency based on the first latency and the second latency, and the target latency is the difference between the first latency and the second latency.
[0076] In this embodiment, the target latency is the time difference between the server sending the same video content to the first user equipment and the second user equipment. For example, if the server sends a first data packet to the first user equipment at a first time point and sends a second data packet to the second user equipment at a second time point, and the first and second data packets carry the same video content, then the time difference between the first and second time points is the target latency.
[0077] For example, if the first delay is 620 microseconds and the second delay is 220 microseconds, then: target delay = |first delay - second delay| = 400 microseconds.
[0078] 210. The server sends a first data packet to the first user equipment at the first time point, the first data packet including the content data of the target video.
[0079] In this embodiment, the target video is a video requested by the first user equipment from the server, such as a movie. The target video is sent via multiple data packets, where the valid data of each data packet is the content data of the target video. These multiple data packets include a first data packet, which contains the content data of the target video. In some possible implementations, the content data can be a frame from the movie, audio content, or other content; no limitation is made here. In some possible implementations, the server can send the first data packet to the first user equipment via a carrier network.
[0080] For example, the first time point is 10:05, 550 milliseconds, 100 microseconds on January 15, 2025.
[0081] 211. The server sends the second data packet to the second user equipment at a second time point, the second time point being a time point after the target delay of the first time point, and the first data packet includes the content data of the target video.
[0082] In some possible implementations, the server can send the first data packet to the second user equipment via the operator's network.
[0083] In some possible implementations, a first user device may send a request to a server to watch the target video together with a second user device. The server then sends a first data packet to the first user device at a first time point, the first data packet including the content data of the target video. Subsequently, the server sends a second data packet to the second user device at a second time point, the second data packet also including the content data of the target video. The first and second data packets contain the same content data of the target video, enabling both the first and second user devices to play the same video content.
[0084] In this embodiment of the application, the second time point = the first time point + the target delay. For example, if the first time point is 10:05 on January 15, 2025, 550 milliseconds, 100 microseconds, and the target delay is 400 microseconds, then the second time point is 10:05 on January 15, 2025, 550 milliseconds, 500 microseconds.
[0085] 212. The first user equipment plays the content data of the target video after the first time delay at the first time point.
[0086] In this embodiment of the application, when the first user equipment receives the first data packet after the first delay at the first time point, the first user equipment can play the content data of the target video carried in the first data packet after the first delay at the first time point.
[0087] 213. The second user equipment plays the content data of the target video after the second time delay at the second time point.
[0088] In this embodiment of the application, when the first user equipment receives the first data packet after the first delay at the first time point, the first user equipment can play the content data of the target video carried in the first data packet after the first delay at the first time point.
[0089] Since the target delay is the difference between the first delay and the second delay, and the second delay is less than the first delay, i.e., the first delay = the second delay + the target delay. Since the second time point is the time point after the target delay from the first time point, i.e., the second time point = the first time point + the target delay. Therefore, the second time point + the second delay = the first time point + the target delay + the second delay = the first time point + the first delay.
[0090] Therefore, it can be seen that the time point after the first delay of the first time point is the same time point as the time point after the second delay of the second time point. That is, the first user equipment and the second user equipment can receive the same data packet at the same time point. Thus, the first user equipment and the second user equipment can play the video content in the data packet at the same time, realize synchronous video playback, and bring a good user experience.
[0091] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0092] To facilitate better implementation of the above-described solutions in the embodiments of this application, related apparatus for implementing the above-described solutions is also provided below.
[0093] Please see Figure 3 As shown in the embodiment of this application, a server 300 may include: The acquisition module 301 is used to acquire a first delay, which is the communication delay for sending a data packet from the server to the first user equipment; The acquisition module 301 is also used to acquire a second delay, which is the communication delay of sending a data packet from the server to the second user equipment, and the second delay is less than the first delay; Processing module 302 is used to determine a target delay based on the first delay and the second delay, wherein the target delay is the difference between the first delay and the second delay; The transceiver module 303 is used to send a first data packet to the first user equipment at a first time point. The first data packet includes the content data of the target video, so that the first user equipment plays the content data of the target video after the first time point and the first time delay. The transceiver module 303 is also used to send the first data packet to the second user equipment at a second time point, the second time point being a time point after the target delay of the first time point, so that the second user equipment can play the content data of the target video after the second delay of the second time point.
[0094] In some possible implementations, the transceiver module 303 is also used for: Send a first message to the first user equipment, the first message being used to instruct the first user equipment to return information about the first receiving time point of receiving the first message; Get the first sending time point of the first message; Receive a first response message returned by the first user equipment based on the first message, the first response message carrying information about the first receiving time point; The processing module 302 is further configured to determine the first delay based on the first sending time point and the first receiving time point, wherein the first delay is the duration from the first sending time point to the first receiving time point.
[0095] In some possible implementations, the transceiver module 303 is also used for: Send a second message to the second user equipment, the second message being used to instruct the second user equipment to return information about the second time point at which the second message was received; The processing module 302 is also used to obtain the second sending time point of sending the second message; Receive a second response message returned by the second user equipment based on the second message, the second response message carrying information about the second receiving time point; The processing module 302 is further configured to determine the second delay based on the second sending time point and the second receiving time point, wherein the second delay is the duration from the second sending time point to the second receiving time point.
[0096] It should be noted that the information interaction and execution process between the modules / units of the above-mentioned device are based on the same concept as the method embodiments of this application, and the resulting technical effects are the same as those of the method embodiments of this application. For details, please refer to the description in the method embodiments shown above in this application, and will not be repeated here.
[0097] This application also provides a computer storage medium storing a program that performs some or all of the steps described in the above method embodiments.
[0098] The following describes another communication device provided in the embodiments of this application. Please refer to [link to relevant documentation]. Figure 4 As shown, the communication device 400 includes: The system includes a receiver 401, a transmitter 402, a processor 403, and a memory 404. In some embodiments of this application, the receiver 401, transmitter 402, processor 403, and memory 404 may be connected via a bus or other means. Figure 4 Taking the example of a connection between China and Israel via a bus.
[0099] Memory 404 may include read-only memory and random access memory, and provides instructions and data to processor 403. A portion of memory 404 may also include non-volatile random access memory (NVRAM). Memory 404 stores operating systems and operating instructions, executable modules or data structures, or subsets thereof, or extended sets thereof. The operating instructions may include various operating instructions for implementing various operations. The operating system may include various system programs for implementing various basic business functions and handling hardware-based tasks.
[0100] Processor 403 controls the operation of communication device 400. Processor 403 can also be called a central processing unit (CPU). In specific applications, the various components of communication device 400 are coupled together through a bus system. This bus system includes not only a data bus but also a power bus, control bus, and status signal bus. However, for clarity, all buses are referred to as the bus system in the figure.
[0101] The methods disclosed in the embodiments of this application can be applied to processor 403, or implemented by processor 403. Processor 403 can be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in processor 403 or by instructions in the form of software. The processor 403 can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory 404. Processor 403 reads the information in memory 404 and, in conjunction with its hardware, completes the steps of the above method.
[0102] The receiver 401 can be used to receive input digital or character information and generate signal inputs related to relevant settings and function control. The transmitter 402 may include display devices such as a display screen and can be used to output digital or character information through an external interface.
[0103] In this embodiment, processor 403 is used to execute the aforementioned remote control method applied to audio-visual equipment.
[0104] In another possible design, when the server 300 or communication device 400 is a chip, it includes a processing unit and a communication unit. The processing unit may be, for example, a processor, and the communication unit may be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip within the terminal to execute the wireless reporting information transmission method described in any of the first aspects above. Optionally, the storage unit can be a storage unit within the chip, such as a register or cache. Alternatively, the storage unit can be a storage unit located outside the chip within the terminal, such as read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, such as random access memory (RAM).
[0105] The processor mentioned above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits used to control the execution of the program described above.
[0106] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0107] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0108] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0109] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
Claims
1. A remote control system for audio-visual equipment, characterized in that, include: A server is configured to obtain a first delay, wherein the first delay is the communication delay of sending a data packet from the server to the first user equipment; The server is further configured to obtain a second delay, which is the communication delay for sending a data packet from the server to the second user equipment, and the second delay is less than the first delay; The server is further configured to determine a target latency based on the first latency and the second latency, wherein the target latency is the difference between the first latency and the second latency; The server is also configured to send a first data packet to the first user equipment at a first time point, the first data packet including the content data of the target video; The first user equipment is configured to play the content data of the target video after the first time delay at the first time point; The server sends a second data packet to the second user equipment at a second time point, the second time point being a time point after the target delay of the first time point, and the second data packet includes the content data of the target video; The second user equipment is configured to play the content data of the target video after the second time delay at the second time point.
2. The remote control system for audio-visual equipment according to claim 1, characterized in that, The server is specifically configured to: send a first message to the first user equipment, wherein the first message is configured to instruct the first user equipment to return information on a first receiving time point when the first message was received; and obtain the first sending time point when the first message was sent. The first user equipment is further configured to send a first response message to the server based on the first message, wherein the first response message carries information about the first receiving time point; The server is specifically used to: determine a first delay based on the first sending time point and the first receiving time point, wherein the first delay is the duration from the first sending time point to the first receiving time point, and the first delay is the communication delay of sending a data packet from the server to the first user equipment; The server is specifically configured to: send a second message to the second user equipment, the second message being used to instruct the second user equipment to return information on the second receiving time point of receiving the second message; and obtain the second sending time point of sending the second message; The second user equipment is further configured to send a second response message to the server based on the second message, the second response message carrying information about the second receiving time point; The server is specifically used to: determine a second delay based on the second sending time point and the second receiving time point, wherein the second delay is the duration from the second sending time point to the second receiving time point, the second delay is the communication delay of sending a data packet from the server to the second user equipment, and the second delay is less than the first delay.
3. A remote control method for audio-visual equipment, characterized in that, include: The server obtains a first delay, which is the communication delay from the server to the first user equipment when sending a data packet; The server obtains a second delay, which is the communication delay from the server to the second user equipment when sending a data packet, and the second delay is less than the first delay; The server determines the target latency based on the first latency and the second latency, wherein the target latency is the difference between the first latency and the second latency; The server sends a first data packet to the first user equipment at a first time point, and the first data packet includes the content data of the target video. The first user equipment plays the content data of the target video after the first time delay at the first time point; The server sends a second data packet to the second user equipment at a second time point, the second time point being a time point after the target delay of the first time point, and the second data packet includes the content data of the target video; The second user equipment plays the content data of the target video after the second time delay at the second time point.
4. The method according to claim 3, characterized in that, The server acquiring the first latency includes: The server sends a first message to the first user equipment, the first message being used to instruct the first user equipment to return information about the first receiving time point of receiving the first message; The server is also configured to obtain the first sending time point of the first message; The first user equipment is configured to send a first response message to the server based on the first message, wherein the first response message carries information about the first receiving time point; The server is further configured to determine a first delay based on the first sending time point and the first receiving time point, wherein the first delay is the duration from the first sending time point to the first receiving time point, and the first delay is the communication delay from the server to the first user equipment for sending a data packet; The server is further configured to send a second message to the second user equipment, the second message being configured to instruct the second user equipment to return information about a second receiving time point when the second message was received; The server is also configured to obtain a second sending time point when the second message was sent; The second user equipment is further configured to send a second response message to the server based on the second message, the second response message carrying information about the second receiving time point; The server is further configured to determine a second delay based on the second sending time point and the second receiving time point, wherein the second delay is the duration from the second sending time point to the second receiving time point, the second delay is the communication delay of sending a data packet from the server to the second user equipment, and the second delay is less than the first delay.
5. A remote control method for audio-visual equipment, characterized in that, include: The server obtains a first delay, which is the communication delay from the server to the first user equipment when sending a data packet; The server obtains a second delay, which is the communication delay from the server to the second user equipment when sending a data packet, and the second delay is less than the first delay; The server determines the target latency based on the first latency and the second latency, wherein the target latency is the difference between the first latency and the second latency; The server sends a first data packet to the first user equipment at a first time point. The first data packet includes the content data of the target video, so that the first user equipment plays the content data of the target video after the first time point and the first delay. The server sends a second data packet to the second user equipment at a second time point, the second time point being a time point after the target delay of the first time point, so that the second user equipment plays the content data of the target video after the second delay of the second time point, the second data packet including the content data of the target video.
6. The method according to claim 5, characterized in that, The server obtains the first delay, including: The server sends a first message to the first user equipment, the first message being used to instruct the first user equipment to return information about the first receiving time point of receiving the first message; The server obtains the first sending time point of the first message; The server receives a first response message returned by the first user equipment based on the first message, and the first response message carries information about the first receiving time point. The server determines the first delay based on the first sending time point and the first receiving time point, wherein the first delay is the duration from the first sending time point to the first receiving time point.
7. The method according to claim 6, characterized in that, The server obtains the second latency, including: The server sends a second message to the second user equipment, the second message being used to instruct the second user equipment to return information about the second receiving time point of the second message; The server obtains the second sending time point of the second message; The server receives a second response message returned by the second user equipment based on the second message, the second response message carrying information about the second receiving time point; The server determines the second delay based on the second sending time point and the second receiving time point, wherein the second delay is the duration from the second sending time point to the second receiving time point.
8. The method according to any one of claims 5-7, wherein the first receiving time point, the first sending time point, the second receiving time point, and the second sending time point are all real times at the microsecond level.
9. The method according to any one of claims 5-7, characterized in that, The server and the first user equipment communicate via an operator network.
10. A server for remote control of audio-visual equipment, characterized in that, include: An acquisition module is used to acquire a first delay, wherein the first delay is the communication delay for sending a data packet from the server to the first user equipment; The acquisition module is further configured to acquire a second delay, which is the communication delay for sending a data packet from the server to the second user equipment, and the second delay is less than the first delay; A processing module is configured to determine a target delay based on the first delay and the second delay, wherein the target delay is the difference between the first delay and the second delay; The transceiver module is configured to send a first data packet to the first user equipment at a first time point, the first data packet including the content data of the target video, so that the first user equipment plays the content data of the target video after the first time point and the first time delay. The transceiver module is further configured to send the first data packet to the second user equipment at a second time point, wherein the second time point is a time point after the target delay of the first time point, so that the second user equipment plays the content data of the target video after the second delay of the second time point.