CN110661995A - Packet loss retransmission method and system for video group call - Google Patents

Packet loss retransmission method and system for video group call Download PDF

Info

Publication number
CN110661995A
CN110661995A CN201810694960.0A CN201810694960A CN110661995A CN 110661995 A CN110661995 A CN 110661995A CN 201810694960 A CN201810694960 A CN 201810694960A CN 110661995 A CN110661995 A CN 110661995A
Authority
CN
China
Prior art keywords
packet
rtp packet
video
terminal
retransmission
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
CN201810694960.0A
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.)
Chengdu Dingqiao Communication Technology Co Ltd
TD Tech Chengdu Co Ltd
Original Assignee
Chengdu Dingqiao Communication Technology 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 Chengdu Dingqiao Communication Technology Co Ltd filed Critical Chengdu Dingqiao Communication Technology Co Ltd
Priority to CN201810694960.0A priority Critical patent/CN110661995A/en
Publication of CN110661995A publication Critical patent/CN110661995A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Abstract

The invention provides a packet loss retransmission method and a system of a video group call.A server receives a video RTP packet sent by a first terminal in a group, forwards the video RTP packet to a plurality of second terminals in the group through a multicast bearer, and places the video RTP packet into a retransmission cache queue; when the second terminal judges that a lost RTP packet exists according to the received video RTP packet, an RTCP packet is sent to the server through a unicast bearer and carries a group number and a serial number of the RTP packet to be retransmitted, and the server finds the RTP packet to be retransmitted in a retransmission cache queue and retransmits the RTP packet to the second terminal through the unicast bearer; through the process, the problem that data packets are easy to lose in the video group call service is solved, the phenomena of screen splash, blockage and the like in the video group call are avoided, and the user experience is improved.

Description

