CN115001632A - Information transmission method and device, electronic equipment and readable storage medium - Google Patents

Information transmission method and device, electronic equipment and readable storage medium Download PDF

Info

Publication number
CN115001632A
CN115001632A CN202210653459.6A CN202210653459A CN115001632A CN 115001632 A CN115001632 A CN 115001632A CN 202210653459 A CN202210653459 A CN 202210653459A CN 115001632 A CN115001632 A CN 115001632A
Authority
CN
China
Prior art keywords
data packet
retransmission
retransmission request
maximum
lost data
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.)
Pending
Application number
CN202210653459.6A
Other languages
Chinese (zh)
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.)
Migu Cultural Technology Co Ltd
China Mobile Communications Group Co Ltd
Original Assignee
Migu Cultural Technology Co Ltd
China Mobile Communications 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 Migu Cultural Technology Co Ltd, China Mobile Communications Group Co Ltd filed Critical Migu Cultural Technology Co Ltd
Priority to CN202210653459.6A priority Critical patent/CN115001632A/en
Publication of CN115001632A publication Critical patent/CN115001632A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The application provides an information transmission method, an information transmission device, an electronic device and a readable storage medium, wherein the method comprises the following steps: receiving first information sent by second equipment, wherein the first information comprises a plurality of data packets; determining a missing data packet of the plurality of data packets; determining the maximum retransmission request times of the lost data packet, wherein the maximum retransmission request times are determined according to the data content of the lost data packet; and sending a retransmission request to the second equipment based on the maximum retransmission request times so as to enable the second equipment to retransmit the lost data packet within the maximum retransmission request times. The application can improve the retransmission effect.

Description

