CN108377427A - A kind of method for real-time video transmission and system - Google Patents

A kind of method for real-time video transmission and system Download PDF

Info

Publication number
CN108377427A
CN108377427A CN201810083545.1A CN201810083545A CN108377427A CN 108377427 A CN108377427 A CN 108377427A CN 201810083545 A CN201810083545 A CN 201810083545A CN 108377427 A CN108377427 A CN 108377427A
Authority
CN
China
Prior art keywords
data packet
packet
interval
negative acknowledgment
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810083545.1A
Other languages
Chinese (zh)
Other versions
CN108377427B (en
Inventor
段垚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MAINBO EDUCATION TECHNOLOGY Co Ltd
Original Assignee
MAINBO EDUCATION 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 MAINBO EDUCATION TECHNOLOGY Co Ltd filed Critical MAINBO EDUCATION TECHNOLOGY Co Ltd
Priority to CN201810083545.1A priority Critical patent/CN108377427B/en
Publication of CN108377427A publication Critical patent/CN108377427A/en
Application granted granted Critical
Publication of CN108377427B publication Critical patent/CN108377427B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • 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/64Addressing
    • H04N21/6405Multicasting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The present invention relates to a kind of method for real-time video transmission and systems.Method includes that video flowing cutting is data packet and sent in order by transmitting terminal, records the first sending time and last time sending time of data packet;Receiving terminal received data packet judges whether data packet has packet loss, out of order or repetition according to number, records the serial number of lost package;Receiving terminal is at interval of negative acknowledgment interval t1It checks the data packet lost, if so, the serial number range of the serial number of packet loss and the data packet received is encapsulated in negative acknowledgment packet, transmitting terminal is issued, at interval of positive acknowledgement interval t2It checks the data packet lost, if without packet loss, the serial number range of the data packet received is encapsulated in a positive confirmation packet, transmitting terminal is issued;Transmitting terminal receives the confirmation packet from each receiving terminal, and statistics receives number and loses number;Judge whether to need to retransmit, if desired then retransmit.The positive confirmation of method and system joint of the present invention and negative acknowledgment mechanism, preferably cope with sudden packet loss and data delay.

Description

A kind of method for real-time video transmission and system
Technical field
The invention belongs to video data transmission fields, and in particular to a kind of method for real-time video transmission and system.
Background technology
The Radio Transmission Technologys such as WLAN (WLAN) are widely used in small-scale high capacity data and communicate, such as Live video stream is transmitted in classroom or meeting room.But compared with wire transmission, wireless transmission has high bit-error and high packet loss The shortcomings that so that the transmission quality of live video stream is affected.It, can be in network protocol stack in order to overcome the problems, such as packet loss Different levels take measures, such as 802.11 agreements can carry out the re-transmission of finite number of time under unicast mode, so as to lose Packet rate controls below 0.1%;Transmission Control Protocol can overcome packet loss completely by the re-transmission of transport layer;However, above-mentioned measure is only fitted For unicast mode.In order to save bandwidth, it is often desirable that use multicast or broadcast mode in one-to-many transmission of video.In group Broadcast or broadcast mode under, 802.11 agreements and udp protocol will not retransmit, and the packet rate height that this frequently can lead to finally lose is not to Acceptable (such as 2%-10%), causing video flowing serious image quality occur reduces.
In order to reduce or eliminate the packet loss problem under multicast or broadcast mode, industry has been proposed a variety of reliable groups Broadcast agreement, such as NORM, PGM etc..Its core concept generally all includes allowing receiving terminal to detect packet loss, and send " negative acknowledgment packet (NAK) " transmitting terminal is arrived, transmitting terminal is allowed to retransmit the packet lost.
These reliable multicast protocols can realize reliable data transmission (eliminating packet loss) really, but often to data The delay optimization of transmission is inadequate, and multiple re-transmission can cause larger delay.The higher picture of transmission requirement of live video stream Quality, but also require picture delay sufficiently low simultaneously, good real-time video multicast protocol needs reasonably take into account these two aspects It is required that.
Another challenge of high packet loss network as WLAN is, packet loss often has sudden, i.e. most of the time Packet loss is in reduced levels, but (such as 0.1-2 seconds) in some shorter periods, and packet loss becomes very high, or even completely not Logical, this is typically that the interference to happen suddenly or barrier block caused by (such as pedestrian).Within these periods, aforementioned negative acknowledgment packet (NAK) it may also lose, also need to ensure reliably to transmit using repeating to send the measures such as negative acknowledgment packet thus, this increases simultaneously The occupancy of delay and network bandwidth is added.
Invention content
In view of the deficiencies in the prior art, the object of the present invention is to provide a kind of method for real-time video transmission and it is System, can solve the problems, such as paroxysmal packet loss under multicast or broadcast mode.
To achieve the above objectives, the technical solution adopted by the present invention is:A kind of method for real-time video transmission, including following step Suddenly:
(1) by video flowing, cutting is to be suitble to the data packet of transmission, and number in order to transmitting terminal in order, and number is additional It is transmitted in data packet;
(2) transmitting terminal sends the data packet in order, and record each data packet first sending time and Last time sending time;
(3) receiving terminal receives the data packet, judges whether the data packet has packet loss, out of order or repetition according to number, Data packet that is out of order and repeating is corrected according to judging result, and records the serial number of lost package;
(4) receiving terminal is at interval of negative acknowledgment interval t1The data packet lost is checked, if so, by the serial number of packet loss and receiving The serial number range of data packet be encapsulated in a negative acknowledgment packet, issue transmitting terminal,
Receiving terminal is at interval of positive acknowledgement interval t2Check the data packet lost, if without packet loss, the data packet that will receive Serial number range be encapsulated in one it is positive confirm in packet, issue transmitting terminal;
(5) transmitting terminal receives the confirmation packet from each receiving terminal, and the reception number and loss number to each data packet carry out Statistics;
(6) judge that each data packet needs to retransmit or abandons retransmitting.
Further, the transmitting terminal and receiving terminal are transmitted by way of broadcast or multicast.
Further, it is specifically included in step (6):If retransmitting interval t in the negative acknowledgment of data packet last time sending time3 Afterwards, it is more than minimum negative acknowledgment number n to lose number1, then this data packet is retransmitted;
If retransmitting interval t in the positive confirmation of data packet last time sending time4Afterwards, it loses number and is less than minimum negative acknowledgment number n1, and receive the sum of number and loss number and be less than minimum confirmation number n2, then this data packet is retransmitted.
Further, further include in step (6):If transmitting terminal is more than apart from first sending time in a data packet It abandons retransmitting interval t5, then abandon retransmitting.
Further, the sequence of data packet that receiving terminal is abandoned retransmitting for the sequence of data packet and transmitting terminal of not packet loss, carries It is sent in the processing step of next stage.
Further, minimum negative acknowledgment number n1Confirm number n with minimum2It is determined by preset ratio according to the sum of receiving terminal.
Further, the confirmation packet real-time estimation that the sum of receiving terminal is received by receiving terminal comes out.
Further, negative acknowledgment interval t1Than positive acknowledgement interval t2To when young 50%.
Further, negative acknowledgment retransmits interval t3More than negative acknowledgment interval t1, and negative acknowledgment retransmits interval t3With negative acknowledgment interval t1Belong to the same order of magnitude;
It is positive to confirm re-transmission interval t4More than positive acknowledgement interval t2, and positive confirmation retransmits interval t4With positive acknowledgement interval t2Belong to The same order of magnitude.
A kind of RTP Transport System for Real-time, including:Transmitting terminal and at least one receiving terminal;
The transmitting terminal is used for that cutting to be data packet in order by video flowing, and sends in order, and record each The first sending time and last time sending time of data packet receive the confirmation packet from each receiving terminal, to each data packet It receives number and loses number and counted, judge whether each data packet needs to retransmit, if desired then retransmit;
The receiving terminal for receiving the data packet, according to number judge the data packet whether have packet loss, it is out of order or It repeats, data packet that is out of order and repeating is corrected according to judging result, and record the serial number of lost package, at interval of negative acknowledgment interval t1 The data packet lost is checked, if so, the serial number range of the serial number of packet loss and the data packet received is encapsulated in a negative acknowledgment Bao Zhong issues transmitting terminal, at interval of positive acknowledgement interval t2Check the data packet lost, if without packet loss, the data that will receive The serial number range of packet is encapsulated in a positive confirmation packet, issues transmitting terminal.
Effect of the invention is that:Using method and system of the present invention, there is following significant technique effect:
1. the positive confirmation of joint and negative acknowledgment mechanism, thus the problem of preferably coping with sudden packet loss.It is born in simple rely on In the agreement of affirmation mechanism, sudden packet loss may cause data packet and relevant negative acknowledgment packet to be lost together so that transmitting terminal It can not learn and need retransmission data packet;In order to overcome this difficulty, then need receiving terminal repeatedly to send same negative acknowledgment packet, or Transmitting terminal is allowed to confirm that this just wastes bandwidth resources to negative acknowledgment packet.By the way that positive affirmation mechanism is added, transmitting terminal can be allowed It guesses and sudden packet loss has occurred, to carry out remedial re-transmission.
2. the interval that negative acknowledgment packet is sent is smaller, and is just confirming that the interval that packet is sent is larger, this would not excessively increase really Recognize the bandwidth that packet occupies, while ensure that (packet loss is steady) data delay is relatively low under normal circumstances.Although the main needle of the present invention Transmission to video flowing, but the scope of application is not limited to this, it can also be used to and any higher to requirement of real-time and data volume is larger Streaming multicast/broadcast.
3. being adapted to the situation that receiving terminal is often dynamically added and withdraws from.
Description of the drawings
Fig. 1 is the flow diagram of one embodiment of the method for the invention;
Fig. 2 is the structural schematic diagram of one embodiment of system of the present invention.
Specific implementation mode
For make present invention solves the technical problem that, the technical solution that uses and the technique effect that reaches it is clearer, below The technical solution of the embodiment of the present invention will be described in further detail in conjunction with attached drawing.Obviously, described embodiment is only It is a part of the embodiment of the present invention, instead of all the embodiments.Based on the embodiments of the present invention, ordinary skill people The every other embodiment that member is obtained without making creative work, belongs to the scope of protection of the invention.
As shown in Figure 1, Fig. 1 is the flow diagram of one embodiment of the method for the invention.The method includes following steps Suddenly:
In a specific embodiment, 1 transmitting terminal and N number of receiving terminal, video flowing transmit in multicast mode.It sends An IP multicast address is all added in end and receiving terminal, and arranges a UDP port number for sending/received data packet, and agreement is another A port number is for sending/receiving confirmation packet.Specifically, the representative value of N is 25~100.
In other embodiments, video flowing can also transmit in a broadcast mode, similarly hereinafter.
It should be pointed out that the negative acknowledgment interval t hereinafter mentioned1, it is more than the time that data packet disorder reaches, is less than the phase The average data delay time of prestige.In order to reduce the quantity of negative acknowledgment packet, network burden, t are reduced1It also should not be too small.At one In specific embodiment, it is assumed that network layer round-trip delay is 5ms, average 100 data packets of transmission (the average 10ms per second of transmitting terminal One), desired average data delay is 100ms, then can be by t1It is set to 50ms.
Positive acknowledgement interval t2Less than maximum data delay t6, and it is conceived to the quantity for reducing positive confirmation packet.It is specific at one In embodiment, if requiring t6It, then can be by t no more than 1200ms2It is set to 1000ms.Wherein, maximum data delay t6It can be according to fair Perhaps maximum picture postpones to determine, and maximum data delay t6Maximum picture less than permission postpones.
That is, negative acknowledgment interval t1Significantly less than positive acknowledgement interval t2.Specifically, negative acknowledgment interval t1 is than positive acknowledgement interval t2 To when young 50%.
Minimum negative acknowledgment number n1, minimum confirm number n2, negative acknowledgment retransmit interval t3, it is positive confirm retransmit interval t4, abandon retransmitting It is spaced t5Value can determine according to the following rules:
Minimum negative acknowledgment number n1Confirm number n with minimum2It is determined by preset ratio according to the sum of receiving terminal.Wherein, receiving terminal The confirmation packet real-time estimation that is received by receiving terminal of sum obtained out or by a receiving terminal registration process.Its In, confirm that packet includes positive confirmation packet and negative acknowledgment packet.The sum of receiving terminal can also repeat traversal at a time interval and send All entries in state table, and the union of all " receiving collection " and " losing collection " is taken, it obtains " recent activity receiving terminal set ";It will The size of " recent activity receiving terminal set " or the mean size in the one section time, as new N.The initial value of N can be with 1 is taken, or specified according to actual conditions.
Specifically, n1It is a part of N, when preset ratio is 5%, then n1=5%N.But n1It is at least 1.Likewise, n2It is a part of N, when preset ratio is 75%, then n2=75%N.But n2It is at least 1.Above-mentioned preset ratio is only illustrated Illustrate, can be optimized in other embodiments according to actual conditions.
Negative acknowledgment retransmits interval t3More than negative acknowledgment interval t1, and negative acknowledgment retransmits interval t3With negative acknowledgment interval t1Belong to The same order of magnitude.Specifically, negative acknowledgment retransmits interval t3Slightly larger than network two-way time plus receiving terminal negative acknowledgment between Every t1
It is positive to confirm re-transmission interval t4More than positive acknowledgement interval t2, and positive confirmation retransmits interval t4With positive acknowledgement interval t2Belong to The same order of magnitude.Specifically, positive confirm re-transmission interval t4Slightly larger than the two-way time of network plus between the positive confirmation of receiving terminal Every t2.And t4Always greater than t3
It abandons retransmitting interval t5Confirm re-transmission interval t more than positive4.In a specific embodiment,
t5=1.5*t4
It may also be noted that transmitting terminal safeguards that a transmission state table, the key of the mapping table are the number of data packet, value It is a multi-component system:[data packet, first sending time, last time sending time receive collection, lose collection].It " receiving collection " and " loses Collection " is the set of the unique identifier for the receiving terminal for receiving and being lost this data packet respectively, and the size of the two then claims respectively To receive number and losing number.The unique identifier of receiving terminal can be indicated with its IP address, or random generation.
Receiving terminal safeguards a receiving queue, and entry is multi-component system:[package number, data packet, receiving time].It connects It is a Priority Queues to receive queue, i.e., its entry is always pressed package number ascending order and arranged.When initial, receiving queue is sky.
Numerical variable " last time go out team number ", " last time confirms finish number " initial value be all 0, as minimum data Packet number (1) subtracts 1;Variable " last time acknowledging time " is current time when initial;Set " last time negative acknowledgment number set " is initial When be empty set.
Step 101:By video flowing, cutting is data packet to transmitting terminal in order, and is numbered in order, and number is additional to number According to being transmitted in packet.
Transmitting terminal obtains video data stream (such as from camera) by certain mode, and cutting is the size suitable for network transmission Data packet (such as 1KB), affix number.Number can be continuously generated (such as 1,2,3,4) by ascending order.
Step 102:Transmitting terminal sends the data packet in order, and when recording the first transmission of each data packet Between and last time sending time.
In a specific embodiment, transmitting terminal sends above-mentioned data packet with multicast mode in order.One is often sent out, Increase an entry newly in sending state table, first sending time and last time sending time are set as sending time, receive collection and Loss integrates as empty set.
Step 103:Receiving terminal receives the data packet, according to number judge the data packet whether have packet loss, it is out of order or It repeats, data packet that is out of order and repeating is corrected according to judging result, and record the serial number of lost package.
Since each data are surrounded by individually number, and its number is constant when data packet retransmission, and receiving terminal is according to receiving Data packet number, can detect packet loss, it is out of order, repeat the problems such as.
Specifically, receiving terminal is with multicast mode received data packet.A data packet is often received, number is read, checks and receives Whether the entry equally numbered is had in queue, or whether " last time goes out team's number " is more than or equal to the number.If so, because should Data packet duplicates and abandons this data packet;If it is not, then being newly inserted into an entry, number is set to the volume of this packet Number, receiving time is set as receiving the time of this packet.
First entry of receiving queue (numbering minimum, hereinafter referred to as head of the queue) is checked again by a prefixed time interval Number.If it is 1 that head of the queue, which is numbered with the difference of " last time goes out team's number ", illustrate to be located next to what this data packet was not lost before Packet is carried out primary " going out team " operation.If head of the queue is numbered and last time went out the difference that team numbers and is more than 1, and current time and head of the queue Receiving time difference be more than maximum data delay t6, then it is assumed that the data packet that last time goes out between team's number and head of the queue number is lost Packet, and abandoned retransmitting, therefore also execute primary " going out team " operation.Every time " going out team " operation after, rechecking immediately it is new Head of the queue.
Due to the sequence of data packet that receiving terminal is abandoned retransmitting for the sequence of data packet and transmitting terminal of not packet loss, to submit Into the processing step of next stage.So " going out team " operation includes:Head of the queue is removed into receiving queue, and data in head of the queue packet are carried The processing step (specifically, audio/video decoding and display can be carried out) of next stage is given, and " last time goes out team's number " is set to The number of this data packet.Wherein, preset time is significantly less than negative acknowledgment interval t1, i.e., preset time is than negative acknowledgment interval t1At least It is small by 50%.
Finally, interval repeats traversal receiving queue, the discontinuous place of identiflication number at preset timed intervals, that is, lose Data packet generates " negative acknowledgment number set ".Wherein, preset time is significantly less than negative acknowledgment interval t1, i.e., preset time is than negative Acknowledgement interval t1To when young 50%.
Specifically, if " last time confirms finish number " is 1, the number in receiving queue includes 3,4,6, then illustrates to lose 2nd, No. 5 packet, " negative acknowledgment number set " should be { 2,5 }.
Step 104:Receiving terminal is at interval of negative acknowledgment interval t1The data packet lost is checked, if so, by the serial number of packet loss It is encapsulated in a negative acknowledgment packet with the serial number range of the data packet received, issues transmitting terminal,
Receiving terminal is at interval of positive acknowledgement interval t2Check the data packet lost, if without packet loss, the data packet that will receive Serial number range be encapsulated in one it is positive confirm in packet, issue transmitting terminal.
Receiving terminal is at interval of negative acknowledgment interval t1The data packet lost is checked, if so, by the serial number of packet loss and receiving The serial number range of data packet is encapsulated in one and confirms in packet, issues transmitting terminal.Specifically, if " negative acknowledgment number set " is not The subset of " last time negative acknowledgment number set ", then transmitting terminal send negative acknowledgment packet.
The problem of preferably coping with sudden packet loss, receiving terminal is at interval of positive acknowledgement interval t2Check the data packet lost, If without packet loss, the serial number range of the data packet received is encapsulated in a positive confirmation packet, transmitting terminal is issued.Specifically, If " negative acknowledgment number set " is sky, and current time and the difference of " last time acknowledging time " are more than positive acknowledgement interval t2, then send out Sending end, which is sent, confirms packet.
In a specific embodiment, confirm that the content of packet is:[start, terminate, negative acknowledgment number set].Wherein The value of " beginning " is " last time confirms finish number "+1, and the value of " end " is the number (if queue not empty) of receiving queue tail of the queue Or " last time goes out team's number " (if queue is sky), the two determines the range of confirmation;" negative acknowledgment number set " be empty Then omit.After transmission, " last time acknowledging time " is set to sending time, " last time confirms finish number " is set to " end " Value replaces with " last time negative acknowledgment number set " " negative acknowledgment number set ".
Step 105:Transmitting terminal receives the confirmation packet from each receiving terminal, the reception number to each data packet and loss number It is counted.
Transmitting terminal persistently intercepts the confirmation packet that receiving terminal is sent, and confirms that packet includes positive confirmation packet and negative acknowledgment packet.Often receive One confirms packet, then reads the serial number of the serial number of the data packet wherein received and the packet of loss, and update is right in state table to sending In the entry answered.For example, receiving terminal 10.0.0.5, which sends one, confirms that packet, content are that " range 2~6 loses 3,5 ", then will " 10.0.0.5 " the reception concentration of the entry of serial number 2,4,6 is added and the loss of the entry of serial number 3,5 is concentrated.If corresponding There is no then skip the entry of serial number.It receives collection and loses the size collected and be then referred to as reception number and lose number, statistics is each The reception number and loss number of data packet.
Step 106:Judge that each data packet needs to retransmit or abandons retransmitting.
Rule of judgment is as follows:
If retransmitting interval t in the negative acknowledgment of data packet last time sending time3Afterwards, it is more than minimum negative acknowledgment number n to lose number1, Then retransmit this data packet.Specifically, with prefixed time interval (significantly less than t3, i.e., to when young 50%) repetition traversal sends shape State table, if the loss number of some entry is more than threshold value n1, and current time distance " last time sending time " field is more than t3, then Retransmit this data packet.When repeating transmission, the time that " last time sending time " field is set as retransmitting, and will receive to collect and lose and collect It empties.
If retransmitting interval t in the positive confirmation of data packet last time sending time4Afterwards, it loses number and is less than minimum negative acknowledgment number n1, and receive the sum of number and loss number and be less than minimum confirmation number n2, then this data packet is retransmitted.Specifically, between preset time Every (significantly less than t4, i.e., to traversal transmission state table when young 50%) is repeated, if the loss number of some entry is no more than n1, and It receives number and is no more than n with the sum of number is lost2, and current time distance " last time sending time " field is more than t4, then this number is retransmitted According to packet.When repeating transmission, the time that " last time sending time " field is set as retransmitting, and will receive to collect and lose to collect and empty.
Preferably, in order not to have the phenomenon that repeating to retransmit in the short time, above-mentioned two Rule of judgment is in the same cycle Middle execution.
If transmitting terminal has been more than to abandon retransmitting interval t apart from first sending time in a data packet5, then weight is abandoned It passes.Specifically, with prefixed time interval (significantly less than t5, i.e., to traversal transmission state table when young 50%) is repeated, if currently Time gap " first sending time " field is more than t5, then abandon retransmitting, and this entry is deleted from sending in state table.
For the sequence of data packet that receiving terminal is abandoned retransmitting for the sequence of data packet and transmitting terminal of not packet loss, it is submitted to In the processing step of next stage.Specifically, audio/video decoding and display can be carried out.
Although being pointed out that the scope of application is not limited to this, and also may be used present invention is generally directed to the transmission of video flowing For streaming multicast/broadcast any higher to requirement of real-time and that data volume is larger.
Be different from the prior art feature, a kind of method for real-time video transmission provided by the invention, by combine it is positive confirm and The interval that negative acknowledgment mechanism, the problem of capable of preferably coping with sudden packet loss, and negative acknowledgment packet are sent is smaller, and is just confirming packet hair The interval sent is larger, this would not excessively increase the bandwidth for confirming that packet occupies, while ensure that (packet loss is flat under normal circumstances Surely) data delay is relatively low.
As shown in Fig. 2, a kind of RTP Transport System for Real-time 200, including:Transmitting terminal 201 and at least one receiving terminal 202.
The transmitting terminal 201 is used for that cutting to be data packet in order by video flowing, and sends in order, and record every The first sending time and last time sending time of a data packet receive the confirmation packet from each receiving terminal, to each data packet Reception number and lose number counted, judge whether each data packet needs to retransmit, if desired then retransmit;
The receiving terminal 202 judges whether the data packet has packet loss, out of order for receiving the data packet, according to number Or repeat, data packet that is out of order and repeating is corrected according to judging result, and record the serial number of lost package, at interval of negative acknowledgment interval t1It checks the data packet lost, is born really if so, the serial number range of the serial number of packet loss and the data packet received is encapsulated in one Recognize in packet, issue transmitting terminal, at interval of positive acknowledgement interval t2Check the data packet lost, if without packet loss, the number that will receive It is encapsulated in a positive confirmation packet according to the serial number range of packet, issues transmitting terminal.
Between the transmitting terminal 201 and the receiving terminal 202 by way of broadcast or multicast transmitting video-frequency flow.
Be different from the prior art feature, a kind of RTP Transport System for Real-time provided by the invention, by combine it is positive confirm and The interval that negative acknowledgment mechanism, the problem of capable of preferably coping with sudden packet loss, and negative acknowledgment packet are sent is smaller, and is just confirming packet hair The interval sent is larger, this would not excessively increase the bandwidth for confirming that packet occupies, while ensure that (packet loss is flat under normal circumstances Surely) data delay is relatively low.
It will be understood by those skilled in the art that method and system of the present invention is not limited to institute in specific implementation mode The embodiment stated, specific descriptions above are intended merely to explain the purpose of the present invention, are not intended to limit the present invention.This field skill Art personnel can derive other implementation manners according to the technical scheme of the present invention, and also belong to the scope of the technical innovation of the present invention, this The protection domain of invention is limited by claim and its equivalent.

Claims (10)

1. a kind of method for real-time video transmission, which is characterized in that the described method comprises the following steps:
(1) by video flowing, cutting is data packet to transmitting terminal in order, and is numbered in order, and number is additional in data packet and is carried out Transmission;
(2) transmitting terminal sends the data packet in order, and records first sending time and the last time of each data packet Sending time;
(3) receiving terminal receives the data packet, judges whether the data packet has packet loss, out of order or repetition according to number, according to Judging result corrects data packet that is out of order and repeating, and records the serial number of lost package;
(4) receiving terminal is at interval of negative acknowledgment interval t1The data packet lost is checked, if so, by the serial number of packet loss and the number received It is encapsulated in a negative acknowledgment packet according to the serial number range of packet, issues transmitting terminal,
Receiving terminal is at interval of positive acknowledgement interval t2The data packet lost is checked, if without packet loss, by the serial number of the data packet received Range is encapsulated in a positive confirmation packet, issues transmitting terminal;
(5) transmitting terminal receives the confirmation packet from each receiving terminal, and the reception number and loss number to each data packet count;
(6) judge whether each data packet needs to retransmit, if desired then retransmit.
2. a kind of method for real-time video transmission as described in claim 1, which is characterized in that the transmitting terminal and receiving terminal pass through The mode of broadcast or multicast is transmitted.
3. a kind of method for real-time video transmission as described in claim 1, which is characterized in that specifically included in the step (6):
If retransmitting interval t in the negative acknowledgment of data packet last time sending time3Afterwards, it is more than minimum negative acknowledgment number n to lose number1, then weigh Pass this data packet;
If retransmitting interval t in the positive confirmation of data packet last time sending time4Afterwards, it loses number and is less than minimum negative acknowledgment number n1, and It receives the sum of number and loss number and is less than minimum confirmation number n2, then this data packet is retransmitted.
4. a kind of method for real-time video transmission as described in claim 1, which is characterized in that further include in the step (6):
If transmitting terminal has been more than to abandon retransmitting interval t apart from first sending time in a data packet5, then abandon retransmitting.
5. a kind of method for real-time video transmission as described in claim 1 or 4 is any, it is characterised in that:
The sequence of data packet that receiving terminal is abandoned retransmitting for the sequence of data packet and transmitting terminal of not packet loss, is submitted to next stage In processing step.
6. a kind of method for real-time video transmission as claimed in claim 3, it is characterised in that:
Minimum negative acknowledgment number n1Confirm number n with minimum2It is determined by preset ratio according to the sum of receiving terminal.
7. a kind of method for real-time video transmission as claimed in claim 6, it is characterised in that:
The confirmation packet real-time estimation that the sum of receiving terminal is received by receiving terminal comes out.
8. a kind of method for real-time video transmission as described in claim 1, it is characterised in that:
Negative acknowledgment interval t1Than positive acknowledgement interval t2To when young 50%.
9. a kind of method for real-time video transmission as described in claim 1 or 3, it is characterised in that:
Negative acknowledgment retransmits interval t3More than negative acknowledgment interval t1, and negative acknowledgment retransmits interval t3With negative acknowledgment interval t1Belong to same The order of magnitude;
It is positive to confirm re-transmission interval t4More than positive acknowledgement interval t2, and positive confirmation retransmits interval t4With positive acknowledgement interval t2Belong to same The order of magnitude.
10. a kind of RTP Transport System for Real-time, which is characterized in that including:Transmitting terminal and at least one receiving terminal;
The transmitting terminal is used for that cutting to be data packet in order by video flowing, and sends in order, and record each data The first sending time and last time sending time of packet, receive the confirmation packet from each receiving terminal, the reception to each data packet Number and loss number are counted, and are judged whether each data packet needs to retransmit, are if desired then retransmitted;
The receiving terminal judges whether the data packet has packet loss, out of order or repetition for receiving the data packet, according to number, Data packet that is out of order and repeating is corrected according to judging result, and records the serial number of lost package, at interval of negative acknowledgment interval t1It checks The data packet of loss, if so, the serial number range of the serial number of packet loss and the data packet received is encapsulated in a negative acknowledgment packet, Transmitting terminal is issued, at interval of positive acknowledgement interval t2The data packet lost is checked, if without packet loss, by the sequence of the data packet received Number range be encapsulated in one it is positive confirm in packet, issue transmitting terminal.
CN201810083545.1A 2018-01-29 2018-01-29 Real-time video transmission method and system Active CN108377427B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810083545.1A CN108377427B (en) 2018-01-29 2018-01-29 Real-time video transmission method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810083545.1A CN108377427B (en) 2018-01-29 2018-01-29 Real-time video transmission method and system

Publications (2)

Publication Number Publication Date
CN108377427A true CN108377427A (en) 2018-08-07
CN108377427B CN108377427B (en) 2021-11-26

Family

ID=63016871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810083545.1A Active CN108377427B (en) 2018-01-29 2018-01-29 Real-time video transmission method and system

Country Status (1)

Country Link
CN (1) CN108377427B (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109274980A (en) * 2018-09-19 2019-01-25 北京文香信息技术有限公司 A kind of data transmission method for being quickly broadcast live
CN109660749A (en) * 2018-12-22 2019-04-19 成都毅创空间科技有限公司 A kind of gate inhibition's communication device
CN109842821A (en) * 2018-12-25 2019-06-04 视联动力信息技术股份有限公司 A kind of method and apparatus of video data transmission
CN110225419A (en) * 2019-05-15 2019-09-10 深圳市麦谷科技有限公司 A kind of packet loss repeating method for realizing flow control
CN110417644A (en) * 2019-07-29 2019-11-05 中国工商银行股份有限公司 The message method and device of instant messaging
CN110545486A (en) * 2019-08-05 2019-12-06 广州珠江数码集团股份有限公司 Video signal transmission method, device, medium and terminal equipment
CN110649994A (en) * 2019-09-27 2020-01-03 北京奇艺世纪科技有限公司 Data transmission control method, related device and storage medium
CN111263240A (en) * 2020-02-12 2020-06-09 青岛海信宽带多媒体技术有限公司 IPTV4K audio and video playing management method and device and display equipment
CN111385069A (en) * 2018-12-27 2020-07-07 广州市百果园信息技术有限公司 Data transmission method and computer equipment
CN112398797A (en) * 2019-08-19 2021-02-23 贵州白山云科技股份有限公司 Data transmission method, receiving device, transmitting device, medium, device, and system
CN114531210A (en) * 2022-02-03 2022-05-24 百果园技术(新加坡)有限公司 Data retransmission method and device, electronic equipment and storage medium
WO2022116976A1 (en) * 2020-12-04 2022-06-09 中兴通讯股份有限公司 Method for detecting packet loss in network, electronic device and computer-readable storage medium
CN114978433A (en) * 2022-05-20 2022-08-30 百度时代网络技术(北京)有限公司 Data transmission method, device, equipment, storage medium and computer program product
WO2023071467A1 (en) * 2021-10-25 2023-05-04 北京字节跳动网络技术有限公司 Data deduplication method and apparatus, and storage medium

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075948A (en) * 2006-05-15 2007-11-21 中兴通讯股份有限公司 Method for realizing realtime fluid-medium programm reliable transmission
CN101304302A (en) * 2008-06-06 2008-11-12 广东威创视讯科技股份有限公司 Method and system for transmitting video data
CN101714915A (en) * 2009-11-02 2010-05-26 清华大学 Data retransmission method and system
US7782851B2 (en) * 2007-06-26 2010-08-24 At&T Intellectual Property I, L.P. System and method of detecting lost video data packets
CN102546081A (en) * 2010-12-21 2012-07-04 中兴通讯股份有限公司 Packet loss detection method, system and media client
CN102857440A (en) * 2012-08-17 2013-01-02 杭州华三通信技术有限公司 Data processing method and switchboard
US20130279391A1 (en) * 2012-04-23 2013-10-24 Anil Gupta Transmission in a network with active and sleeping clients
CN103780971A (en) * 2012-10-23 2014-05-07 北京网动网络科技股份有限公司 RUDP-based real-time video transmission method under internet condition
CN104244109A (en) * 2014-09-19 2014-12-24 浙江宇视科技有限公司 Method and device for reliably transmitting and receiving media streams
US20160323062A1 (en) * 2015-05-01 2016-11-03 Ubitus Inc. Packet recovery in interactive real-time media protocol
CN106330289A (en) * 2015-06-19 2017-01-11 中广联合移动电视系统有限公司 Big data satellite network transmission system
CN106341241A (en) * 2016-08-18 2017-01-18 北京海誉动想科技股份有限公司 High-packet-loss-rate cloud system file multicast method and device
CN106911485A (en) * 2017-03-16 2017-06-30 恒生电子股份有限公司 For the method and apparatus of reliable multicast transport data
CN206908759U (en) * 2017-06-14 2018-01-19 广州珠江数码集团股份有限公司 A kind of video multicast packet loss retransmission system

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075948A (en) * 2006-05-15 2007-11-21 中兴通讯股份有限公司 Method for realizing realtime fluid-medium programm reliable transmission
US7782851B2 (en) * 2007-06-26 2010-08-24 At&T Intellectual Property I, L.P. System and method of detecting lost video data packets
CN101304302A (en) * 2008-06-06 2008-11-12 广东威创视讯科技股份有限公司 Method and system for transmitting video data
CN101714915A (en) * 2009-11-02 2010-05-26 清华大学 Data retransmission method and system
CN102546081A (en) * 2010-12-21 2012-07-04 中兴通讯股份有限公司 Packet loss detection method, system and media client
US20130279391A1 (en) * 2012-04-23 2013-10-24 Anil Gupta Transmission in a network with active and sleeping clients
CN102857440A (en) * 2012-08-17 2013-01-02 杭州华三通信技术有限公司 Data processing method and switchboard
CN103780971A (en) * 2012-10-23 2014-05-07 北京网动网络科技股份有限公司 RUDP-based real-time video transmission method under internet condition
CN104244109A (en) * 2014-09-19 2014-12-24 浙江宇视科技有限公司 Method and device for reliably transmitting and receiving media streams
US20160323062A1 (en) * 2015-05-01 2016-11-03 Ubitus Inc. Packet recovery in interactive real-time media protocol
CN106330289A (en) * 2015-06-19 2017-01-11 中广联合移动电视系统有限公司 Big data satellite network transmission system
CN106341241A (en) * 2016-08-18 2017-01-18 北京海誉动想科技股份有限公司 High-packet-loss-rate cloud system file multicast method and device
CN106911485A (en) * 2017-03-16 2017-06-30 恒生电子股份有限公司 For the method and apparatus of reliable multicast transport data
CN206908759U (en) * 2017-06-14 2018-01-19 广州珠江数码集团股份有限公司 A kind of video multicast packet loss retransmission system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
何润岸: "基于UDP进行大规模数据传输的可靠传输系统的设计与实现", 《中国优秀硕士学位论文全文数据库》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109274980A (en) * 2018-09-19 2019-01-25 北京文香信息技术有限公司 A kind of data transmission method for being quickly broadcast live
CN109660749A (en) * 2018-12-22 2019-04-19 成都毅创空间科技有限公司 A kind of gate inhibition's communication device
CN109660749B (en) * 2018-12-22 2021-04-09 成都毅创空间科技有限公司 Entrance guard communication device
CN109842821A (en) * 2018-12-25 2019-06-04 视联动力信息技术股份有限公司 A kind of method and apparatus of video data transmission
CN111385069A (en) * 2018-12-27 2020-07-07 广州市百果园信息技术有限公司 Data transmission method and computer equipment
CN110225419A (en) * 2019-05-15 2019-09-10 深圳市麦谷科技有限公司 A kind of packet loss repeating method for realizing flow control
CN110417644A (en) * 2019-07-29 2019-11-05 中国工商银行股份有限公司 The message method and device of instant messaging
CN110545486A (en) * 2019-08-05 2019-12-06 广州珠江数码集团股份有限公司 Video signal transmission method, device, medium and terminal equipment
CN110545486B (en) * 2019-08-05 2022-04-05 广州珠江数码集团股份有限公司 Video signal transmission method, device, medium and terminal equipment
CN112398797A (en) * 2019-08-19 2021-02-23 贵州白山云科技股份有限公司 Data transmission method, receiving device, transmitting device, medium, device, and system
CN110649994A (en) * 2019-09-27 2020-01-03 北京奇艺世纪科技有限公司 Data transmission control method, related device and storage medium
CN111263240A (en) * 2020-02-12 2020-06-09 青岛海信宽带多媒体技术有限公司 IPTV4K audio and video playing management method and device and display equipment
CN111263240B (en) * 2020-02-12 2022-07-19 青岛海信宽带多媒体技术有限公司 IPTV4K audio and video playing management method and device and display equipment
WO2022116976A1 (en) * 2020-12-04 2022-06-09 中兴通讯股份有限公司 Method for detecting packet loss in network, electronic device and computer-readable storage medium
WO2023071467A1 (en) * 2021-10-25 2023-05-04 北京字节跳动网络技术有限公司 Data deduplication method and apparatus, and storage medium
CN114531210A (en) * 2022-02-03 2022-05-24 百果园技术(新加坡)有限公司 Data retransmission method and device, electronic equipment and storage medium
CN114531210B (en) * 2022-02-03 2024-01-26 百果园技术(新加坡)有限公司 Data retransmission method, device, electronic equipment and storage medium
CN114978433A (en) * 2022-05-20 2022-08-30 百度时代网络技术(北京)有限公司 Data transmission method, device, equipment, storage medium and computer program product
CN114978433B (en) * 2022-05-20 2023-12-05 百度时代网络技术(北京)有限公司 Data transmission method, apparatus, device, storage medium and computer program product

Also Published As

Publication number Publication date
CN108377427B (en) 2021-11-26

Similar Documents

Publication Publication Date Title
CN108377427A (en) A kind of method for real-time video transmission and system
CN104969495B (en) Method and transmitters and receivers for being wirelessly transmitted and receiving data
US9306708B2 (en) Method and apparatus for retransmission decision making
US6505253B1 (en) Multiple ACK windows providing congestion control in reliable multicast protocol
EP2529528B1 (en) A method and apparatus for parsing a network abstraction-layer for reliable data communication
DE102006061879B4 (en) System and method for improving WiFi real-time communications
CN101877672B (en) System and method for retransmitting packets over a network of communication channels
US6526022B1 (en) Detecting congestion by comparing successive loss of packets in windows to provide congestion control in reliable multicast protocol
DE60035530T2 (en) Hybrid ARQ system with data and control channel for data packet transmission
CN101421964B (en) Method and apparatus for transmitting and receiving status report in a mobile communication system
US20080192661A1 (en) Radio Transmission Method
CN110995697A (en) Big data transmission method and system
CN101141406B (en) Distributed flow control method, system and device
US20050160345A1 (en) Apparatus, system, method and computer program product for reliable multicast transport of data packets
EP1411688A2 (en) Method and apparatus for multicast data retransmission
MX2010014058A (en) Method and apparatus for acknowledgement and retransmission of multicast data in wireless local area networks.
DE60218149T2 (en) DATA PACKET REGULATION IN A COMMUNICATION SYSTEM
CN104486690B (en) A kind of mobile video transmission optimization method based on Transmission Control Protocol
CA2355005A1 (en) Multicast file transmission method
DE10295631T5 (en) Mechanism for an automatic retry request in a radio access network
CN105721950A (en) Reliable media stream transmission device
CN103814582A (en) Data transmission method, data receiving device and data sending device for video service
CN109155707A (en) The request data retransmission in multicast network
CN1317870C (en) Method for guaranteeing reliability of data transmission from one point to multiple points
EP1419607B1 (en) Method and wireless station for transmitting data packets in a radio communication system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant