CN114221886A - Data transmission method and device, streaming media server and sending client - Google Patents

Data transmission method and device, streaming media server and sending client Download PDF

Info

Publication number
CN114221886A
CN114221886A CN202111574541.1A CN202111574541A CN114221886A CN 114221886 A CN114221886 A CN 114221886A CN 202111574541 A CN202111574541 A CN 202111574541A CN 114221886 A CN114221886 A CN 114221886A
Authority
CN
China
Prior art keywords
streaming media
media server
stage
network delay
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111574541.1A
Other languages
Chinese (zh)
Other versions
CN114221886B (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.)
Hangzhou Miluoxing Technology Group Co ltd
Original Assignee
Hangzhou Miluoxing Technology Group 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 Hangzhou Miluoxing Technology Group Co ltd filed Critical Hangzhou Miluoxing Technology Group Co ltd
Priority to CN202111574541.1A priority Critical patent/CN114221886B/en
Publication of CN114221886A publication Critical patent/CN114221886A/en
Application granted granted Critical
Publication of CN114221886B publication Critical patent/CN114221886B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/17Interaction among intermediate nodes, e.g. hop by hop

Abstract

The embodiment of the invention provides a data transmission method, a device, a streaming media server and a sending client, relates to the field of streaming media transmission, is applied to any streaming media server in a multilevel streaming media server, and comprises the following steps: sending a sender message to a post-stage device of the streaming media server; receiving a receiver message returned by the post-stage equipment aiming at the sender message; calculating a second network delay between the streaming media server and the post-stage equipment according to the sender message and the receiver message; calculating the local network delay between the sending client and the subsequent equipment according to the first network delay and the second network delay which are acquired in advance between the sending client and the streaming media server; and forwarding the streaming media data to be transmitted to the receiving client step by step based on the network delay of the current stage. By adopting the method, the real-time performance of network delay detection can be improved, and the monitoring of the data transmission state is enhanced.

Description