Information transmission method and device, electronic equipment and readable storage medium
Technical Field
The present application relates to the field of communications technologies, and in particular, to an information transmission method and apparatus, an electronic device, and a readable storage medium.
Background
In a Real-Time communication technology (Web Real Time Communications, Web RTC) Real-Time audio/video system, data generated by a sending end is encoded by an encoder and then encapsulated into a small data packet which is arranged in order, the small data packet is sent to a network, a receiving end receives the data packet and then sorts the data packet according to a sequence number of the packet, if a lost data packet is found, the receiving end immediately sends a packet loss retransmission (Non-acknowledgement, Nack) packet to request the sending end to re-send the data packet, and the retransmission effect is poor.
Disclosure of Invention
The application provides an information transmission method, an information transmission device, an electronic device and a readable storage medium, which are used for solving the problem of poor retransmission effect.
In a first aspect, an embodiment of the present application provides an information transmission method, which is applied to a first device, and includes:
receiving first information sent by second equipment, wherein the first information comprises a plurality of data packets;
determining a missing data packet of the plurality of data packets;
determining the maximum retransmission request times of the lost data packet, wherein the maximum retransmission request times are determined according to the data content of the lost data packet;
and sending a retransmission request to the second equipment based on the maximum retransmission request times so as to enable the second equipment to retransmit the lost data packet within the maximum retransmission request times.
In a second aspect, an embodiment of the present application further provides an information transmission method, which is applied to a second device, and includes:
sending first information to a first device, wherein the first information comprises a plurality of data packets;
receiving a retransmission request sent by the first device under the condition that a lost data packet exists in the plurality of data packets;
and retransmitting the lost data packet according to the retransmission request, wherein the retransmission request is sent by the first device based on the maximum retransmission request times, and the maximum retransmission request times are determined by the first device according to the data content of the lost data packet.
In a third aspect, an embodiment of the present application further provides an information transmission apparatus, which is applied to a first device, and includes:
the first receiving module is used for receiving first information sent by second equipment, and the first information comprises a plurality of data packets;
a first determining module for determining a missing data packet of the plurality of data packets;
a second determining module, configured to determine a maximum number of retransmission requests of the lost data packet, where the maximum number of retransmission requests is determined according to data content of the lost data packet;
a first sending module, configured to send a retransmission request to the second device based on the maximum retransmission request times, so that the second device retransmits the lost data packet within the maximum retransmission request times.
In a fourth aspect, an embodiment of the present application further provides an information transmission apparatus, which is applied to a second device, and includes:
a second sending module, configured to send first information to a first device, where the first information includes a plurality of data packets;
a second receiving module, configured to receive a retransmission request sent by the first device when a missing data packet exists in the multiple data packets;
and a retransmission module, configured to retransmit the lost data packet according to the retransmission request, where the retransmission request is sent by the first device based on a maximum number of retransmission requests, and the maximum number of retransmission requests is determined by the first device according to the data content of the lost data packet.
In a fifth aspect, embodiments of the present application further provide an electronic device, including a processor and a memory, where the memory stores a program or instructions executable on the processor, and the program or instructions, when executed by the processor, implement the steps of the information transmission method according to the first aspect, or implement the steps of the information transmission method according to the second aspect.
In a sixth aspect, the present embodiments also provide a readable storage medium, on which a program or instructions are stored, where the program or instructions, when executed by a processor, implement the steps of the information transmission method according to the first aspect, or implement the steps of the information transmission method according to the second aspect.
In the embodiment of the application, when a data packet is lost in an information transmission process, the maximum retransmission request times of the lost data packet is determined according to the data content of the lost data packet, and a retransmission request is sent to the second device based on the maximum retransmission request times, so that the second device retransmits the lost data packet within the maximum retransmission request times, and thus, the maximum retransmission request times of each lost data packet can be determined according to the data content of the lost data packet, that is, the retransmission times can be set for each lost data packet differently according to the data content of the lost data packet, but not the same retransmission times are set for all the lost data packets, so that the retransmission effect is improved.
Drawings
In order to more clearly illustrate the technical solutions of the present application, the drawings needed to be used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings without inventive exercise.
Fig. 1 is a schematic flowchart of an information transmission method according to an embodiment of the present application;
fig. 2 is a schematic diagram of retransmission of a lost data packet according to an embodiment of the present application;
fig. 3 is a second schematic flowchart of an information transmission method according to an embodiment of the present application;
fig. 4 is a third schematic flowchart of an information transmission method according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a video frame rendering time provided by an embodiment of the present application;
fig. 6 is a second schematic diagram of a rendering time of a video frame according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of an information transmission apparatus according to an embodiment of the present application;
fig. 8 is a second schematic structural diagram of an information transmission device according to an embodiment of the present application;
fig. 9 is a schematic structural diagram of an electronic device provided in an embodiment of the present application;
fig. 10 is a second schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some, but not all, embodiments of the present application. 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 application.
The terms "first," "second," and the like in the embodiments of the present application are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus. Further, as used herein, "and/or" means at least one of the connected objects, e.g., a and/or B and/or C, means 7 cases including a alone, B alone, C alone, and both a and B present, B and C present, both a and C present, and A, B and C present.
Referring to fig. 1, fig. 1 is a schematic flowchart of an information transmission method according to an embodiment of the present disclosure, where the method is applied to a first device. As shown in fig. 1, the information transmission method includes the following steps:
step 101, receiving first information sent by a second device, where the first information includes a plurality of data packets.
Under the scenes of video delivery, live broadcast and the like, the first equipment is a data receiving end, the second equipment is a data sending end, and the first equipment receives and processes data sent by the first equipment; under the scenes of video call and the like, both sides can transmit data to the opposite terminal, so that each terminal is a data receiving terminal when receiving data sent by the opposite terminal, and each terminal is a data sending terminal when sending data to the opposite terminal.
It is understood that the first information may include audio data, video data, and the like, in a scenario of a voice call, a voice conference, and the like, the first information may include only audio data, in a scenario of a video conference, a live video, and the like, the first information may include audio data and video data, and in a data transmission process, a Padding (Padding) data packet may also be added.
Step 102, determining a missing data packet in the plurality of data packets.
And 103, determining the maximum retransmission request times of the lost data packet, wherein the maximum retransmission request times are determined according to the data content of the lost data packet.
In the data transmission process, the second device may encapsulate data into a plurality of data packets arranged in order, and then send the data packets to the first device, and after receiving the plurality of data packets, the first device sorts the plurality of data packets according to sequence numbers of the data packets, and if the sequence numbers are discontinuous, the sequence number that does not exist in the received plurality of data packets is the sequence number of the lost data packet. That is, whether a missing data packet exists can be determined by whether the sequence numbers of the plurality of data packets are consecutive, and when the sequence numbers of the plurality of data packets are not consecutive, the missing data packet can be determined, and the sequence number of the missing data packet is the missing sequence number in the discontinuous sequence numbers, so that the missing data packet can be determined by the sequence number.
For example, as shown in fig. 2, if the second device transmits data packets to the first device according to a data transmission queue, and a data packet with a sequence number of "5" is missing in a data reception queue of the first device, a request for retransmission of the data packet with the sequence number of "5" may be made to the second device through a NACK request packet.
In the prior art, the same maximum retransmission request times are usually set for all lost data packets, and after the maximum retransmission request times are exceeded, the lost data packets are not retransmitted no matter whether the lost data packets are acquired or not.
In this embodiment, the corresponding maximum retransmission request times may be determined according to the data content of the lost data packet, and the retransmission times of the lost data packet with the largest retransmission request times are greater than the retransmission times of the lost data packet with the smallest maximum retransmission request times. Specifically, a larger maximum retransmission request frequency can be set for the lost data packet containing important content, and the lost data packet containing important content can be successfully retransmitted through multiple retransmissions; and for the lost data packet which does not contain important content or has lower importance degree of the data content, the maximum retransmission request times can be set to be smaller, and the power consumption is reduced. For example, the maximum retransmission request times for the lost key frame data packets may be greater than the maximum retransmission request times for the lost padding data packets, so that the maximum retransmission request times are set for each lost data packet differently according to the data content of the lost data packets, and the retransmission effect is improved.
And 104, sending a retransmission request to the second device based on the maximum retransmission request times, so that the second device retransmits the lost data packet within the maximum retransmission request times.
Specifically, the retransmission request may include a sequence number of the lost data packet, so that the second device may determine the data packet to be retransmitted according to the sequence number in the retransmission request. When the number of times of retransmission of the lost packet does not exceed the maximum number of times of retransmission requests, a retransmission request may be sent to the second device, so that the second device may determine the lost packet according to the sequence number and retransmit the lost packet; or, no matter whether the retransmitted number of times of the lost data packet exceeds the maximum retransmitted number of times, a retransmission request is sent to the second device, the retransmission request may include the maximum retransmitted number of times, the second device determines whether the retransmitted number of times of the lost data packet exceeds the maximum retransmitted number of times, and retransmits the lost data packet if the retransmitted number of times of the lost data packet does not exceed the maximum retransmitted number of times, so that the second device may retransmit the lost data packet within the maximum retransmitted number of times.
Optionally, the retransmission request may further include a retransmission priority of the lost data packet, and a retransmission order of the data packet with the higher retransmission priority level is earlier than a retransmission order of the data packet with the lower retransmission priority level, that is, an order of the data packet with the higher retransmission priority level is earlier when the data packet is retransmitted, so that the data packet with the higher retransmission priority level may be retransmitted first.
Specifically, the retransmission request may be sent to the second device in the form of a NACK request packet, and a sequence number of the missing data packet is recorded in the NACK request packet to inform the second device of the missing data packet, and a retransmission priority of the missing data packet is recorded in the NACK request packet to inform the second device of the retransmission priority of the missing data packet, for example, the priority level of the missing data packet.
After receiving the retransmission request sent by the first device, the second device may determine a lost packet based on the sequence number, and obtain a retransmission priority of the lost packet, for example, when the number 5 packet, the number 13 packet, and the number 15 packet are lost, the first device determines that the priority of the number 5 packet is the highest, the priority of the number 15 packet is the second highest, and the priority of the number 13 packet is the lowest, so when the second device inserts the number 5 packet, the number 13 packet, and the number 15 packet into a data transmission queue for retransmission, in the data transmission queue, the order of transmission of the lost packets should be: the data packet No. 5, the data packet No. 13 and the data packet No. 15 are used to ensure that the data packet with high priority can be retransmitted preferentially.
In the embodiment of the application, when a data packet is lost in an information transmission process, the maximum retransmission request times of the lost data packet is determined according to the data content of the lost data packet, and a retransmission request is sent to the second device based on the maximum retransmission request times, so that the second device retransmits the lost data packet within the maximum retransmission request times, and thus, the maximum retransmission request times of each lost data packet can be determined according to the data content of the lost data packet, that is, the retransmission times can be set for each lost data packet differently according to the data content of the lost data packet, but not the same retransmission times are set for all the lost data packets, so that the retransmission effect is improved.
Optionally, the retransmission request includes a retransmission priority of the lost data packet, the higher the retransmission priority level is, the shorter the retransmission time interval is, and the retransmission priority is determined according to the data content of the lost data packet.
Specifically, in the process of retransmitting the lost data packet, the data packet with higher retransmission priority can be inserted into the front position in the transmission queue, and the data packet with lower retransmission priority is inserted into the rear position in the transmission queue, so that the retransmission sequence of the data packet with higher retransmission priority is earlier than that of the data packet with lower retransmission priority, that is, the retransmission time interval of the data packet with higher priority is shorter during retransmission, so that the data packet with higher priority can be retransmitted first, thereby ensuring that the data packet with higher retransmission priority can be retransmitted preferentially, and improving the retransmission effect.
The retransmission sequence of the lost data packets with high retransmission priority level is earlier than the retransmission sequence of the lost data packets with low retransmission priority level, that is, the retransmission time interval of the lost data packets with high retransmission priority level is smaller than the retransmission time interval of the lost data packets with low retransmission priority level, so that the lost data packets with high retransmission priority level can be retransmitted preferentially, that is, the lost data packets with high retransmission priority level can be retransmitted successfully preferentially.
The data content may include a specific data type of the lost data packet, for example, the data packet may be an audio data packet, a video data packet, or a Padding data packet.
It should be noted that, in the embodiments of the present application, priorities among various data contents may be set in advance, for example, the priority of an audio data packet is set as the highest priority, the priority of a video data packet is set as the second highest priority, and the priority of a Padding data packet is set as the lowest priority.
Moreover, among a plurality of lost packets of the same type of data content, the retransmission order of a plurality of packets of the same priority may be ordered according to their respective sequence numbers, for example, in the case where there are two audio packets lost, the retransmission order of the audio packet with the smaller sequence number is earlier than the retransmission order of the audio packet with the larger sequence number.
In addition, the retransmission order among a plurality of lost packets of the same data content may be determined by the first device and then notified to the second device in the retransmission priority, or the first device may determine a priority only according to the data content of the packets and notify the second device, and the second device may determine the retransmission order of the plurality of packets of the same priority according to the sequence number.
It should be noted that, in the case where there are a plurality of video data packets lost, the first device may determine whether the lost data packet is a key frame data packet based on the sequence numbers of other received video data packets and the lost data packet, and when determining the retransmission priority of the lost data packet, may determine that the priority of the lost key frame data packet is higher than that of the lost non-key frame data packet. In addition, in the embodiment of the present application, when there is a plurality of non-critical frame data packets lost, different priorities may be set among the plurality of lost non-critical frame data packets, for example, the received data packets may be sorted by sequence number and divided into a plurality of segments, and the lost non-critical frame data packets located in different segments may be set with different priorities.
Optionally, the determining the maximum retransmission request times of the lost data packet in step 103 includes:
determining a retransmission priority of the lost data packet;
obtaining the current receiving link delay and packet loss rate;
determining the maximum retransmission request times of the lost data packet based on the receiving link delay, the packet loss rate and the retransmission priority;
in step 104, said sending a retransmission request to the second device based on the maximum number of retransmission requests includes:
and sending a retransmission request to the second device when the number of times of retransmitted requests of the lost data packet is less than the maximum number of times of retransmitted requests.
Wherein, the retransmission priority of the lost data packet can be determined according to the data content of the lost data packet.
Specifically, the maximum retransmission request frequency of the lost data packet is inversely proportional to the receive link delay, that is, the larger the receive link delay is, the smaller the maximum retransmission request frequency of the lost data packet is, under the condition that other variables are fixed; the maximum retransmission request frequency of the lost data packet is proportional to the retransmission priority, that is, the retransmission priority is higher when other variables are fixed, the maximum retransmission request frequency of the lost data packet is higher, the retransmission priority can be represented by using the priority, of course, if the priority is lower, the priority is higher, the maximum retransmission request frequency of the lost data packet is inversely proportional to the priority, and if the priority is higher, the maximum retransmission request frequency of the lost data packet is proportional to the priority; when the packet loss rate is smaller than a certain threshold, the maximum retransmission request frequency of the lost data packet is proportional to the packet loss rate, that is, when other variables are fixed, the larger the packet loss rate is, the larger the maximum retransmission request frequency of the lost data packet is; when the packet loss rate is greater than or equal to a certain threshold, the maximum number of retransmission requests for the lost data packet is inversely proportional to the packet loss rate, that is, when other variables are fixed, the larger the packet loss rate is, the smaller the maximum number of retransmission requests for the lost data packet is.
Before sending the retransmission request to the second device, it may be determined whether the number of times of retransmission requests of the lost data packet is smaller than the maximum number of times of retransmission requests, and if so, the retransmission request may be sent to the second device. Specifically, each time the first device sends a retransmission request to the second device, the requested number of times of the lost data packet corresponding to the retransmission request may be recorded, so that before a retransmission request for the lost data packet is sent next time, it may be determined whether the requested number of times of the retransmission request for the lost data packet exceeds the maximum retransmission request number, thereby ensuring that the lost data packet is retransmitted within the maximum retransmission request number.
In this embodiment, the maximum retransmission request number of the lost data packet is determined based on the receiving link delay, the packet loss rate, and the retransmission priority, and a retransmission request is sent to the second device when the retransmission request number of the lost data packet is smaller than the maximum retransmission request number, that is, the maximum retransmission request number of the lost data packet can be flexibly determined according to the receiving link delay, the packet loss rate, and the priority, so that the lost data packet with a higher priority can be retransmitted preferentially, and the maximum retransmission request number of the lost data packet is determined based on the receiving link delay, the packet loss rate, and the priority, so that the retransmission capability of the data packet can meet the requirement of no packet loss of the video as much as possible.
Optionally, after receiving the first information sent by the second device in step 101 and before sending a retransmission request to the second device in step 104, the method may further include the following steps:
receiving second information sent by second equipment;
the sending a retransmission request to the second device when the number of times of retransmitted requests is less than the maximum number of times of retransmitted requests comprises:
and under the condition that the second information does not comprise the key frame data packet, if the number of times of the retransmitted requests is less than the maximum number of times of the retransmitted requests, transmitting a retransmission request to the second equipment.
It is to be understood that the second information is located after the first information in the data transmission queue of the second device, and for example, the second information may be a plurality of data packets of a next video frame sequence of the first information.
It should be noted that, in the case that the second information includes a key frame data packet, the maximum retransmission request number may be set to 0, so that, no matter whether the lost data packet is retransmitted before, it is not necessary to request the second device to retransmit the lost data packet at this time, so that the data packet in the information after the first information can be decoded and rendered as soon as possible, and the smoothness of the whole information transmission is improved.
In this embodiment, when the second information does not include a key frame data packet, if the number of times of retransmission requests is less than the maximum number of times of retransmission requests, a retransmission request is sent to the second device, so that the data packet of the first information can be completely received as much as possible without affecting processing of the second information, thereby improving the effect of information retransmission.
Optionally, the first information comprises a plurality of video frames, and each video frame comprises at least two data packets;
after receiving the first information sent by the second device in step 101, the method further includes:
determining jitter delay of a target video frame in network transmission under the condition that no lost data packet exists in at least two data packets included in the target video frame, wherein the target video frame is any one of the video frames;
determining a minimum time delay for uniform out-framing of the target video frame;
determining a target jitter delay for the target video frame based on the jitter delay and the minimum delay;
and decoding and rendering at least two data packets included in the target video frame based on the target jitter delay.
It should be noted that the target video frame is any video frame in which no missing data packet exists in the first information, and video framing is performed on the video frame in which no missing data packet exists, that is, decoding and rendering are performed according to the target jitter delay.
Before framing a video, it may be determined whether a lost data packet exists in each received video frame, and video framing may be performed only for video frames without the lost data packet.
Specifically, the jitter delay of the target video frame in network transmission may be determined by using a kalman filter algorithm, and when there are many lost data packets in the first information, the jitter delay determined by using the kalman filter algorithm is usually 0, so as to achieve an effect of immediately rendering the video frame. However, in the instant rendering, the received video frames are not rendered in a uniformly distributed manner within a certain time, and the pace of rendering the video frames is inconsistent, which easily causes the occurrence of video rendering long pause.
Specifically, the minimum delay may be determined based on the current network environment condition, for example, the minimum delay for uniform framing of the video frame may be determined by the current receive link delay, the transmission frame interval for the second device to transmit information during a period of time, the reception frame interval for the first device to receive information during a period of time, and the like.
Specifically, the target jitter delay may be the greater of the jitter delay and the minimum delay, so that, even in a weak network environment, the jitter delay of the target video frame in network transmission is small, and the video frame can be decoded and rendered according to the minimum delay, thereby avoiding a long pause phenomenon caused by directly decoding and rendering the video frame based on the jitter delay. The finally determined target jitter time delay can be larger than or equal to the minimum time delay by determining the minimum time delay of uniform frame output of the target video frame, decoding and rendering of a data packet are performed based on the target jitter time delay, and the video frame can be rendered in a uniformly distributed manner, namely, the video rendering speed and the video rendering speed are kept consistent, so that the video rendering long-pause phenomenon is effectively avoided.
Optionally, the determining a minimum time delay for uniform frame out of the target video frame includes:
acquiring a maximum sending frame interval and an average sending frame interval of the first information sent by the second equipment within a preset time, and a maximum receiving frame interval and an average receiving frame interval of the first equipment;
acquiring a stuck threshold of a current receiving link;
determining the minimum delay based on the stuck threshold, the maximum transmit frame interval, the average transmit frame interval, the maximum receive frame interval, and the average receive frame interval.
The maximum sending frame interval can be obtained by recording sending time intervals between all adjacent frames within the preset time, selecting the maximum sending frame interval as the maximum sending frame interval, and calculating the average sending frame interval by calculating the average value of the sending time intervals between all adjacent frames; the maximum received frame interval may be obtained by recording the received time intervals between all adjacent frames within the preset time, and selecting the largest one as the maximum received frame interval, and the average received frame interval may be obtained by calculating an average of the received time intervals between all adjacent frames.
The morton threshold may be obtained by monitoring a current receiving link, and specifically, in a current network environment, monitoring that a lowest allowable video frame rate is F min Frames per second, then the stuck threshold is noted as T as =1/F min 1000 (unit: ms).
In addition, in the embodiment of the present application, the upper limit coefficient W of the stuck threshold may be set according to an actual application scenario s For example, in a scenario where real-time performance is highly required, the upper limit factor W s Can be set to 1, i.e. the above-mentioned stuck threshold T will be exceeded as The frame interval of 1 is regarded as stuck, and in a scene with low real-time requirement, the upper limit coefficient may be set to a value greater than 1, such as 2, i.e. 2 times T over the stuck threshold as The frame interval of 2 is considered stuck.
Specifically, the maximum transmission frame interval is denoted as T sm The average transmission frame interval is denoted as T avg_send The maximum received frame interval is denoted as T rm Averaging the received frame interval T avg_recv . In the embodiment of the present application, a time interval between two latest video frame renderings may also be recorded as a current video frame rendering time interval T stall
At the above average transmission frame interval T avg_send <T as And the current video frame rendering interval T stall >T as And a maximum transmission frame interval T sm <T as *W s When it is, let T e =T as (ii) a In other cases, let T e =T stall *S t (S t The default value is 0.8 for controlling the coefficient, and the size can be adjusted according to the scene requirement); further, the minimum delay required to uniform out the frame is determined: t is z =max(T sm -T avgsend -T e /2,T rm -T avg_recv -T e /2)。
In this embodiment, the minimum delay is determined based on the stuck threshold, the maximum sending frame interval, the average sending frame interval, the maximum receiving frame interval, and the average receiving frame interval, so that the minimum delay can be made to conform to the current network environment, and the accuracy of the minimum delay is improved.
Referring to fig. 3, fig. 3 is a second schematic flow chart of an information transmission method according to an embodiment of the present application, where the method is applied to a second device. As shown in fig. 3, the information transmission method includes the following steps:
step 301, sending first information to a first device, where the first information includes a plurality of data packets;
step 302, receiving a retransmission request sent by the first device when a lost data packet exists in the plurality of data packets;
step 303, retransmitting the lost data packet according to the retransmission request, where the retransmission request is sent by the first device based on a maximum retransmission request number, and the maximum retransmission request number is determined by the first device according to the data content of the lost data packet.
In this embodiment of the present application, the second device retransmits the lost data packet according to the retransmission request, where the retransmission request is sent by the first device based on a maximum number of retransmission requests, and the maximum number of retransmission requests is determined by the first device according to data content of the lost data packet, so that the second device can retransmit the lost data packet within the maximum number of requests, and the larger the maximum number of retransmission requests is, the more the number of retransmissions can be performed, thereby improving a retransmission effect of the data packet.
Optionally, the retransmission request includes a retransmission priority of the lost data packet, the higher the retransmission priority level is, the shorter the retransmission time interval is, and the retransmission priority is determined by the first device according to the data content of the lost data packet.
Optionally, the retransmitting the lost data packet according to the retransmission request in step 303 includes:
and under the condition that the number of times of the retransmitted request of the lost data packet is less than the maximum number of times of the retransmitted request, retransmitting the lost data packet according to the retransmitted request.
It should be noted that, the information transmission method provided in this embodiment of the present application is applied to the second device, and corresponds to the method in the embodiment described in fig. 1, and a specific implementation procedure and related concepts may refer to the description in the embodiment of the method described in fig. 1, and in order to avoid repetition, this embodiment is not described again.
For better understanding, the following describes the information transmission method provided by the present application with a specific embodiment, as shown in fig. 4, the information transmission method includes the following steps:
step 1, a video sending end sends video data packets according to sequence numbers in sequence;
step 2, the video receiving end starts to receive the video data packet;
step 3, the video receiving end caches the received video data;
step 4, the video receiving end judges whether the video data in the buffer queue meets the video framing condition: if yes, executing step 11, otherwise, executing step 5;
step 5, when the video receiving end receives one video data packet, judging whether the received video data packet is lost; if the loss exists, executing the step 6, if the loss does not exist, not processing;
step 6, the video receiving end judges the content of the lost data according to the serial number of the lost data, thereby judging the importance of the lost data packet and setting the retransmission priority L r n (smaller n indicates greater priority, larger n indicates lesser priority, e.g., L r 1 is higher than L in priority r Priority indicated by 2);
wherein the retransmission priority L r n can be determined as follows:
(1) if the lost data packet is an audio data packet, setting the priority of the retransmission packet to be the highest priority L according to the existing logic of the Web RTC r 1;
(2) If the lost data packet is a video retransmission packet and belongs to a video key frame, setting the retransmission priority as L r 2, all videos can be guaranteed to be decoded normally only by retransmitting as soon as possible;
(3) if the lost data packet is a video retransmission packet and the lost data packet does not belong to a video key frame, dividing the received video data cache queue into N segments (the packet sequence numbers between every two segments are continuous), and sequentially setting the priority level to L from front to back of the cache queue r 3……L r (N +2) whereinThe size of N can be flexibly controlled according to the scene requirement;
(4) WebRTC can start RTX protocol, and Padding data packet sets retransmission priority as L r (N+3);
Step 7, the video receiving end obtains the current receiving packet loss rate L through the Webrtc system v Video receiving link delay R v Retransmission priority L r N, calculating the maximum number of times N that the pack sends Nack request r
Wherein the maximum number of lost packets N r The calculation method is as follows:
(1) acquiring the real-time packet loss rate L of the current video receiving end through a WebRTC real-time audio-video system v Current link delay R v Retransmission priority L r n and the missing data packet sequence number;
(2) at the current link delay R v Retransmission times N less than a certain threshold r =X*(R v *a)*(b/L v )*(c/n);
At the current link delay R v Retransmission times N when the number of retransmissions is greater than or equal to a certain threshold r =X*(R v *a)*(L v *b)*(c/n);
Wherein, X is Web RTC default retransmission times (10 times), a is a link delay expansion coefficient, b is a current packet loss rate expansion coefficient, c is a retransmission priority expansion coefficient, and n is a retransmission priority L r The size of n;
(3) if the key frame data packets of the next video frame sequence have been received and the current video frame sequence data packets have not been completely collected, setting the maximum retransmission request times of all lost data packets of the current video frame sequence data packets to be 0, not retransmitting the old frame sequence set data packets, and preferentially satisfying the transmission of the latest video frame sequence data packets;
step 8, the video receiving end judges whether the current packet sequence number is retransmitted beyond the maximum retransmission request times N r If yes, not retransmitting, ending the process; if not, executing step 9;
step 9, the video receiving end sets the priority of a retransmission data packet in the Nack packet, sends the Nack packet to the sending end, requests to retransmit the data packet, and records the Nack request times that the data packet has been sent;
step 10, after the video sending end receives the Nack request packet, the set retransmission priority L is obtained r n is according to L r n, inserting the data packet to be retransmitted into the corresponding position of the data transmission queue, and continuing to execute the step 1;
as shown in fig. 2, when the receiving end finds that the data packet No. 5 is lost, the receiving end sends a Nack request packet to the sending end to apply for retransmission of the data packet No. 5.
Step 11, the step is carried out to the step 4, if the cached video data received by the video receiving end meets the video framing condition, the receiving end starts to frame the received data packet at the moment;
step 12, calculating jitter delay T caused by the current video frame in network transmission by the received video frame through a Kalman filtering algorithm k (ii) a The received video frame is processed by the self-developed anti-jitter algorithm of the embodiment of the application to calculate the jitter delay T caused by the current video frame in network transmission z
Wherein, the self-developed anti-jitter algorithm of the embodiment of the application is used for calculating the jitter delay T z The specific process is as follows:
(1) recording a period of time T c Video transmission frame interval G send Gathering;
the video sending time refers to a time value of an abs _ send _ time of a last data packet in a received current video frame (abs _ send _ time is an absolute sending time value in the existing logic of the Web RTC); the video sending time frame interval is the difference value of the video sending time of two received adjacent video frames;
(2) recording a period of time T c Video reception frame interval G recv Gathering;
the video receiving time refers to the absolute receiving time of the last data packet in the received current video frame; the video receiving time frame interval is the difference value of the video receiving time of two received adjacent video frames;
(3) recording a period of time T c Maximum video transmission frame interval T sm
Wherein the video maximum transmission frame interval T sm I.e. the video transmission frame interval G send A maximum frame interval in the set;
(4) recording a period of time T c Video maximum received frame interval T rm
Wherein the video maximum received frame interval T rm I.e. the video reception frame interval G recv A maximum frame interval in the set;
(5) calculating a period of time T c Inter-frame transmission frame interval average value T of intra-frame and video-frame avg_send The calculation mode is T avg_send =G send Sum of aggregate values/G send The number of elements in the set;
(6) calculating the receiving interval average value T of the receiving end within a period of time Tc avg_recv The calculation mode is T avg_recv =G recv Sum of aggregate values/G recv The number of elements in the set;
(7) recording the latest video rendering pause time length T stall ,T stall The difference between the last two rendered video frames;
(8) determining a maximum out-frame interval threshold T according to the average sending frame interval of the video frames e
i. Defining the lowest allowable video frame rate in weak network as F min Frames per second;
defining a weak network card pause threshold: t is as =1/F min 1000 (unit: ms);
iii, defining a weak network card pause threshold upper limit coefficient W s ,W s Default is 2, and the size can be adjusted according to scene needs;
video frame average transmission frame interval T avg_send <T as And count the time T of the pause stall >T as And the maximum transmission interval T of the video frame sm <T as *W s When, T e =T as
v. under other conditions of the reaction mixture,T e =T stall *S t ,S t the default value is 0.8 for controlling the coefficient, and the size can be adjusted according to the scene requirement;
(9) calculating the minimum time delay required for uniformly outputting the frame: t is a unit of z =max(T sm -T avgsend -T e /2,T rm -T avg_recv -T e /2);
Step 13, obtaining T k And T z The larger of the two values is used as the jitter delay T of the jitter buffer f
I.e. T f =max(T z ,T k );
Step 14, according to the existing WebRTC process, calculating T obtained in step 13 f Combined with decoding delay T decode Rendering delay T render And audio and video synchronous delay time, and calculating to obtain final rendering delay time T of the current frame d
In particular, by comparing T f -T decode -T render The larger of the delay time synchronous with the audio and video is taken as the final rendering delay time T of the current frame d Wherein the decoding is delayed by T decode The synchronous audio and video delay time can be determined based on the WebRTC existing logic algorithm, and the rendering delay T render The existing logic in WebRTC is fixed to 10 ms.
Step 15, passing T d Time, judging whether the decoding time (decoding time: T) is reached d -T decode -T render ) After the decoding time is reached, sending the video frame to a decoder for decoding;
and step 16, after the decoding is finished, the obtained video original data is delivered to a renderer for video rendering, and the process is finished.
In the above packet loss scene, the video frame rendering time obtained based on the WebRTC native kalman filter calculation is shown in fig. 5, and the video frame rendering time obtained based on the self-developed anti-jitter algorithm in the embodiment of the present application is shown in fig. 6.
In the embodiment of the application, under the scene of data packet loss, the retransmission priority of the lost data packet is calculated through the packet loss serial number; and according to different priorities of lost packets, different link packet loss rates and different link delays, dynamic calculation is carried out to obtain the maximum differentiated Nack request times, so that important data packets are retransmitted as many times as possible on the premise of meeting the network quality requirement. And the retransmission data packet is timely inserted into a corresponding position at the sending end according to the priority set in the Nack request packet, so that the requirement that the data packet with high priority is sent preferentially is met.
In addition, at a video receiving end, according to the self-researched anti-jitter network delay algorithm provided by the embodiment of the application and in combination with the WebRTC native Kalman filtering algorithm, in a packet loss scene, by adding a small amount of delay, the obtained video frames can be rendered uniformly, the video is prevented from being long and blocked, the smoothness and stability of the video are improved, and the watching experience of a user is improved.
Referring to fig. 7, fig. 7 is a schematic structural diagram of an information transmission device according to an embodiment of the present application. As shown in fig. 7, the information transmission apparatus 700 includes:
a first receiving module 701, configured to receive first information sent by a second device, where the first information includes a plurality of data packets;
a first determining module 702, configured to determine a missing data packet in the plurality of data packets.
A second determining module 703, configured to determine the maximum retransmission request times of the lost data packet, where the maximum retransmission request times are determined according to the data content of the lost data packet;
a first sending module 704, configured to send a retransmission request to the second device based on the maximum retransmission request times, so that the second device retransmits the lost data packet within the maximum retransmission request times.
Optionally, the retransmission request includes a retransmission priority of the lost data packet, the higher the retransmission priority level is, the shorter the retransmission time interval is, and the retransmission priority is determined according to the data content of the lost data packet.
Optionally, the second determining module 703 includes:
a first determining unit, configured to determine a retransmission priority of the lost data packet;
the first obtaining unit is used for obtaining the current receiving link delay and the packet loss rate;
a second determining unit, configured to determine a maximum retransmission request number of the lost data packet based on the receiving link delay, the packet loss rate, and the retransmission priority;
the first sending module 704 includes:
a sending unit, configured to send a retransmission request to the second device when the number of times of retransmission requests of the lost data packet is smaller than the maximum number of times of retransmission requests.
Optionally, the information transmission apparatus 700 further includes:
the third receiving module is used for receiving second information sent by the second equipment;
the sending unit is further configured to:
and under the condition that the second information does not comprise the key frame data packet, if the number of times of the retransmitted requests is less than the maximum number of times of the retransmitted requests, transmitting a retransmission request to the second equipment.
Optionally, the first information comprises a plurality of video frames, and each video frame comprises at least two data packets;
the information transmission apparatus 700 further includes:
a third determining module, configured to determine, when there is no missing data packet in at least two data packets included in a target video frame, a jitter delay of the target video frame in network transmission, where the target video frame is any one of the video frames;
a fourth determining module, configured to determine a minimum time delay for uniform frame out of the target video frame;
a fifth determining module, configured to determine a target jitter delay of the target video frame based on the jitter delay and the minimum delay;
and the decoding module is used for decoding and rendering at least two data packets included in the target video frame based on the target jitter delay.
Optionally, the fourth determining module includes:
a second obtaining unit, configured to obtain a maximum sending frame interval and an average sending frame interval of the first information sent by the second device within a preset time, and a maximum receiving frame interval and an average receiving frame interval of the first device;
a third obtaining unit, configured to obtain a stuck threshold of a current receiving link;
a third determining unit, configured to determine the minimum delay based on the stuck threshold, the maximum sending frame interval, the average sending frame interval, the maximum receiving frame interval, and the average receiving frame interval.
The information transmission apparatus 700 can implement each process of the method embodiment in fig. 1 in the embodiment of the present application, and achieve the same beneficial effects, and is not described herein again to avoid repetition.
Referring to fig. 8, fig. 8 is a schematic structural diagram of an information transmission device according to an embodiment of the present application. As shown in fig. 8, the information transmission apparatus 800 includes:
a second sending module 801, configured to send first information to a first device, where the first information includes multiple data packets;
a second receiving module 802, configured to receive a retransmission request sent by the first device when there is a missing data packet in the multiple data packets;
a retransmission module 803, configured to retransmit the lost data packet according to the retransmission request, where the retransmission request is sent by the first device based on a maximum number of retransmission requests, and the maximum number of retransmission requests is determined by the first device according to the data content of the lost data packet.
Optionally, the retransmission request includes a retransmission priority of the lost data packet, and the higher the retransmission priority is, the shorter the retransmission time interval is, and the retransmission priority is determined by the first device according to the data content of the lost data packet.
Optionally, the retransmission module 803 includes:
and the retransmission unit is used for retransmitting the lost data packet according to the retransmission request under the condition that the number of times of the retransmitted request of the lost data packet is less than the maximum number of times of the retransmitted request.
The information transmission apparatus 800 can implement each process of the method embodiment in fig. 2 in the embodiment of the present application, and achieve the same beneficial effects, and for avoiding repetition, the details are not described here again.
The embodiment of the application also provides the electronic equipment. Because the principle of the electronic device for solving the problem is similar to the information transmission method shown in fig. 1 in the embodiment of the present application, the implementation of the electronic device may refer to the implementation of the method, and repeated details are not repeated. As shown in fig. 9, the electronic device of the embodiment of the present application includes a memory 920, a transceiver 910, a processor 900;
a memory 920 for storing a computer program; a transceiver 910 for transceiving data under the control of the processor 900; a processor 900 for reading the computer program in the memory 920 and performing the following operations:
receiving first information sent by second equipment, wherein the first information comprises a plurality of data packets;
determining a missing data packet of the plurality of data packets;
determining the maximum retransmission request times of the lost data packet, wherein the maximum retransmission request times are determined according to the data content of the lost data packet;
and sending a retransmission request to the second equipment based on the maximum retransmission request times so as to enable the second equipment to retransmit the lost data packet within the maximum retransmission request times.
In fig. 9, among other things, the bus architecture may include any number of interconnected buses and bridges, with one or more processors, represented by processor 900, and various circuits, represented by memory 920, being linked together. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further herein. The bus interface provides an interface. The transceiver 910 may be a number of elements, including a transmitter and a transceiver, providing a means for communicating with various other apparatus over a transmission medium. The processor 900 is responsible for managing the bus architecture and general processing, and the memory 920 may store data used by the processor 900 in performing operations.
The processor 900 may be a Central Processing Unit (CPU), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), or a Complex Programmable Logic Device (CPLD), and may also have a multi-core architecture.
Optionally, the retransmission request includes a retransmission priority of the lost data packet, the higher the retransmission priority level is, the shorter the retransmission time interval is, and the retransmission priority is determined according to the data content of the lost data packet.
Optionally, the determining the maximum number of retransmission requests of the lost data packet includes:
determining a retransmission priority of the lost data packet;
obtaining the current receiving link delay and packet loss rate;
determining the maximum retransmission request times of the lost data packet based on the receiving link delay, the packet loss rate and the retransmission priority;
the sending a retransmission request to the second device based on the maximum number of retransmission requests includes:
and sending a retransmission request to the second device when the number of times of retransmitted requests of the lost data packet is less than the maximum number of times of retransmitted requests.
Optionally, the processor 900 is further configured to read the computer program in the memory 920 and perform the following operations:
receiving second information sent by second equipment;
the sending a retransmission request to the second device when the number of times of retransmission requests is less than the maximum number of times of retransmission requests includes:
and under the condition that the second information does not comprise the key frame data packet, if the number of times of the retransmitted requests is less than the maximum number of times of the retransmitted requests, transmitting a retransmission request to the second equipment.
Optionally, the first information comprises a plurality of video frames, and each video frame comprises at least two data packets;
a processor 900 further configured to read the computer program in the memory 920 and perform the following operations:
determining jitter delay of a target video frame in network transmission under the condition that no lost data packet exists in at least two data packets included in the target video frame, wherein the target video frame is any one of the video frames;
determining a minimum time delay for uniform out-framing of the target video frame;
determining a target jitter delay for the target video frame based on the jitter delay and the minimum delay;
and decoding and rendering at least two data packets included in the target video frame based on the target jitter delay.
Optionally, the determining a minimum time delay for uniform frame out of the target video frame includes:
acquiring a maximum sending frame interval and an average sending frame interval of the first information sent by the second equipment within a preset time, and a maximum receiving frame interval and an average receiving frame interval of the first equipment;
acquiring a stuck threshold of a current receiving link;
determining the minimum delay based on the stuck threshold, the maximum transmit frame interval, the average transmit frame interval, the maximum receive frame interval, and the average receive frame interval.
The electronic device provided in the embodiment of the present application may execute the method embodiment shown in fig. 1, which has similar implementation principles and technical effects, and this embodiment is not described herein again.
The embodiment of the application further provides the electronic equipment. Because the principle of the electronic device for solving the problem is similar to the information transmission method shown in fig. 2 in the embodiment of the present application, the implementation of the electronic device may refer to the implementation of the method, and repeated details are not repeated. As shown in fig. 10, the electronic device of the embodiment of the present application includes a memory 1020, a transceiver 1010, a processor 1000;
a memory 1020 for storing a computer program; a transceiver 1010 for transceiving data under the control of the processor 1000; a processor 1000 for reading the computer program in the memory 1020 and performing the following operations:
sending first information to a first device, wherein the first information comprises a plurality of data packets;
receiving a retransmission request sent by the first device under the condition that a lost data packet exists in the plurality of data packets;
and retransmitting the lost data packet according to the retransmission request, wherein the retransmission request is sent by the first device based on the maximum retransmission request times, and the maximum retransmission request times is determined by the first device according to the data content of the lost data packet.
Where in fig. 10, the bus architecture may include any number of interconnected buses and bridges, with various circuits being linked together, particularly one or more processors represented by processor 1000 and memory represented by memory 1020. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further herein. The bus interface provides an interface. The transceiver 1010 may be a number of elements including a transmitter and a transceiver providing a means for communicating with various other apparatus over a transmission medium. The processor 1000 is responsible for managing the bus architecture and general processing, and the memory 1020 may store data used by the processor 1000 in performing operations.
The processor 1000 may be a Central Processing Unit (CPU), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), or a Complex Programmable Logic Device (CPLD), and may also have a multi-core architecture.
Optionally, the retransmission request includes a retransmission priority of the lost data packet, the higher the retransmission priority level is, the shorter the retransmission time interval is, and the retransmission priority is determined by the first device according to the data content of the lost data packet.
Optionally, the retransmitting the lost data packet according to the retransmission request includes:
and under the condition that the number of times of the retransmitted request of the lost data packet is less than the maximum number of times of the retransmitted request, retransmitting the lost data packet according to the retransmitted request.
The electronic device provided in the embodiment of the present application may execute the method embodiment shown in fig. 2, which has similar implementation principles and technical effects, and this embodiment is not described herein again.
An embodiment of the present application further provides a readable storage medium, where a program or an instruction is stored on the readable storage medium, and when the program or the instruction is executed by a processor, the program or the instruction implements each process of the method embodiment shown in fig. 1 or fig. 2, and can achieve the same technical effect, and in order to avoid repetition, details are not repeated here.
The processor is the processor in the electronic device described in the above embodiment. The readable storage medium includes a computer readable storage medium, such as a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and so on.
An embodiment of the present application further provides a chip, where the chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is configured to execute a program or an instruction to implement each process of the method embodiment shown in fig. 1 or fig. 2, and the same technical effect can be achieved, and details are not repeated here to avoid repetition.
It should be understood that the chips mentioned in the embodiments of the present application may also be referred to as system-on-chip, system-on-chip or system-on-chip, etc.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element identified by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element. Further, it should be noted that the scope of the methods and apparatus of the embodiments of the present application is not limited to performing the functions in the order illustrated or discussed, but may include performing the functions in a substantially simultaneous manner or in a reverse order based on the functions involved, e.g., the methods described may be performed in an order different than that described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solutions of the present application may be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) and includes instructions for enabling a terminal (such as a mobile phone, a computer, a server, or a network device) to execute the method according to the embodiments of the present application.
While the present embodiments have been described with reference to the accompanying drawings, it is to be understood that the present embodiments are not limited to those precise embodiments, which are intended to be illustrative rather than restrictive, and that various changes and modifications may be effected therein by one skilled in the art without departing from the scope of the appended claims.