Packet loss retransmission method and system for video group call
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a packet loss retransmission method and system for video group call.
Background
In a Broadband Trunking Communication (B-trunk) protocol, a video group call service is defined, and the service works in the following manner: a plurality of users in a group carry out point-to-multipoint video call, a main speaker uploads video pictures to a network side, and the network side transmits the same video pictures to a plurality of receiving users at the same time.
Due to the requirement of video real-time performance, a User data packet Protocol (UDP) transmission mode is adopted for video group calling, and the UDP Protocol is unreliable in transmission, so that when the wireless network quality is poor, data packets are easily lost, the phenomenon of screen splash, blocking and the like of videos is caused, and User perception is influenced.
Disclosure of Invention
The invention provides a packet loss retransmission method and system for video group calling, which can solve the problem that data packets are easy to lose in the video group calling, avoid the phenomena of screen splash, blockage and the like in the video group calling, and improve user experience.
In a first aspect, a packet loss retransmission method for a video group call provided by the present invention is applied to a server, and includes:
receiving a video real-time transport protocol (RTP) packet sent by a first terminal in a group, forwarding the RTP packet to at least one second terminal in the group through a multicast bearer, and putting the RTP packet into a retransmission buffer queue;
receiving a real-time transport control protocol (RTCP) packet sent by the second terminal through unicast bearing, and analyzing the RTCP packet to obtain a group number and a serial number of an RTP packet to be retransmitted;
and if the RTP packet to be retransmitted exists in the retransmission buffer queue, retransmitting the corresponding RTP packet to the second terminal through unicast load.
Optionally, after the placing the video RTP packet into the retransmission buffer queue, the method further includes:
and if the waiting time of the video RTP packet in the retransmission cache queue exceeds the preset waiting time, deleting the video RTP packet from the retransmission cache queue.
Optionally, before receiving the video RTP packet sent by the first terminal in the group, the method further includes:
and respectively establishing a unicast bearer for the at least one second terminal in the group.
In a second aspect, the method for retransmitting packet loss of a video group call, provided by the present invention, is applied to a second terminal, and includes:
receiving a video real-time transport protocol (RTP) packet sent by a server through a multicast bearer and/or a unicast bearer;
judging whether a lost RTP packet exists according to the sequence number of the video RTP packet;
and if the real-time transport control protocol RTCP packet exists, sending the real-time transport control protocol RTCP packet to the server through the unicast bearer, wherein the RTCP packet comprises a group number and a sequence number of a lost RTP packet.
Optionally, before sending the RTCP packet to the server, the method further includes:
putting the sequence number of the lost RTP packet into a retransmission queue;
deleting the sequence number of the RTP packet from a retransmission queue when at least one of the following conditions is met for the RTP packet in the retransmission queue: the waiting time of the RTP packet in the retransmission queue exceeds the preset waiting time, the retransmission request times corresponding to the RTP packet exceed the preset times, and the RTP packet is received.
Optionally, after sending the RTCP packet to the server, the method further includes:
and if the lost RTP packet is not received within the preset second waiting time, retransmitting the RTCP packet to the server.
In a third aspect, the present invention provides a server, including:
the receiving module is used for receiving a video real-time transport protocol (RTP) packet sent by a first terminal in the group;
a sending module, configured to forward the video RTP packet to at least one second terminal in the group through a multicast bearer;
the processing module is used for putting the video RTP packet into a retransmission buffer queue;
the receiving module is further configured to receive a real-time transport control protocol RTCP packet sent by the second terminal through a unicast bearer;
the processing module is further configured to analyze the RTCP packet to obtain a group number and a sequence number of an RTP packet to be retransmitted;
and the sending module is further configured to retransmit the corresponding RTP packet to the second terminal through a unicast bearer if the RTP packet to be retransmitted exists in the retransmission buffer queue.
Optionally, the processing module is further configured to delete the video RTP packet from the retransmission buffer queue if the waiting time of the video RTP packet in the retransmission buffer queue exceeds a preset waiting time duration.
Optionally, the processing module is further configured to establish a unicast bearer for each of the at least one second terminal in the group.
In a fourth aspect, the terminal provided by the present invention, when being used as a second terminal, includes:
the receiving module is used for receiving a video real-time transport protocol (RTP) packet sent by a server through a multicast bearer and/or a unicast bearer;
the processing module is used for judging whether a lost RTP packet exists according to the sequence number of the video RTP packet;
and the sending module is used for sending a real-time transport control protocol (RTCP) packet to the server through unicast bearing if the lost RTP packet exists, wherein the RTCP packet comprises a group number and a serial number of the lost RTP packet.
Optionally, the processing module is further configured to place the sequence number of the lost RTP packet into a retransmission queue;
deleting the sequence number of the RTP packet from a retransmission queue when at least one of the following conditions is met for the RTP packet in the retransmission queue: the waiting time of the RTP packet in the retransmission queue exceeds the preset waiting time, the retransmission request times corresponding to the RTP packet exceed the preset times, and the RTP packet is received.
Optionally, the sending module is further configured to retransmit the RTCP packet to the server if the lost RTP packet is not received within a preset second waiting duration.
In a fifth aspect, the present invention provides a server, including:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to implement the method of any of the first aspects.
In a sixth aspect, the terminal provided by the present invention, when being used as a second terminal, includes:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to implement the method of any of the second aspects.
In a seventh aspect, the present invention provides a computer readable storage medium having a computer program stored thereon; the computer program is executed by a processor to implement a method as claimed in any one of the first aspect or a method as claimed in any one of the second aspect.
In an eighth aspect, the packet loss retransmission system for a video group call provided by the present invention includes the server according to any one of the fifth aspect and at least one terminal according to any one of the sixth aspect.
The invention provides a packet loss retransmission method and a system for video group calling.A server receives a video RTP packet sent by a first terminal in a group, forwards the video RTP packet to a plurality of second terminals in the group through a multicast bearer, and places the video RTP packet into a retransmission cache queue; when the second terminal judges that a lost RTP packet exists according to the received video RTP packet, an RTCP packet is sent to the server through a unicast bearer and carries a group number and a serial number of the RTP packet to be retransmitted, and the server finds the RTP packet to be retransmitted in a retransmission cache queue and retransmits the RTP packet to the second terminal through the unicast bearer; through the process, the problem that data packets are easy to lose in the video group call service is solved, the phenomena of screen splash, blockage and the like in the video group call are avoided, and the user experience is improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings 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 invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a flowchart of a first embodiment of a packet loss retransmission method for a video group call according to the present invention;
fig. 2 is a flowchart of a second embodiment of a packet loss retransmission method for a video group call according to the present invention;
fig. 3 is a flowchart of a third embodiment of a packet loss retransmission method for a video group call according to the present invention;
fig. 4 is a schematic diagram of a process of determining packet loss by the second terminal according to the third embodiment of the present invention;
FIG. 5 is a schematic structural diagram of a first embodiment of a server according to the present invention;
fig. 6 is a schematic structural diagram of a first embodiment of a terminal according to the present invention;
fig. 7 is a schematic structural diagram of a second server according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of a second terminal according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of an embodiment of a packet loss retransmission system for a video group call provided in the present invention.
Detailed Description
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 only a part of the embodiments of the present invention, and not all of the embodiments. 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.
The terms "first," "second," "third," "fourth," and the like in the description and in the claims, as well as in the drawings, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are, for example, capable of operation in sequences other than those illustrated or otherwise described herein. 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.
As described above, in the video group call service defined by the B-Trunc protocol, a plurality of users in a group perform point-to-multipoint video calls, a speaker uploads a video frame to a network side, and the network side transmits the same video frame to a plurality of receiving users at the same time, which can significantly reduce the consumption of wireless transmission bandwidth.
Due to the requirement of video real-time performance, a UDP transmission mode is adopted for video group calling, the transmission of a UDP protocol is unreliable, and when the quality of a wireless network is poor, data packets are easily lost, so that the phenomena of screen splash, blocking and the like of videos occur, and the user perception is influenced.
The invention provides a packet loss retransmission method and system for video group calling, which solve the problem that data packets are easy to lose in the video group calling, avoid the phenomena of screen splash, blockage and the like in the video group calling, and improve the user experience.
The technical solution of the present invention will be described in detail below with specific examples. The following several specific embodiments may be combined with each other, and details of the same or similar concepts or processes may not be repeated in some embodiments.
Firstly, the packet loss retransmission method and system for video group calling provided by the invention can be applied to a trunking communication system in a public network or a private network. In practical application, the trunking communication system may include a terminal, a base station, a core network, and a server, where the terminal is a terminal device used by a user, the base station may adopt an LTE network, the terminal is accessed into the core network through the base station, and the core network is connected with the server, and the server provides services such as media distribution, right-to-speak control, and the like. It should be noted that the packet loss retransmission method for video group call provided by the present invention mainly relates to a terminal and a server, wherein communication data between the terminal and the server can be forwarded through a base station and a core network, which is not described in detail in the embodiments of the present invention.
Fig. 1 is a flowchart of a first embodiment of a packet loss retransmission method for a video group call provided in the present invention, where an execution subject of the embodiment may be a server of a group call service. As shown in fig. 1, the method of this embodiment may include:
s11: receiving a video real-time transport protocol (RTP) packet sent by a first terminal in a group, forwarding the RTP packet to at least one second terminal in the group through a multicast bearer, and putting the RTP packet into a retransmission buffer queue.
It can be understood that the first terminal and the second terminal are distinguished according to different roles of the terminals in the group, in this embodiment and the following embodiments, the terminal corresponding to the service initiator in the group is referred to as the first terminal, and other terminals in the group are referred to as the second terminals, and in the same group, a certain terminal may serve as the first terminal in a certain time period and serve as the second terminal in another time period.
In the video group call service, a first terminal uploads a video picture to a network side server, and the network side server forwards the video picture to a plurality of second terminals in the group at the same time. The first terminal and the network server are unicast load bearing, and the second terminal and the network server are multicast load bearing. In addition, a Real-time Transport protocol (RTP) protocol is used for communication between the terminal and the network, that is, video data is transmitted by RTP packets.
In this embodiment, in order to solve the common packet loss problem in the video group call, a retransmission buffer queue is set on the server side. After receiving the video RTP packet sent by the first terminal, the server forwards the video RTP packet to a plurality of second terminals in the group through a multicast bearer, and meanwhile, the video RTP packet is placed into a retransmission buffer queue so as to be retransmitted when the video RTP packet is not received by the second terminals.
It can be understood that, according to the group setting situation, the server side may have a plurality of retransmission buffer queues at the same time, for example: each group corresponds to a retransmission buffer queue, and the retransmission buffer queues can be distinguished through group numbers. Of course, there may be other ways to set the retransmission buffer queue, and the present invention is not limited to this.
Optionally, the video RTP packet may carry information such as a group number and a sequence number of the RTP packet, where the group number is used to distinguish a group corresponding to video data in the RTP packet, and since in the group call service, a same terminal may monitor messages of multiple groups at the same time, and the group number is carried in the video RTP packet, the terminal may identify the group corresponding to the RTP packet. In addition, the sequence number of the RTP packet carried in the video RTP packet can enable the terminal to judge whether packet loss occurs according to the sequence number.
After receiving the video RTP packet through the multicast bearer, the second terminal can judge whether a lost RTP packet exists according to the continuity of the sequence number of the video RTP packet.
In the prior art, in order to reduce the power consumption of the terminal, when the terminal is in a monitoring state, only a downlink multicast bearer exists between the terminal and the network server, and an uplink state feedback channel does not exist between the terminal and the network server, so that even if the second terminal determines a packet loss problem, the packet loss problem cannot be fed back to the network side server, and the network side server cannot acquire the packet loss condition of each link.
In order to solve the problem, in this embodiment, the network side server further pre-establishes a unicast bearer for the second terminal, and when the second terminal determines that the lost RTP packet occurs, the network side server may send a Real-time Transport Control Protocol (RTCP) packet to the server through the unicast bearer, and carry the group number and the sequence number of the lost RTP.
Each terminal may sign a plurality of groups, and since the corresponding group number is unique when each video group call service is established, the network side can indirectly acquire the group that the second terminal is currently monitoring by carrying the group number in the RTCP packet.
S12: and receiving a real-time transport control protocol (RTCP) packet sent by the second terminal through unicast bearing, and analyzing the RTCP packet to obtain a group number and a sequence number of an RTP packet to be retransmitted.
S13: and if the RTP packet to be retransmitted exists in the retransmission buffer queue, retransmitting the corresponding RTP packet to the second terminal through unicast load.
And after receiving the RTCP packet sent by the second terminal through the unicast bearer, the network side server analyzes the RTCP packet to obtain the group number and the serial number of the RTP packet to be retransmitted, searches in a corresponding retransmission cache queue according to the group number and the serial number of the RTP packet to be retransmitted, and sends the RTP packet to the second terminal through the unicast bearer if finding the RTP packet to be retransmitted.
In this embodiment, a server receives a video RTP packet sent by a first terminal in a group, forwards the video RTP packet to a plurality of second terminals in the group through a multicast bearer, and places the video RTP packet in a retransmission buffer queue; when the second terminal judges that a lost RTP packet exists according to the received video RTP packet, an RTCP packet is sent to the server through a unicast bearer and carries a group number and a serial number of the RTP packet to be retransmitted, and the server finds the RTP packet to be retransmitted in a retransmission cache queue and retransmits the RTP packet to the second terminal through the unicast bearer; through the process, the problem that data packets are easy to lose in the video group call service is solved, the phenomena of screen splash, blockage and the like in the video group call are avoided, and the user experience is improved.
Fig. 2 is a flowchart of a second embodiment of a packet loss retransmission method for a video group call according to the present invention, and based on the above embodiments, this embodiment describes a specific implementation method of packet loss retransmission in detail in conjunction with an interaction process between a server and a terminal. As shown in fig. 2, the method of this embodiment may include:
s21: the server establishes a unicast bearer for the at least one second terminal in the group respectively.
Specifically, when the first terminal initiates the video group call service and the server establishes a multicast bearer for the second terminals in the group, a unicast bearer may also be established for each second terminal, where the unicast bearer is used for the terminal to feed back a packet loss condition to the server, and the server retransmits a lost data packet to the terminal.
S22: the method comprises the steps that a server receives a video RTP packet sent by a first terminal in a group, forwards the video RTP packet to at least one second terminal in the group through multicast load, and puts the video RTP packet into a retransmission cache queue, and if the waiting time of the video RTP packet in the retransmission cache queue exceeds the preset waiting time, the video RTP packet is deleted from the retransmission cache queue.
Specifically, after the server places the video RTP packet into the retransmission buffer queue, a buffer timer may also be started for the video RTP packet, and the duration of the buffer timer is set to be a preset waiting duration. And when the timer is overtime, deleting the video RTP packet from the retransmission buffer queue.
In addition, if the first terminal is changed due to the right preemption in the group, the RTP packet in the retransmission buffer queue is emptied, and the buffer timer is restarted.
S23: and the second terminal receives the video RTP packet sent by the server through the multicast bearer.
S24: the second terminal judges whether a lost RTP packet exists according to the sequence number of the video RTP packet; and if the RTCP packet exists, sending the RTCP packet to the server through the unicast bearer, wherein the RTCP packet comprises the group number and the sequence number of the lost RTP packet.
Specifically, the second terminal may determine whether there is a lost RTP packet according to the continuity of the sequence number of the received video RTP packet. It is understood that the specific determination method can be various. In an alternative embodiment, as long as the sequence number of the received RTP packet is not consecutive, it is determined that there is a missing RTP packet, for example, the sequence number of the last received RTP packet is 2, the sequence number of the RTP packet that is expected to be received currently is 3, and if the sequence number of the received RTP packet is 5, it is determined that the RTP packets with sequence numbers 3 and 4 are missing. In another optional implementation manner, when it is detected that the sequence number of the RTP packet is not consecutive, for example: the sequence number of the last received RTP packet is 2, the sequence number of the RTP packet expected to be received at present is 3, if the sequence number of the received RTP packet is 5, the sequence number of the RTP packet is determined to be discontinuous, a certain time period is waited, if the RTP packet with the sequence number of 4 is received in the time period, but the RTP packet with the sequence number of 3 is still not received, the RTP packet with the sequence number of 3 is considered to be lost.
S25: the server receives the RTCP packet sent by the second terminal, and analyzes the RTCP packet to obtain a group number and a serial number of an RTP packet to be retransmitted; and if the corresponding RTP packet exists in the retransmission buffer queue, sending the corresponding RTP packet to the second terminal through unicast bearing.
Wherein, the content carried in the retransmitted RTP packet is the same as the content of the RTP packet which is originally sent.
S26: and the second terminal receives the video RTP packet sent by the server through the multicast bearer and/or the unicast bearer.
And the second terminal receives the video RTP packets from the multicast bearer and the unicast bearer at the same time, performs merging and sequencing processing on the received RTP packets, and deletes the RTP packets if the RTP packets are repeated. And sending the successfully received RTP packet to a higher layer for decoding. It is understood that if there is a missing RTP packet after the merging reception, S24-S26 may be repeated.
In this embodiment, a server receives a video RTP packet sent by a first terminal in a group, forwards the video RTP packet to a plurality of second terminals in the group through a multicast bearer, and places the video RTP packet in a retransmission buffer queue; when the second terminal judges that a lost RTP packet exists according to the received video RTP packet, an RTCP packet is sent to the server through a unicast bearer and carries a group number and a serial number of the RTP packet to be retransmitted, and the server finds the RTP packet to be retransmitted in a retransmission cache queue and retransmits the RTP packet to the second terminal through the unicast bearer; through the process, the problem that data packets are easy to lose in the video group call service is solved, the phenomena of screen splash, blockage and the like in the video group call are avoided, and the user experience is improved.
Fig. 3 is a flowchart of a third embodiment of a packet loss retransmission method for a video group call provided in the present invention, where an execution main body of the present embodiment may be a second terminal in a group, and on the basis of the foregoing embodiment, the present embodiment describes in detail a packet loss detection and control process performed by the second terminal. As shown in fig. 3, the method of this embodiment may include:
s31: and receiving the video RTP packet sent by the server through a multicast bearer and/or a unicast bearer.
S32: and judging whether a lost RTP packet exists or not according to the sequence number of the video RTP packet.
S33: and if so, putting the sequence number of the lost RTP packet into a retransmission queue.
Fig. 4 is a schematic diagram of a process of determining packet loss by the second terminal in the third embodiment of the present invention, and with reference to fig. 4, the second terminal detects a received video RTP packet, where the detection mechanism is as follows:
SN is the sequence number of the RTP packet expected to be received, and if SN is successfully received, SN equals SN + 1. Suppose that the sequence number SN of the RTP packet expected to be received currently is not received, but the RTP packet with the sequence number SN +2 is received, and the receiving time of the RTP packet with the sequence number SN +2 is recorded as T (SN + 2). If (current time-T (SN +2)) is greater than "RTP packet loss threshold", it is considered that the RTP packets with sequence numbers SN and SN +1 are lost, and the sequence numbers of these lost RTP packets are put into a retransmission queue, and at the same time, the sequence RTP packets received after SN +2 and SN are delivered to a higher layer, as shown in fig. 4.
After the above detection process, the retransmission queue of the second terminal includes the sequence numbers of two RTP packets, which are SN and SN +1, respectively.
S34: deleting the sequence number of the RTP packet from a retransmission queue when the RTP packet in the retransmission queue meets at least one of the following conditions: the waiting time of the RTP packet in the retransmission queue exceeds the preset waiting time, the retransmission request times corresponding to the RTP packet exceed the preset times, and the RTP packet is received.
S35: and sending an RTCP packet to the server through unicast bearing, wherein the RTCP packet comprises a group number and a sequence number of a lost RTP packet.
S36: and if the lost RTP packet is not received within the preset second waiting time, retransmitting the RTCP packet to the server.
Specifically, in the retransmission queue, for the sequence number of each RTP packet, the retransmission request times corresponding to the RTP packet and the time for placing the RTP packet into the retransmission queue may be recorded respectively. And when the waiting time of the RTP packets in the retransmission queue exceeds the preset waiting time, deleting the RTP packets from the retransmission queue. In addition, after the second terminal sends the RTCP packet to the server, the number of retransmission requests of the RTP packet corresponding to the retransmission queue is updated according to the sequence number of the lost RTP packet carried in the RTCP packet, so that the RTP packet is deleted from the retransmission queue when the number of retransmission requests of the RTP packet corresponding to the retransmission queue exceeds the preset number.
It should be noted that, the second terminal may determine whether to execute S36 according to the actual situation of the network link, for example, when the network link state is good and the time delay is small, if the RTP packet that is lost is still not received within the preset second waiting time after the RTCP packet is sent to the server, the RTCP packet may be retransmitted to the server again. When the network link status is poor and the delay is large, S36 may not be executed.
Fig. 5 is a schematic structural diagram of a first embodiment of a server provided in the present invention, and as shown in fig. 5, a server 500 of this embodiment may include: a receiving module 501, a processing module 502 and a sending module 503.
The receiving module 501 is configured to receive a video real-time transport protocol RTP packet sent by a first terminal in a group.
A sending module 503, configured to forward the video RTP packet to at least one second terminal in the group through a multicast bearer.
A processing module 502, configured to put the video RTP packet into a retransmission buffer queue.
The receiving module 501 is further configured to receive a real-time transport control protocol RTCP packet sent by the second terminal through a unicast bearer.
The processing module 502 is further configured to analyze the RTCP packet to obtain a group number and a sequence number of an RTP packet to be retransmitted.
The sending module 503 is further configured to, if the to-be-retransmitted RTP packet exists in the retransmission buffer queue, retransmit the corresponding RTP packet to the second terminal through a unicast bearer.
Optionally, the processing module 502 is further configured to delete the video RTP packet from the retransmission buffer queue if the waiting time of the video RTP packet in the retransmission buffer queue exceeds a preset waiting time duration.
Optionally, the processing module 502 is further configured to respectively establish a unicast bearer for the at least one second terminal in the group.
The server of this embodiment may be configured to execute the technical solution on the server side in any of the method embodiments, and the implementation principle and the technical effect are similar, which are not described herein again.
Fig. 6 is a schematic structural diagram of a first terminal embodiment provided in the present invention, and as shown in fig. 6, the terminal 600 of this embodiment, when serving as a second terminal, may include: a receiving module 601, a processing module 602 and a sending module 603.
The receiving module 601 is configured to receive a video real-time transport protocol RTP packet sent by a server through a multicast bearer and/or a unicast bearer.
And the processing module 602 is configured to determine whether a lost RTP packet exists according to the sequence number of the video RTP packet.
A sending module 603, configured to send a real-time transport control protocol RTCP packet to a server through a unicast bearer if there is a lost RTP packet, where the RTCP packet includes a group number and a sequence number of the lost RTP packet.
Optionally, the processing module 602 is further configured to place the sequence number of the lost RTP packet into a retransmission queue; deleting the sequence number of the RTP packet from a retransmission queue when at least one of the following conditions is met for the RTP packet in the retransmission queue: the waiting time of the RTP packet in the retransmission queue exceeds the preset waiting time, the retransmission request times corresponding to the RTP packet exceed the preset times, and the RTP packet is received.
Optionally, the sending module 603 is further configured to retransmit the RTCP packet to the server if the lost RTP packet is not received within a preset second waiting duration.
The terminal of this embodiment may be configured to execute the technical solution of the second terminal side in any of the above method embodiments, and the implementation principle and the technical effect are similar, which are not described herein again.
Fig. 7 is a schematic structural diagram of a second embodiment of a server provided in the present invention, and as shown in fig. 7, a server 700 in this embodiment may include: the memory 701, the processor 702, and the computer program, where the computer program is stored in the memory 701 and configured to be executed by the processor 702, may implement the technical solution on the server side in any of the method embodiments described above, and the implementation principle and the technical effect are similar, and are not described herein again.
Fig. 8 is a schematic structural diagram of a second embodiment of the terminal provided in the present invention, and as shown in fig. 8, the terminal 800 of this embodiment may include: the memory 801, the processor 802, and the computer program, where the computer program is stored in the memory 801 and configured to be executed by the processor 802, may implement the technical solution at the second terminal side in any of the above method embodiments, and the implementation principle and the technical effect thereof are similar, and are not described herein again.
An embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the technical solution on the server side in any of the foregoing method embodiments or the technical solution on the second terminal side in any of the foregoing method embodiments may be implemented, where the implementation principle and the technical effect are similar, and details are not repeated here.
Fig. 9 is a schematic structural diagram of an embodiment of a packet loss retransmission system of a video group call provided in the present invention, and as shown in fig. 9, the packet loss retransmission system 900 of the video group call of the present embodiment may include: a server 901 and at least one terminal 902, wherein the server 901 may adopt the structure shown in fig. 7, and the terminal 902 may adopt the structure shown in fig. 8.
The packet loss retransmission system for video group call in this embodiment can implement the technical scheme in any of the above method embodiments, and the implementation principle and technical effect are similar, which are not described herein again.
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, a division of a unit is merely a logical division, and an actual implementation may have another division, 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.
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.
In the foregoing embodiments of the network device or the terminal device, it should be understood that the Processor may be a Central Processing Unit (CPU), or may be another general-purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in connection with the present application may be embodied directly in a hardware processor, or in a combination of the hardware and software modules in the processor.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (12)