Data transmission method and device, streaming media server and sending client
Technical Field
The present invention relates to the field of streaming media transmission, and in particular, to a data transmission method, an apparatus, a streaming media server, and a sending client.
Background
At present, the development of the internet is more and more advanced, the application scene of real-time audio and video tends to be diversified and complicated, and a simple end-to-end model cannot meet the transmission requirement of streaming media data.
In a traditional transmission model, a calculation method for calculating RTT (Round-Trip Time, Time consumed by a network between a Sender and a Receiver) and one-way network delay according to SR (Sender Reports)/RR (Receiver Reports) packets can only calculate the delay of two adjacent nodes, and cannot calculate the end-to-end network delay including a plurality of media service nodes in the middle, which results in that the real-Time monitoring of the data transmission process cannot be performed, and the data transmission effect is affected.
Disclosure of Invention
The embodiment of the invention provides a data transmission method, a data transmission device, a streaming media server and a sending client, which can improve the real-time performance of network delay detection and enhance the monitoring of a data transmission state.
In a first aspect, an embodiment of the present invention provides a data transmission method, applied to any streaming media server in a multi-level streaming media server, including:
sending a sender message to a post-stage device of the streaming media server;
receiving a receiver message returned by the post-stage equipment aiming at the sender message;
calculating a second network delay between the streaming media server and the post-stage device according to the sender message and the receiver message;
calculating the local network delay between the sending client and the subsequent equipment according to the first network delay between the sending client and the streaming media server and the second network delay which are acquired in advance;
and forwarding the streaming media data to be transmitted to a receiving client stage by stage based on the network time delay of the current stage.
Optionally, before calculating the current-stage network delay between the client and the streaming media server according to the pre-obtained first network delay between the sending client and the streaming media server and the second network delay, the method further includes:
receiving a first application data packet sent by a preceding stage device of the streaming media server, wherein the first application data packet comprises: the first network delay and the streaming media data.
Optionally, if the streaming media server is a first-level streaming media server, the former-level device is the sending client; or, if the streaming media server is any streaming media server behind the first-stage streaming media server, the former-stage device is any streaming media server ahead of the streaming media server.
Optionally, if the subsequent device is a subsequent media server after the streaming media server, the forwarding the streaming media data to the receiving client step by step based on the current-stage network delay includes:
sending a second application data packet to the next-level streaming media server, wherein the second application data packet comprises: the second application data packet is used for enabling the next-stage streaming media server to forward the streaming media data to the receiving client stage by stage based on the current-stage network delay.
Optionally, if the subsequent device is a receiving client, the forwarding the streaming media data to the receiving client stage by stage based on the current-stage network delay includes:
sending a third application data packet to the receiving client, the third application data packet comprising: the local network delay in the third application data packet is used for indicating the network delay between the sending client and the receiving client.
In a second aspect, an embodiment of the present invention further provides a data transmission method, applied to a sending client, including:
sending a sender message to a first-level streaming media server in the multi-level streaming media servers;
receiving a receiver message returned by the first-level streaming media server aiming at the sender message;
calculating the local network time delay between the sending client and the first-level streaming media server according to the sender message and the receiver message;
sending an application data packet to the first-level streaming media server, wherein the application data packet comprises: the application data packet is used for enabling the first-stage streaming media server to forward the streaming media data to a receiving client stage by stage based on the local-stage network delay.
In a third aspect, an embodiment of the present invention further provides a data transmission device, which is applied to any streaming media server in a multi-level streaming media server, where the device includes:
the first sending module is used for sending a sender message to a post-stage device of the streaming media server;
the first receiving module is used for receiving a receiver message returned by the post-stage equipment aiming at the sender message;
the first processing module is used for calculating a second network delay between the streaming media server and the post-stage equipment according to the sender message and the receiver message; calculating the local network delay between the sending client and the subsequent equipment according to the first network delay between the sending client and the streaming media server and the second network delay which are acquired in advance; and forwarding the streaming media data to be transmitted to a receiving client stage by stage based on the network time delay of the current stage.
In a fourth aspect, an embodiment of the present invention further provides a data transmission apparatus, which is applied to a sending client, where the apparatus includes:
the second sending module is used for sending the sender message to a first-level streaming media server in the multi-level streaming media servers;
a second receiving module, configured to receive a receiver packet returned by the first-level streaming media server for the sender packet;
the second processing module is used for calculating the local network time delay between the sending client and the first-level streaming media server according to the sender message and the receiver message; sending an application data packet to the first-level streaming media server, wherein the application data packet comprises: the application data packet is used for enabling the first-stage streaming media server to forward the streaming media data to a receiving client stage by stage based on the local-stage network delay.
In a fifth aspect, an embodiment of the present invention further provides a streaming media server, including: the system comprises a first transmitter, a first receiver, a first processor and a first bus, wherein the first transmitter, the first receiver and the first processor are connected through the first bus;
the first sender is used for sending a sender message to a post-stage device of the streaming media server;
the first receiver is used for receiving a receiver message returned by the post-stage equipment aiming at the sender message;
the first processor is configured to calculate a second network delay between the streaming media server and the subsequent device according to the sender packet and the receiver packet; calculating the local network delay between the sending client and the subsequent equipment according to the first network delay between the sending client and the streaming media server and the second network delay which are acquired in advance; and forwarding the streaming media data to be transmitted to a receiving client stage by stage based on the network time delay of the current stage.
In a sixth aspect, an embodiment of the present invention further provides a sending client, including: the second transmitter, the second receiver and the second processor are connected through the second bus;
the second sender is used for sending a sender message to a first-level streaming media server in the multi-level streaming media servers;
the second receiver is configured to receive a receiver packet returned by the first-level streaming media server for the sender packet;
the second processor is configured to calculate a local network delay between the sending client and the first-level streaming media server according to the sender packet and the receiver packet; sending an application data packet to the first-level streaming media server, wherein the application data packet comprises: the application data packet is used for enabling the first-stage streaming media server to forward the streaming media data to a receiving client stage by stage based on the local-stage network delay.
Compared with the prior art, the network delay from the current streaming media server to the next device is calculated through the sender message and the receiver message between the current streaming media server and the next device, and then the network delay from the sending client to the next device can be obtained according to the network delay between the sending client and the current streaming media server obtained in advance.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present invention and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained according to the drawings without inventive efforts.
Fig. 1 is a diagram of a streaming media transmission system according to the present invention;
fig. 2 is a schematic flow chart of a data transmission method according to the present invention;
FIG. 3 is a flow chart of another data transmission method provided by the present invention;
FIG. 4 is a flow chart illustrating another data transmission method according to the present invention;
FIG. 5 is a flow chart illustrating another data transmission method according to the present invention;
FIG. 6 is a flow chart illustrating another data transmission method according to the present invention;
FIG. 7 is a diagram of a data transmission apparatus according to the present invention;
FIG. 8 is a schematic diagram of another data transmission apparatus provided in the present invention;
fig. 9 is a schematic diagram of a streaming media server according to the present invention;
fig. 10 is a schematic diagram of a sending client according to the present invention.
Icon: 1000, a first sending module; 2000, a first receiving module; 3000, a first processing module; 4000, a second sending module; 5000, a second receiving module; 6000, a second processing module; 10, a streaming media server; 11, a first transmitter; 12, a first receiver; 13, a first processor; 14, a first bus; 20, sending the client; 21, a second transmitter; 22, a second receiver; 23, a second processor; 24, a second bus; and 30, receiving the client.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. The components of embodiments of the present invention generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations.
Thus, the following detailed description of the embodiments of the present invention, presented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
Before explaining the present invention in detail, an application scenario of the present invention will be described.
For the transmission of streaming media, real-time transmission of data is crucial. The streaming media transmission is different from the traditional single data transmission service, and has the characteristics of time delay sensitivity, large data volume and the like. In order to satisfy Real-time transmission of streaming media data with a large data volume, RTP (Real-time Transport Protocol) and RTCP (Real-time Transport Control Protocol) are commonly used in combination. RTP works with transmissions between a single sender and a single acceptor or between a sender and multiple acceptors, with its companion RTCP providing the transport control function for RTP.
In order to solve the problems of overlarge terminal pressure, network partition for user access and long-distance transmission, a multi-node SFU (selective Forwarding Unit) communication architecture containing Proxy is derived. In order to monitor data of a transmission system comprising a plurality of streaming media nodes, because the traditional method can only calculate the time delay between two adjacent nodes, the time delay data of a sending end and a receiving end of an interval multistage streaming media server cannot be transmitted to each other.
Based on this, the invention provides a data transmission method, a device, a streaming media server and a sending client, wherein, the middle multi-level streaming media server is regarded as a node, and two nodes which are connected in a close way form P2P (Peer to Peer, end-to-end) connection, so that the sending client can transmit delay data to a receiving client after the multi-level streaming media server is separated, and the monitoring in the streaming media data transmission is realized. The data transmission method provided by each of the following embodiments of the present invention may be executed by a streaming media server, and may also be executed by a sending client, where the streaming media server may be set up by a mobile communication device or a desktop computer device, and the sending client may be the mobile communication device or the desktop computer device, and the present invention is not limited thereto.
The following is an explanation by way of various embodiments in conjunction with the accompanying drawings. Fig. 1 is a diagram of a streaming media transmission system according to the present invention, and as shown in fig. 1, the streaming media transmission system includes: a streaming media server 10, a sending client 20, and a receiving client 30. The number of the streaming media servers 10 is N, wherein N is larger than or equal to 1. The sending client 20 sends the streaming media data, which passes through one or more streaming media servers 10, and is finally transmitted to the receiving client 30. The sending client 20 and the receiving client 30 mainly implement receiving and subsequent decoding and playing of streaming media data, and the intermediate streaming media server 10 mainly implements functions of adjusting the transmission rate of the streaming media data and controlling the coding rate. Specifically, the current streaming media transmission system adopts an SFU communication architecture, and the streaming media server 10 in the streaming media transmission system is an SFU server (SFU server), and an SFU server that is not directly connected to the sending client 20 or/and the receiving client 30 may be referred to as a Proxy server (Proxy server), and the Proxy server may forward all requests. In this way, the sending client 20 and the receiving client 30 do not know whether an actual client or a server is connected to the clients, and can disguise all the streaming servers 10 as clients to realize the connection of P2P. The jitter of the streaming media transmission is caused by the unstable receiving time difference of two adjacent data due to the unstable time delay in the streaming media transmission, so that the received data is out of order. Therefore, it is necessary to monitor the delay of the streaming media data transmission process in real time.
On the basis of the streaming media transmission system provided in fig. 1, the present invention also provides a possible implementation manner of the data transmission method. Fig. 2 is a schematic flow chart of a data transmission method provided by the present invention. As shown in fig. 2, a data transmission method applied to any streaming media server in a multi-level streaming media server includes:
s110, sending the sender message to the post-stage equipment of the streaming media server.
In the transmission process of streaming media data, the streaming media server 10 constructs an SR (Sender Report) and sends the SR to the subsequent device, where the SR is used to describe statistical information about transmission and reception of the current streaming media server 10 as a Sender member, and counts its own transmission condition to notify the subsequent device, and the SR includes an NTP (Network Time protocol) timestamp to indicate a Time background when the SR is sent.
And S120, receiving the receiver message returned by the post-stage equipment aiming at the sender message.
After receiving the SR packet, the post-recording device records an LSR (Time of Last Sender Report, 32 bits in the middle of the NTP timestamp) in the SR packet, constructs an RR (Receiver Report), and returns the RR (Receiver Report) to the streaming media server 10 at the previous stage, so as to describe statistical information of reception of the current post-stage device as a non-Sender member, where the RR packet includes a Time difference between receipt of the SR packet and current transmission of the RR packet.
And S130, calculating a second network delay between the streaming media server and the subsequent equipment according to the sender message and the receiver message.
When the current streaming media server 10 sends an SR packet and receives an RR packet returned by the subsequent device, the time when the streaming media server 10 receives the latest RR packet is set to be RnowThen the last RTT (Round-Trip Time, network Round Trip Time between sender and receiver) is:
RTT=Rnow-RLSR-RDLSRformula (1)
R in formula (1)LSRThe LSR field in the RR packet received by the streaming server 10 is stored for 32 bits in the middle of the NTP timestamp in the SR packet received by the subsequent device from the streaming server 10 most recently. RDLSRThe delay between the latest reception of the SR packet from the streaming server 10 by the subsequent device and the transmission of the RR packet is 1/65536 seconds, and the DLSR field is stored in the RR packet received by the streaming server 10. Therefore, the streaming media server 10 can calculate the round trip time RTT by using the RR packet related information fed back by the subsequent device. The second network delay between the streaming server 10 and the subsequent device is RTT/2.
And S140, calculating the local network delay between the sending client and the subsequent device according to the first network delay and the second network delay between the sending client and the streaming media server which are acquired in advance.
If the pre-acquired first network delay from the sending client 20 to the streaming media server 10 is t 'and the second network delay is t ″, the local network delay from the sending client 20 to the subsequent device is calculated to be t ═ t' + t ″.
And S150, based on the network time delay of the current stage, forwarding the streaming media data to be transmitted to the receiving client stage by stage.
Based on the local network time delay t between the sending client 20 and the subsequent device3The streaming media data to be transmitted can be forwarded from the subsequent device to the receiving client 30 stage by stage according to the RTCP protocol, so as to complete the transmission of the data from the sending client 20 to the receiving client 30.
In the embodiment, the network delay from the current streaming media server to the subsequent device is calculated through the sender message and the receiver message between the current streaming media server and the subsequent device, and then the network delay from the sending client to the subsequent device can be obtained according to the network delay from the sending client to the current streaming media server, so that the multi-level streaming media data can be transmitted from the sending client to the receiving client step by step.
On the basis of the streaming media transmission system provided in fig. 2, the present invention also provides a possible implementation manner of the data transmission method. Fig. 3 is a schematic flow chart of another data transmission method provided by the present invention. As shown in fig. 3, in the method, before calculating the current-stage network delay between the sending client and the subsequent device according to the first network delay and the second network delay obtained in advance between the sending client and the streaming media server in S140, the method further includes:
s135, receiving a first application data packet sent by a former stage device of the streaming media server.
The first application packet includes: a first network delay and streaming media data.
In order to transmit the data information of the first network delay, the current streaming media server 10 is to receive a first application Packet (APP) sent by the former-stage device, where the APP represents an application-specific function report and is customizable by the user. The first APP packet contains a first network delay from the previous stage device to the streaming server 10 and streaming media data transmitted from the sending client 20 to the receiving client 30.
Optionally, if the streaming media server is a first-level streaming media server, the former-level device is a sending client; or, if the streaming media server is any streaming media server behind the first-level streaming media server, the former-stage device is any streaming media server ahead of the streaming media server.
In this embodiment, if the streaming media server 10 is a first-level streaming media server, the former-level device is the sending client 20, that is, the first APP packet includes a first network delay between the sending client 20 and the directly connected first-level streaming media server and streaming media data that needs to be transmitted between the sending client 20 and the receiving client 30;
if the streaming media Server 10 is any streaming media Server behind the first-stage streaming media Server, the former-stage device is any streaming media Server before the streaming media Server 10, the connection between the former-stage device and the streaming media Server 10 is the connection between the Server and the Server, and a P2P connection is formed between the former-stage device and the streaming media Server 10 through an SFU communication architecture including a Proxy Server, so that the first APP packet includes the first network delay between the two stages of streaming media servers 10 and the streaming media data that needs to be transmitted between the sending client 20 and the receiving client 30.
In this embodiment, after the network delay is calculated according to the SR/RR packet, the end-to-end network delay including a plurality of service nodes can be calculated by transmitting the customized APP packet with the previous stage network delay to the next stage streaming media server, so as to facilitate monitoring in streaming media transmission.
On the basis of the streaming media transmission system provided in fig. 2, the present invention also provides a possible implementation manner of the data transmission method. Fig. 4 is a schematic flow chart of another data transmission method provided by the present invention. As shown in fig. 4, the method includes:
and S210, if the subsequent device is a subsequent media server behind the streaming media server, forwarding the streaming media data to the receiving client step by step based on the network delay of the current stage.
And S215, sending the second application data packet to the next-stage streaming media server.
The second application packet includes: the second application data packet is used for enabling the next-level streaming media server to forward the streaming media data to the receiving client side step by step based on the network delay of the current level.
In this embodiment, if the subsequent device is a next-stage media server after the streaming media server 10, the current streaming media server 10 sends a second APP packet to the next-stage connected streaming media server, where the second APP packet includes a current-stage network delay between the sending client 20 and the next-stage streaming media server and streaming media data to be transmitted, and the next-stage streaming media server obtains a network delay between the sending client 20 and the receiving client 30 by performing progressive accumulation based on the current-stage network delay, and forwards the streaming media data to the receiving client 30 step by step.
In this embodiment, by sending the network delay of the current stage between the client and the next-stage streaming media server and accumulating the network delay stage by stage until the streaming media data is transmitted to the receiving client, the end-to-end network delay containing a plurality of server nodes can be calculated, so as to realize the delay calculation in the streaming media data transmission and facilitate the adjustment of the transmission rate based on the network delay.
On the basis of the streaming media transmission system provided in fig. 2, the present invention also provides a possible implementation manner of the data transmission method. Fig. 5 is a schematic flow chart of another data transmission method provided by the present invention. As shown in fig. 5, the method includes:
and S310, if the post-stage equipment is the receiving client, forwarding the streaming media data to the receiving client stage by stage based on the network delay of the current stage.
And S315, sending the third application data packet to the receiving client.
The third application packet includes: the current-level network delay in the third application data packet is used for indicating the network delay between the sending client and the receiving client.
In this embodiment, if the current later device of the streaming media server 10 is a receiving client, the current network delay from the sending client 20 to the later device is the network delay between the sending client 20 and the receiving client 30. The third APP packet between the streaming media server 10 to the receiving client 30 includes the network latency between the sending client 20 and the receiving client 30 and the streaming media data that the sending client 20 needs to send.
In this embodiment, the current streaming media server is a server directly connected to the receiving client, and by directly transmitting the APP packet with the network delay of this stage to the receiving client, the end-to-end network delay including multiple server nodes can be calculated, so that the flexibility of streaming media data transmission is improved, and the streaming media data transmission is not limited to transmission between the sending end and the receiving end.
On the basis of the streaming media transmission system provided in fig. 1, the present invention also provides a possible implementation manner of the data transmission method. Fig. 6 is a schematic flow chart of a data transmission method provided by the present invention. As shown in fig. 6, a data transmission method applied to a sending client includes:
s410, sending the sender message to a first-level streaming media server in the multi-level streaming media servers.
When the method is executed by the sending client 20, an SR packet is sent to the first-stage streaming media server in the multi-stage streaming media server 10, which is directly connected to the sending client 20, and the SR packet includes an NTP timestamp indicating a time background when the SR packet is sent.
And S420, receiving a receiver message returned by the first-level streaming media server aiming at the sent message.
After the sending client 20 sends the SR packet to the first-level streaming media server, the first-level streaming media server constructs an RR packet and returns the RR packet to the sending client 20, where the RR packet includes the LSR and the DLSR.
S430, according to the sender message and the receiver message, calculating the local network delay between the sending client and the first-level streaming media server.
R 'according to SR packets and RR packets'LSRAnd R'DLSRIn conjunction with the time R at which the sending client 20 receives the RR packetnowThe local network delay RTT' between the sending client 20 and the first-level streaming media server can be calculated according to the formula (2).
RTT′=Rnow-R′LSR-R′DLSRFormula (2)
S440, sending the application data packet to the first-level streaming media server.
The application data packet includes: the application data packet is used for enabling the first-stage streaming media server to forward the streaming media data to the receiving client stage by stage based on the network delay of the current stage.
Specifically, after calculating the local network delay RTT ' between the sending client 20 and the first-stage streaming media server, the sending client 20 installs the RTT ' and the streaming media data to be transmitted, which needs to be transmitted to the receiving client 30, in an APP packet and sends the data to the first-stage streaming media server, and the first streaming media server may forward the streaming media data to the receiving client 30 step by step according to the RTT ' in the APP packet, and may superimpose and forward the network delay in the APP packet, so as to finally obtain the network delay between the sending client 20 and the receiving client 30, which contains the plurality of streaming media servers 10 therebetween. In one possible implementation, the network rate during transmission may be subsequently adjusted according to the network delay.
In this embodiment, the sending client sends an SR packet to the first-stage streaming media server connected to the sending client, calculates a network delay between the sending client and the first-stage streaming media server according to the RR packet returned, and sends the network delay to the first-stage streaming media server through the APP packet, so that the first-stage streaming media server can forward the network delay in the APP packet and streaming media data to be forwarded to the receiving client step by step according to the network delay in the APP packet and the streaming media data to be forwarded, and finally obtains the network delay from the sending client to the receiving client, thereby completing data transmission, enabling a transmission process of the streaming media data to be monitored, and facilitating judgment of a current network congestion condition.
Optionally, in a possible implementation manner, it is assumed that the current streaming media transmission system includes a sending client 20, N streaming media servers 10, and a receiving client 30; wherein N is more than or equal to 2.
In the current streaming media transmission system, the sending client 20 sends a first SR packet to the first-stage streaming media server connected to the sending client 20, and the first-stage streaming media server returns a first RR packet to the sending client 20, and calculates a network delay t from the sending client 20 to the first-stage streaming media server according to the first SR packet and the first RR packetS1Let tS1=t1Sending client 20 loads t1Sending the first APP packet to a first-level streaming media server;
the first-stage streaming media server sends a second SR packet to a second-stage streaming media server connected with the first-stage streaming media server, the second-stage streaming media server returns a second RR packet to the first-stage streaming media server, and the network time delay t from the first-stage streaming media server to the second-stage streaming media server is calculated according to the second SR packet and the second RR packet2(ii) a Meanwhile, the first-level streaming media server sends t1And t2Adding the second APP packet and sending the second APP packet to a second-level streaming media server; the network delay t between the sending client 20 and the second level streaming serverS2=t1+t2
By analogy, the nth level streaming server receives the napt packet sent from the nth-1 level streaming server, and loads the network delay t from the sending client 20 to the nth level streaming serverSN
Figure BDA0003424820160000121
When the nth level streaming media server and the receiving client 30 complete the (N + 1) th SR/RR packet transmission, the network delay t between the nth level streaming media server and the receiving client 30 is calculatedN+1(ii) a The nth level streaming media server will send the (N + 1) th APP packet to the receiving client 30, and load the network delay t from the sending client 20 to the receiving client 30SR
Figure BDA0003424820160000122
Based on the method, the network time delay between end to end with the multi-level streaming media server in the middle can be calculated, and the whole streaming media data transmission is conveniently monitored.
Fig. 7 is a schematic diagram of a data transmission apparatus provided in the present invention, as shown in fig. 7, the data transmission apparatus is applied to any streaming media server in a multi-level streaming media server, and includes:
a first sending module 1000, configured to send a sender packet to a subsequent device of the streaming media server;
a first receiving module 2000, configured to receive a receiver packet returned by the subsequent device for the sender packet;
the first processing module 3000 is configured to calculate a second network delay between the streaming media server and the subsequent device according to the sender packet and the receiver packet; calculating the local network delay between the sending client and the subsequent equipment according to the first network delay and the second network delay which are acquired in advance between the sending client and the streaming media server; and forwarding the streaming media data to be transmitted to the receiving client step by step based on the network delay of the current stage.
Optionally, the first processing module 3000 is further specifically configured to receive a first application data packet sent by a front-stage device of the streaming media server, where the first application data packet includes: a first network delay and streaming media data.
Optionally, the first processing module 3000 is further specifically configured to, if the streaming media server is a first-level streaming media server, determine that the preceding-stage device is a sending client; or, if the streaming media server is any streaming media server behind the first-level streaming media server, the former-stage device is the streaming media server ahead of the first-level streaming media server.
Optionally, the first processing module 3000 is further specifically configured to, if the subsequent device is a next-stage media server behind the streaming media server, forward the streaming media data to the receiving client step by step based on the network delay of the current stage, and includes: and sending a second application data packet to the next-level streaming media server, wherein the second application data packet comprises: the second application data packet is used for enabling the next-level streaming media server to forward the streaming media data to the receiving client side step by step based on the network delay of the current level.
Optionally, the first processing module 3000 is further specifically configured to, if the subsequent device is a receiving client, forward the streaming media data to the receiving client stage by stage based on the network delay of the current stage, and includes: sending a third application data packet to the receiving client, the third application data packet comprising: the current-level network delay in the third application data packet is used for indicating the network delay between the sending client and the receiving client.
Fig. 8 is a schematic diagram of another data transmission apparatus provided in the present invention, as shown in fig. 8, the data transmission apparatus, applied to a sending client, includes:
a second sending module 4000, configured to send a sender packet to a first-level streaming media server in the multi-level streaming media servers;
a second receiving module 5000, configured to receive a receiver packet returned by the first-level streaming media server for the sender packet;
the second processing module 6000 is used for calculating the local network delay from the sending client to the first-level streaming media server according to the sender message and the receiver message; sending an application data packet to the first-level streaming media server, wherein the application data packet comprises: the application data packet is used for enabling the first-stage streaming media server to forward the streaming media data to a receiving client stage by stage based on the local-stage network delay.
These above modules may be one or more integrated circuits configured to implement the above methods, such as: one or more Application Specific Integrated Circuits (ASICs), or one or more Digital Signal Processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs), etc. For another example, when one of the above modules is implemented in the form of a Processing element scheduler code, the Processing element may be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. For another example, the modules may be integrated together and implemented in the form of a System-on-a-Chip (SOC).
Fig. 9 is a schematic diagram of a streaming media server provided in the present invention, where the streaming media server may be a computing device or a server with a computing processing function.
The streaming server 10 includes: a first transmitter 11, a first receiver 12, a first processor 13 and a first bus 14, wherein the first transmitter 11, the first receiver 12 and the first processor 13 are connected through the first bus 14;
a first sender 11, configured to send a sender packet to a subsequent device of the streaming media server;
a first receiver 12, configured to receive a receiver packet returned by a subsequent device for a sender packet;
the first processor 13 is configured to calculate a second network delay between the streaming media server and the subsequent device according to the sender packet and the receiver packet; calculating the local network delay between the sending client and the subsequent equipment according to the first network delay and the second network delay which are acquired in advance between the sending client and the streaming media server; and forwarding the streaming media data to be transmitted to the receiving client step by step based on the network delay of the current stage.
Optionally, the first processor 13 is specifically further configured to receive a first application data packet sent by a front-stage device of the streaming media server, where the first application data packet includes: a first network delay and streaming media data.
Optionally, the first processor 13 is further specifically configured to, if the streaming media server is a first-level streaming media server, use the preceding-stage device as a sending client; or, if the streaming media server is any streaming media server behind the first-level streaming media server, the former-stage device is the streaming media server ahead of the first-level streaming media server.
Optionally, the first processor 13 is specifically configured to, if the subsequent device is a next-stage media server after the streaming media server, forward the streaming media data to the receiving client step by step based on the network delay of the current stage, and includes: and sending a second application data packet to the next-level streaming media server, wherein the second application data packet comprises: the second application data packet is used for enabling the next-level streaming media server to forward the streaming media data to the receiving client side step by step based on the network delay of the current level.
Optionally, the first processor 13 is specifically configured to, if the subsequent device is a receiving client, forward the streaming media data to the receiving client stage by stage based on the network delay of the current stage, and includes: sending a third application data packet to the receiving client, the third application data packet comprising: the current-level network delay in the third application data packet is used for indicating the network delay between the sending client and the receiving client.
In a possible implementation manner, the streaming media server 10 further includes a first storage medium, and the first storage medium stores program instructions executable by the first processor 13, and when the streaming media server 10 runs, the first processor 13 executes the program instructions to implement the foregoing embodiment.
Fig. 10 is a schematic diagram of a sending client according to the present invention, where the sending client may be a computing device or a server with a computing processing function.
The sending client 20 includes: a second transmitter 21, a second receiver 22, a second processor 23, and a second bus 24, wherein the second transmitter 21, the second receiver 22, and the second processor 23 are connected via the second bus 24;
a second sender 21, configured to send a sender packet to a first-level streaming media server in the multiple-level streaming media servers;
a second receiver 22, configured to receive a receiver packet returned by the first-level streaming media server for the sender packet;
the second processor 23 is configured to calculate a local network delay from the sending client to the first-level streaming media server according to the sender packet and the receiver packet; sending an application data packet to a first-level streaming media server, wherein the application data packet comprises: the application data packet is used for enabling the first-stage streaming media server to forward the streaming media data to the receiving client stage by stage based on the network delay of the current stage.
In a possible implementation manner, the sending client 20 further includes a second storage medium, and the second storage medium stores program instructions executable by the second processor 23, and when the sending client 20 runs, the second processor 23 executes the program instructions to implement the foregoing embodiment.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
The integrated unit implemented in the form of a software functional unit may be stored in a computer readable storage medium. The software functional unit is stored in a storage medium and includes several instructions to enable a computer device (which may be a personal computer, a server, or a network device) or a Processor (Processor) to execute some steps of the methods according to the embodiments of the present invention. And the aforementioned storage medium includes: a U disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above description is only for the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any changes or substitutions that can be easily conceived by those skilled in the art within the technical scope of the present invention are included in the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the appended claims.