Claims (13)

1. An information transmission method applied to a first device, the method comprising:
receiving first information sent by second equipment, wherein the first information comprises a plurality of data packets;
determining a missing data packet of the plurality of data packets;
determining the maximum retransmission request times of the lost data packet, wherein the maximum retransmission request times are determined according to the data content of the lost data packet;
and sending a retransmission request to the second equipment based on the maximum retransmission request times so as to enable the second equipment to retransmit the lost data packet within the maximum retransmission request times.
2. The method of claim 1, wherein the retransmission request comprises a retransmission priority for the lost data packet, the higher the retransmission priority level the shorter the retransmission time interval, the retransmission priority determined according to the data content of the lost data packet.
3. The method of claim 2, wherein said determining the maximum number of retransmission requests for the missing data packet comprises:
determining a retransmission priority of the lost data packet;
obtaining the current receiving link delay and packet loss rate;
determining the maximum retransmission request times of the lost data packet based on the receiving link delay, the packet loss rate and the retransmission priority;
the sending a retransmission request to the second device based on the maximum number of retransmission requests includes:
and sending a retransmission request to the second device when the number of times of retransmitted requests of the lost data packet is less than the maximum number of times of retransmitted requests.
4. The method of claim 3, wherein after receiving the first information sent by the second device, and before sending a retransmission request to the second device, the method further comprises:
receiving second information sent by second equipment;
the sending a retransmission request to the second device when the number of times of retransmitted requests is less than the maximum number of times of retransmitted requests comprises:
and under the condition that the second information does not comprise the key frame data packet, if the number of times of the retransmitted requests is less than the maximum number of times of the retransmitted requests, transmitting a retransmission request to the second equipment.
5. The method of any of claims 1-4, wherein the first information comprises a plurality of video frames, and each video frame comprises at least two data packets;
after receiving the first information sent by the second device, the method further comprises:
determining the jitter delay of a target video frame in network transmission under the condition that lost data packets do not exist in at least two data packets included in the target video frame, wherein the target video frame is any one of the video frames;
determining a minimum time delay for uniform out-framing of the target video frame;
determining a target jitter delay for the target video frame based on the jitter delay and the minimum delay;
and decoding and rendering at least two data packets included in the target video frame based on the target jitter delay.
6. The method of claim 5, wherein the determining a minimum latency for uniform out-of-frame of the target video frame comprises:
acquiring a maximum sending frame interval and an average sending frame interval of the second equipment sending the first information within a preset time, and a maximum receiving frame interval and an average receiving frame interval of the first equipment;
acquiring a stuck threshold of a current receiving link;
determining the minimum delay based on the stuck threshold, the maximum transmit frame interval, the average transmit frame interval, the maximum receive frame interval, and the average receive frame interval.
7. An information transmission method applied to a second device, the method comprising:
sending first information to a first device, wherein the first information comprises a plurality of data packets;
receiving a retransmission request sent by the first device under the condition that a lost data packet exists in the plurality of data packets;
and retransmitting the lost data packet according to the retransmission request, wherein the retransmission request is sent by the first device based on the maximum retransmission request times, and the maximum retransmission request times are determined by the first device according to the data content of the lost data packet.
8. The method of claim 7, wherein the retransmission request comprises a retransmission priority for the lost data packet, the higher the retransmission priority level the shorter the retransmission time interval, the retransmission priority determined by the first device based on the data content of the lost data packet.
9. The method of claim 7, wherein the retransmitting the missing data packet in accordance with the retransmission request comprises:
and under the condition that the times of the retransmitted requests of the lost data packet are less than the maximum times of the retransmitted requests, retransmitting the lost data packet according to the retransmission requests.
10. An information transmission apparatus applied to a first device, comprising:
the first receiving module is used for receiving first information sent by second equipment, and the first information comprises a plurality of data packets;
a first determining module for determining a missing data packet of the plurality of data packets;
a second determining module, configured to determine a maximum number of retransmission requests for the lost data packet, where the maximum number of retransmission requests is determined according to data content of the lost data packet;
a first sending module, configured to send a retransmission request to the second device based on the maximum number of retransmission requests, so that the second device retransmits the lost data packet within the maximum number of retransmission requests.
11. An information transmission apparatus applied to a second device, comprising:
a second sending module, configured to send first information to a first device, where the first information includes a plurality of data packets;
a second receiving module, configured to receive a retransmission request sent by the first device when a missing data packet exists in the multiple data packets;
and a retransmission module, configured to retransmit the lost data packet according to the retransmission request, where the retransmission request is sent by the first device based on a maximum number of retransmission requests, and the maximum number of retransmission requests is determined by the first device according to the data content of the lost data packet.
12. An electronic device comprising a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions when executed by the processor implementing the steps of the information transmission method of any one of claims 1 to 6 or implementing the steps of the information transmission method of any one of claims 7 to 9.
13. A readable storage medium, characterized in that a program or instructions are stored thereon, which program or instructions, when executed by a processor, carry out the steps of the information transmission method according to any one of claims 1 to 6, or carry out the steps of the information transmission method according to any one of claims 7 to 9.
CN202210653459.6A 2022-06-09 2022-06-09 Information transmission method and device, electronic equipment and readable storage medium Pending CN115001632A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210653459.6A CN115001632A (en) 2022-06-09 2022-06-09 Information transmission method and device, electronic equipment and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210653459.6A CN115001632A (en) 2022-06-09 2022-06-09 Information transmission method and device, electronic equipment and readable storage medium