1. A packet loss retransmission method of video group calling is characterized in that the method is applied to a server and comprises the following steps:
receiving a video real-time transport protocol (RTP) packet sent by a first terminal in a group, forwarding the RTP packet to at least one second terminal in the group through a multicast bearer, and putting the RTP packet into a retransmission buffer queue;
receiving a real-time transport control protocol (RTCP) packet sent by the second terminal through unicast bearing, and analyzing the RTCP packet to obtain a group number and a serial number of an RTP packet to be retransmitted;
and if the RTP packet to be retransmitted exists in the retransmission buffer queue, retransmitting the corresponding RTP packet to the second terminal through unicast load.
2. The method of claim 1, wherein after the placing the video RTP packet into a retransmission buffer queue, further comprising:
and if the waiting time of the video RTP packet in the retransmission cache queue exceeds the preset waiting time, deleting the video RTP packet from the retransmission cache queue.
3. The method according to claim 1 or 2, wherein the receiving the video RTP packet sent by the first terminal in the group further comprises:
and respectively establishing a unicast bearer for the at least one second terminal in the group.
4. A packet loss retransmission method of a video group call is applied to a second terminal, and comprises the following steps:
receiving a video real-time transport protocol (RTP) packet sent by a server through a multicast bearer and/or a unicast bearer;
judging whether a lost RTP packet exists according to the sequence number of the video RTP packet;
and if the real-time transport control protocol RTCP packet exists, sending the real-time transport control protocol RTCP packet to the server through the unicast bearer, wherein the RTCP packet comprises a group number and a sequence number of a lost RTP packet.
5. The method of claim 4, wherein before sending the RTCP packet to the server, the method further comprises:
putting the sequence number of the lost RTP packet into a retransmission queue;
deleting the sequence number of the RTP packet from a retransmission queue when at least one of the following conditions is met for the RTP packet in the retransmission queue: the waiting time of the RTP packet in the retransmission queue exceeds the preset waiting time, the retransmission request times corresponding to the RTP packet exceed the preset times, and the RTP packet is received.
6. The method of claim 5, wherein after sending the RTCP packet to the server, the method further comprises:
and if the lost RTP packet is not received within the preset second waiting time, retransmitting the RTCP packet to the server.
7. A server, comprising:
the receiving module is used for receiving a video real-time transport protocol (RTP) packet sent by a first terminal in the group;
a sending module, configured to forward the video RTP packet to at least one second terminal in the group through a multicast bearer;
the processing module is used for putting the video RTP packet into a retransmission buffer queue;
the receiving module is further configured to receive a real-time transport control protocol RTCP packet sent by the second terminal through a unicast bearer;
the processing module is further configured to analyze the RTCP packet to obtain a group number and a sequence number of an RTP packet to be retransmitted;
and the sending module is further configured to retransmit the corresponding RTP packet to the second terminal through a unicast bearer if the RTP packet to be retransmitted exists in the retransmission buffer queue.
8. A terminal, when acting as a second terminal, comprising:
the receiving module is used for receiving a video real-time transport protocol (RTP) packet sent by a server through a multicast bearer and/or a unicast bearer;
the processing module is used for judging whether a lost RTP packet exists according to the sequence number of the video RTP packet;
and the sending module is used for sending a real-time transport control protocol (RTCP) packet to the server through unicast bearing if the lost RTP packet exists, wherein the RTCP packet comprises a group number and a serial number of the lost RTP packet.
9. A server, comprising:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to implement the method of any one of claims 1-3.
10. A terminal, when acting as a second terminal, comprising:
a memory;
a processor; and
a computer program;
wherein the computer program is stored in the memory and configured to be executed by the processor to implement the method of any one of claims 4-6.
11. A computer-readable storage medium, having stored thereon a computer program;
the computer program is executed by a processor to implement the method of any of claims 1-3 or the method of any of claims 4-6.
12. A packet loss retransmission system for a video group call, comprising the server according to claim 9 and at least one terminal according to claim 10.
CN201810694960.0A 2018-06-29 2018-06-29 Packet loss retransmission method and system for video group call Pending CN110661995A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810694960.0A CN110661995A (en) 2018-06-29 2018-06-29 Packet loss retransmission method and system for video group call

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810694960.0A CN110661995A (en) 2018-06-29 2018-06-29 Packet loss retransmission method and system for video group call