Claims (10)

1. A data transmission method, applied to any one of multiple levels of streaming media servers, the method comprising:
sending a sender message to a post-stage device of the streaming media server;
receiving a receiver message returned by the post-stage equipment aiming at the sender message;
calculating a second network delay between the streaming media server and the post-stage device according to the sender message and the receiver message;
calculating the local network delay between the sending client and the subsequent equipment according to the first network delay between the sending client and the streaming media server and the second network delay which are acquired in advance;
and forwarding the streaming media data to be transmitted to a receiving client stage by stage based on the network time delay of the current stage.
2. The method according to claim 1, wherein before calculating the current-level network delay between the client and the streaming media server according to the pre-obtained first network delay between the sending client and the streaming media server and the second network delay, the method further comprises:
receiving a first application data packet sent by a preceding stage device of the streaming media server, wherein the first application data packet comprises: the first network delay and the streaming media data.
3. The method according to claim 2, wherein if the streaming server is a first-level streaming server, the former-level device is the sending client; alternatively, the first and second electrodes may be,
and if the streaming media server is any streaming media server behind the first-stage streaming media server, the preceding-stage equipment is any streaming media server ahead of the streaming media server.
4. The method according to claim 1, wherein if the subsequent device is a subsequent media server after the streaming media server, the forwarding the streaming media data to a receiving client stage by stage based on the current-stage network delay includes:
sending a second application data packet to the next-level streaming media server, wherein the second application data packet comprises: the second application data packet is used for enabling the next-stage streaming media server to forward the streaming media data to the receiving client stage by stage based on the current-stage network delay.
5. The method according to claim 1, wherein if the subsequent device is a receiving client, the step-by-step forwarding the streaming media data to the receiving client based on the current-stage network delay includes:
sending a third application data packet to the receiving client, the third application data packet comprising: the local network delay in the third application data packet is used for indicating the network delay between the sending client and the receiving client.
6. A data transmission method, applied to a sending client, the method comprising:
sending a sender message to a first-level streaming media server in the multi-level streaming media servers;
receiving a receiver message returned by the first-level streaming media server aiming at the sender message;
calculating the local network time delay between the sending client and the first-level streaming media server according to the sender message and the receiver message;
sending an application data packet to the first-level streaming media server, wherein the application data packet comprises: the application data packet is used for enabling the first-stage streaming media server to forward the streaming media data to a receiving client stage by stage based on the local-stage network delay.
7. A data transmission apparatus, applied to any one of multiple levels of streaming media servers, the apparatus comprising:
the first sending module is used for sending a sender message to a post-stage device of the streaming media server;
the first receiving module is used for receiving a receiver message returned by the post-stage equipment aiming at the sender message;
the first processing module is used for calculating a second network delay between the streaming media server and the post-stage equipment according to the sender message and the receiver message; calculating the local network delay between the sending client and the subsequent equipment according to the first network delay between the sending client and the streaming media server and the second network delay which are acquired in advance; and forwarding the streaming media data to be transmitted to a receiving client stage by stage based on the network time delay of the current stage.
8. A data transmission apparatus, applied to a sending client, the apparatus comprising:
the second sending module is used for sending the sender message to a first-level streaming media server in the multi-level streaming media servers;
a second receiving module, configured to receive a receiver packet returned by the first-level streaming media server for the sender packet;
the second processing module is used for calculating the local network time delay between the sending client and the first-level streaming media server according to the sender message and the receiver message; sending an application data packet to the first-level streaming media server, wherein the application data packet comprises: the application data packet is used for enabling the first-stage streaming media server to forward the streaming media data to a receiving client stage by stage based on the local-stage network delay.
9. A streaming media server, comprising: the system comprises a first transmitter, a first receiver, a first processor and a first bus, wherein the first transmitter, the first receiver and the first processor are connected through the first bus;
the first sender is used for sending a sender message to a post-stage device of the streaming media server;
the first receiver is used for receiving a receiver message returned by the post-stage equipment aiming at the sender message;
the first processor is configured to calculate a second network delay between the streaming media server and the subsequent device according to the sender packet and the receiver packet; calculating the local network delay between the sending client and the subsequent equipment according to the first network delay between the sending client and the streaming media server and the second network delay which are acquired in advance; and forwarding the streaming media data to be transmitted to a receiving client stage by stage based on the network time delay of the current stage.
10. A sending client, comprising: the second transmitter, the second receiver and the second processor are connected through the second bus;
the second sender is used for sending a sender message to a first-level streaming media server in the multi-level streaming media servers;
the second receiver is configured to receive a receiver packet returned by the first-level streaming media server for the sender packet;
the second processor is configured to calculate a local network delay between the sending client and the first-level streaming media server according to the sender packet and the receiver packet; sending an application data packet to the first-level streaming media server, wherein the application data packet comprises: the application data packet is used for enabling the first-stage streaming media server to forward the streaming media data to a receiving client stage by stage based on the local-stage network delay.
CN202111574541.1A 2021-12-21 2021-12-21 Data transmission method and device, streaming media server and sending client Active CN114221886B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111574541.1A CN114221886B (en) 2021-12-21 2021-12-21 Data transmission method and device, streaming media server and sending client

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111574541.1A CN114221886B (en) 2021-12-21 2021-12-21 Data transmission method and device, streaming media server and sending client