Publications (1)

Publication Number Publication Date
CN115001632A true CN115001632A (en) 2022-09-02

Family

ID=83032329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210653459.6A Pending CN115001632A (en) 2022-06-09 2022-06-09 Information transmission method and device, electronic equipment and readable storage medium

Country Status (1)

Country Link
CN (1) CN115001632A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117061827A (en) * 2023-08-17 2023-11-14 广州开得联软件技术有限公司 Image frame processing method, device, equipment and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1130839A1 (en) * 2000-03-02 2001-09-05 Matsushita Electric Industrial Co., Ltd. Method and apparatus for retransmitting video data frames with priority levels
CN102013962A (en) * 2009-09-04 2011-04-13 华为技术有限公司 Data transmission method and equipment
CN103814582A (en) * 2013-11-05 2014-05-21 华为技术有限公司 Data transmission method, data receiving device and data sending device for video service
CN105450969A (en) * 2014-06-16 2016-03-30 联想(北京)有限公司 Real-time video data transmission method and electronic equipment
CN107147481A (en) * 2017-07-19 2017-09-08 北京数码视讯科技股份有限公司 Packet loss repeating method, device and electronic equipment
CN107294661A (en) * 2016-03-30 2017-10-24 中兴通讯股份有限公司 Method of adjustment, device and the base station of hybrid automatic repeat-request maximum retransmission
CN111740808A (en) * 2019-03-25 2020-10-02 华为技术有限公司 Data transmission method and device
CN113422923A (en) * 2021-06-22 2021-09-21 苏州市科远软件技术开发有限公司 Method and device for determining retransmission times, electronic equipment and storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1130839A1 (en) * 2000-03-02 2001-09-05 Matsushita Electric Industrial Co., Ltd. Method and apparatus for retransmitting video data frames with priority levels
CN102013962A (en) * 2009-09-04 2011-04-13 华为技术有限公司 Data transmission method and equipment
CN103814582A (en) * 2013-11-05 2014-05-21 华为技术有限公司 Data transmission method, data receiving device and data sending device for video service
CN105450969A (en) * 2014-06-16 2016-03-30 联想(北京)有限公司 Real-time video data transmission method and electronic equipment
CN107294661A (en) * 2016-03-30 2017-10-24 中兴通讯股份有限公司 Method of adjustment, device and the base station of hybrid automatic repeat-request maximum retransmission
CN107147481A (en) * 2017-07-19 2017-09-08 北京数码视讯科技股份有限公司 Packet loss repeating method, device and electronic equipment
CN111740808A (en) * 2019-03-25 2020-10-02 华为技术有限公司 Data transmission method and device
CN113422923A (en) * 2021-06-22 2021-09-21 苏州市科远软件技术开发有限公司 Method and device for determining retransmission times, electronic equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117061827A (en) * 2023-08-17 2023-11-14 广州开得联软件技术有限公司 Image frame processing method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
US10542064B2 (en) Method, server side and system for computing bandwidth of network transmission of streaming media
CN107342848B (en) Self-adaptive code stream transmission method, device and equipment
CN110881135B (en) Method, device, equipment and medium for optimizing microphone-connected transmission protocol
CN110049011A (en) Method and apparatus for media data delivering control
JP2001274861A (en) Method and device for data transmission
JP2024509728A (en) Data retransmission processing method, device, computer equipment and computer program
CN112104562B (en) Congestion control method and device, communication network and computer storage medium
US10230651B2 (en) Effective intra-frame refresh in multimedia communications over packet networks
US7739399B2 (en) Device and process for adjusting the bit rate of a stream of contents and associated products
CN112995048B (en) Blocking control and scheduling fusion method of data center network and terminal equipment
MX2011013684A (en) Method and device for fast pushing unicast stream in fast channel change.
US7203184B2 (en) Data transmitter, data receiver, and data transmitting/receiving method
CN110312150A (en) A kind of video frame transmission method, system and server
CN115001632A (en) Information transmission method and device, electronic equipment and readable storage medium
CN110602568B (en) Video stream transmission packet loss retransmission method, device and storage device based on RTP
CN111917525B (en) Data transmission method, device, equipment and readable storage medium
CN113612580A (en) Screen updating transmission method based on fountain code coding strategy and redundancy self-adaption
CN116318545A (en) Video data transmission method, device, equipment and storage medium
CN114979793A (en) Live broadcast data transmission method, device, system, equipment and medium
Kritzner et al. Priority based packet scheduling with tunable reliability for wireless streaming
CN116996649B (en) Screen projection method and device, storage medium and electronic equipment
CN117221244A (en) Data transmission control method and device, electronic equipment and storage medium
CN117220838A (en) Data packet transmission method, device, equipment and storage medium
CN116471261A (en) Real-time interactive video stream optimization method and system for shielding cellular network jitter
CN117614590A (en) Method, device and equipment for determining redundancy code rate based on hybrid retransmission

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