Publications (1)

Publication Number Publication Date
CN110661995A true CN110661995A (en) 2020-01-07

Family

ID=69027493

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810694960.0A Pending CN110661995A (en) 2018-06-29 2018-06-29 Packet loss retransmission method and system for video group call

Country Status (1)

Country Link
CN (1) CN110661995A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112333268A (en) * 2020-11-02 2021-02-05 中国联合网络通信集团有限公司 Data transmission method and device
CN114125508A (en) * 2021-10-22 2022-03-01 北京邮电大学 Reliability guarantee method for video multicast in wireless domain
CN114584844A (en) * 2020-11-30 2022-06-03 青岛海信宽带多媒体技术有限公司 RTP packet loss retransmission method and device and playing terminal
CN115765934A (en) * 2021-09-03 2023-03-07 中国移动通信集团山东有限公司 Data transmission method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101494834A (en) * 2009-02-24 2009-07-29 宇龙计算机通信科技(深圳)有限公司 Method, system and mobile communication terminal for retransmitting information
CN101523371A (en) * 2006-09-29 2009-09-02 维德约股份有限公司 System and method for multipoint conferencing with scalable video coding servers and multicast
CN101656597A (en) * 2009-09-14 2010-02-24 中兴通讯股份有限公司 Data receiving and transmitting methods and devices and data transmission system
CN101938770A (en) * 2010-09-20 2011-01-05 南京邮电大学 Wireless network maximum retransmission times optimization method based on network channel state
CN102316419A (en) * 2011-09-22 2012-01-11 华为技术有限公司 Method for developing multimedia service in wireless local area network, device and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101523371A (en) * 2006-09-29 2009-09-02 维德约股份有限公司 System and method for multipoint conferencing with scalable video coding servers and multicast
CN101494834A (en) * 2009-02-24 2009-07-29 宇龙计算机通信科技(深圳)有限公司 Method, system and mobile communication terminal for retransmitting information
CN101656597A (en) * 2009-09-14 2010-02-24 中兴通讯股份有限公司 Data receiving and transmitting methods and devices and data transmission system
CN101938770A (en) * 2010-09-20 2011-01-05 南京邮电大学 Wireless network maximum retransmission times optimization method based on network channel state
CN102316419A (en) * 2011-09-22 2012-01-11 华为技术有限公司 Method for developing multimedia service in wireless local area network, device and system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112333268A (en) * 2020-11-02 2021-02-05 中国联合网络通信集团有限公司 Data transmission method and device
CN114584844A (en) * 2020-11-30 2022-06-03 青岛海信宽带多媒体技术有限公司 RTP packet loss retransmission method and device and playing terminal
CN114584844B (en) * 2020-11-30 2023-09-22 青岛海信宽带多媒体技术有限公司 RTP packet loss retransmission method and device and intelligent set top box
CN115765934A (en) * 2021-09-03 2023-03-07 中国移动通信集团山东有限公司 Data transmission method and device
CN114125508A (en) * 2021-10-22 2022-03-01 北京邮电大学 Reliability guarantee method for video multicast in wireless domain