Publications (2)

Publication Number Publication Date
CN114221886A true CN114221886A (en) 2022-03-22
CN114221886B CN114221886B (en) 2023-05-12

Family

ID=80704818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111574541.1A Active CN114221886B (en) 2021-12-21 2021-12-21 Data transmission method and device, streaming media server and sending client

Country Status (1)

Country Link
CN (1) CN114221886B (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937543A (en) * 2006-10-20 2007-03-28 北京邮电大学 Hop-by-hop transferred distributed flow media transmission performance test method and device
CN103532931A (en) * 2013-09-24 2014-01-22 北京星网锐捷网络技术有限公司 Method and system for testing transmission performance of data stream, and server
WO2018125686A2 (en) * 2016-12-30 2018-07-05 Intel Corporation Methods and devices for radio communications
WO2019156935A1 (en) * 2018-02-12 2019-08-15 Futurewei Technologies, Inc. Latency guarantee for multimedia streaming service to a moving subscriber
CN110446122A (en) * 2019-05-31 2019-11-12 广东电网有限责任公司 A kind of cross-domain collaboration resource allocation methods of fiber radio integration network
CN110583008A (en) * 2017-03-22 2019-12-17 思杰系统有限公司 Method for DNS response reordering based on path quality and connection priority for better QOS
CN110708597A (en) * 2019-10-12 2020-01-17 腾讯科技(深圳)有限公司 Live broadcast delay monitoring method and device, electronic equipment and readable storage medium
CN111034254A (en) * 2017-10-27 2020-04-17 华为技术有限公司 Method and device for reducing network delay
US20200225655A1 (en) * 2016-05-09 2020-07-16 Strong Force Iot Portfolio 2016, Llc Methods, systems, kits and apparatuses for monitoring and managing industrial settings in an industrial internet of things data collection environment
US20200280511A1 (en) * 2019-02-28 2020-09-03 T-Mobile Usa, Inc. Qos for latency-sensitive network-traffic flows
EP3739523A1 (en) * 2019-05-14 2020-11-18 Nvidia Corporation Using decay parameters for inferencing with neural networks

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937543A (en) * 2006-10-20 2007-03-28 北京邮电大学 Hop-by-hop transferred distributed flow media transmission performance test method and device
CN103532931A (en) * 2013-09-24 2014-01-22 北京星网锐捷网络技术有限公司 Method and system for testing transmission performance of data stream, and server
US20200225655A1 (en) * 2016-05-09 2020-07-16 Strong Force Iot Portfolio 2016, Llc Methods, systems, kits and apparatuses for monitoring and managing industrial settings in an industrial internet of things data collection environment
WO2018125686A2 (en) * 2016-12-30 2018-07-05 Intel Corporation Methods and devices for radio communications
CN110583008A (en) * 2017-03-22 2019-12-17 思杰系统有限公司 Method for DNS response reordering based on path quality and connection priority for better QOS
CN111034254A (en) * 2017-10-27 2020-04-17 华为技术有限公司 Method and device for reducing network delay
WO2019156935A1 (en) * 2018-02-12 2019-08-15 Futurewei Technologies, Inc. Latency guarantee for multimedia streaming service to a moving subscriber
US20200280511A1 (en) * 2019-02-28 2020-09-03 T-Mobile Usa, Inc. Qos for latency-sensitive network-traffic flows
EP3739523A1 (en) * 2019-05-14 2020-11-18 Nvidia Corporation Using decay parameters for inferencing with neural networks
CN110446122A (en) * 2019-05-31 2019-11-12 广东电网有限责任公司 A kind of cross-domain collaboration resource allocation methods of fiber radio integration network
CN110708597A (en) * 2019-10-12 2020-01-17 腾讯科技(深圳)有限公司 Live broadcast delay monitoring method and device, electronic equipment and readable storage medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MING-CHIN CHUANG: "A Mobile Proxy Architecture for Video Services Over High-Speed Rail Environments in LTE-A Networks" *
向雄;: "基于SDN网络的流媒体组播实现" *
王晴;张晋豫;宋晓莉;: "P2P流媒体系统服务节点选择机制研究与仿真" *

Also Published As

Publication number Publication date
CN114221886B (en) 2023-05-12

Similar Documents

Publication Publication Date Title
CN107508719B (en) Method and device for measuring network time delay and network node
CN110192394B (en) Method and server for transmitting media content through network
CN106612284B (en) Streaming data transmission method and device
JP6337105B2 (en) Method for adapting a download operation of a client terminal configured to receive multimedia content and corresponding terminal
US9173006B2 (en) Method for live broadcasting in a distributed network and apparatus for the same
JP2004519113A (en) Distributed network management system and method
JP2017516336A (en) Transport accelerator that implements extended transmission control functionality
CN103283255A (en) Method for providing an adaptive streaming service
US11005975B2 (en) Rapid optimization of media stream bitrate
US20110096849A1 (en) Optimized selection of transmission protocol respecting thresholds
CN112491658B (en) Bandwidth estimation method and device, electronic equipment and computer-readable storage medium
KR20160106701A (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
JP6578999B2 (en) Packet analysis program, packet analysis method, and packet analysis device
CN111355667A (en) Data transmission method, device, system and computer readable storage medium
GB2559271A (en) Managing congestion response during content delivery
EP3560152B1 (en) Determining the bandwidth of a communication link
US8209433B2 (en) Congestion management and latency prediction in CSMA media
CN114221886B (en) Data transmission method and device, streaming media server and sending client
Šošić et al. Resolving poor TCP performance on high-speed long distance links—Overview and comparison of BIC, CUBIC and Hybla
CN107547620B (en) Response time obtaining method and device
CN115037416A (en) Data forward error correction processing method, device, electronic equipment and storage medium
CN111371888B (en) Multi-source data transmission system and method based on erasure coding
KR102327204B1 (en) Method and terminal for transmitting and receiving data
CN116248172B (en) Data transmission method, device and storage medium based on TCP/IP protocol and CCSDS protocol
KR20160018335A (en) Method and terminal for transmitting and receiving data

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