Similar Documents

Publication Publication Date Title
CN110661995A (en) Packet loss retransmission method and system for video group call
CN101421997B (en) Method and apparatus for discontinuously receiving packet in a mobile communication system
CN113037440B (en) Data retransmission processing method and device, computer equipment and storage medium
CA2753192C (en) Method of receiving a point-to-multipoint service in a wireless communication system
CN103763073B (en) A kind of method and terminal that packet loss retransmits
CN113783775B (en) Method and device for data transmission
WO2011129978A1 (en) Apparatus and method for transmitting media using either network efficient protocol or a loss tolerant transmission protocol
CN109803315B (en) Data transmission method and device
WO2013029521A1 (en) Method, flow-distribution equipment, user terminal and system for data transmission
US20120170523A1 (en) Scalable video sender over multiple links
CN103916620B (en) Video call method and device, mobile terminal
CN112436924B (en) Data transmission method and electronic equipment
CN114765690A (en) Data packet transmission method and related equipment
CN105578440B (en) The transmission method and device of instant messaging business heartbeat packet in LTE system
WO2013075655A1 (en) Method, device, and system for processing streaming media service data
CN101155337A (en) Short message processing method
US20070140192A1 (en) Mobile station in wireless LAN system, and method of guaranteeing bandwidth for the mobile station
CN110602568B (en) Video stream transmission packet loss retransmission method, device and storage device based on RTP
US20230254749A1 (en) Multicast service transmission method and apparatus, and communications device
WO2022089312A1 (en) Service maintaining method in sidelink relay system and relay device, and medium
US8570929B2 (en) Relay apparatus, communication apparatus, communication system, and relay method
CN111405615B (en) Communication data transmission method, device and storage medium
CN111052650A (en) Method for operating a network entity, method for operating a user equipment and user equipment
CN110912831B (en) TCP transmission method, device and storage medium
KR101681572B1 (en) Apparatus and Method for MBMS Data Transmission Synchronization

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200107