CN108696773A - A kind of transmission method and device of real-time video - Google Patents
A kind of transmission method and device of real-time video Download PDFInfo
- Publication number
- CN108696773A CN108696773A CN201710233780.8A CN201710233780A CN108696773A CN 108696773 A CN108696773 A CN 108696773A CN 201710233780 A CN201710233780 A CN 201710233780A CN 108696773 A CN108696773 A CN 108696773A
- Authority
- CN
- China
- Prior art keywords
- video
- fragment
- frame
- packet loss
- video frame
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000012634 fragment Substances 0.000 claims abstract description 551
- 230000004044 response Effects 0.000 claims abstract description 61
- 239000000872 buffer Substances 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000012790 confirmation Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 3
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The embodiment of the invention discloses a kind of transmission method of real-time video and devices.The method includes:The Video coding frame generated in real time is subjected to fragment processing, forms at least one video frame fragment;The video frame fragment is sequentially placed into and is sent in buffer area;Confirm response for the reception that different video frame fragment returns according to video playing end, the video frame fragment of the Video coding frame is forwarded to the video playing end to carry out real-time video broadcasting according to setting sending strategy by video server.Technical solution through the invention can reduce transmission of video delay, improve the reliability of transmission of video, improve user experience.
Description
Technical field
The present embodiments relate to the information processing technology more particularly to the transmission methods and device of a kind of real-time video.
Background technology
With the continuous universal and development of internet, mobile Internet net cast is in blowout hair like a raging fire
In exhibition.Traditional live streaming is one-way type mostly, for example TV station or operator's live streaming, user only need the receipts that open a terminal
It sees, for real-time, there is no too big requirements.And mobile Internet net cast often functionally needs to record end
There are interaction, this interaction to be not limited to the interaction of word with end is played, further includes the interaction of video, therefore, mobile Internet video
It is higher that requirement of real-time is broadcast live.
Currently, the data interactive method of real-time video is in mobile Internet net cast, records end and acquire video data
And Video coding is carried out according to X264 formats, by QoS (Quality of Service, service quality) algorithms by video fluxion
According to based on RTMP (the Real Time on TCP (Transmission Control Protocol, transmission control protocol)
Messaging Protocol, real-time messages transport protocol) plug-flow to CDN, (divide by Content Delivery Network, content
Hairnet network) server is distributed, and it plays end and draws stream decoding to play from CDN server.
In the prior art since the video stream data message based on TCP is excessive, and data interaction is complicated, transmission of video
Real-time easily influenced by network fluctuation so that whole network link transmission of video delay usually at 1-3 seconds or
Person is worse.
Invention content
The embodiment of the present invention provides a kind of transmission method and device of real-time video, and transmission of video delay is reduced to realize,
The reliability of transmission of video is improved, user experience is improved.
In a first aspect, an embodiment of the present invention provides a kind of transmission methods of real-time video, including:
The Video coding frame generated in real time is subjected to fragment processing, forms at least one video frame fragment;
The video frame fragment is sequentially placed into and is sent in buffer area;
Response is confirmed for the reception that different video frame fragment returns according to video playing end, by the Video coding frame
Video frame fragment is forwarded to the video playing end by video server according to setting sending strategy and is broadcast with carrying out real-time video
It puts.
Second aspect, the embodiment of the present invention additionally provide a kind of transmission method of real-time video, including:
Receive video server forwarding, the video frame fragment sent by video sending end, and by the video frame fragment
It is put into order caching area in corresponding frame number, while the maximum of video frame fragment that update has continuously received continuously divides
Piece number and packet loss cache table;
According to the maximum continuous fragment number and the packet loss cache table, periodically generates corresponding reception and confirm sound
It answers;
The reception is confirmed that response is sent to the video server, so that the video server receives described really
Recognize response and is forwarded to the video sending end;
If all video frame fragments are properly received in the frame number in the order caching area, merge the frame number
Interior all video frame fragments, to carry out real-time video broadcasting.
The third aspect, the embodiment of the present invention additionally provide a kind of transmitting device of real-time video, are configured at video sending end,
The device includes:
Fragment processing module, the Video coding frame for that will generate in real time carry out fragment processing, form at least one video
Frame fragment;
Buffer module is sent, is sent in buffer area for the video frame fragment to be sequentially placed into;
Fragment sending module, for confirming response for the reception that different video frame fragment returns according to video playing end,
The video frame fragment of the Video coding frame is forwarded to the video playing according to setting sending strategy by video server
End is to carry out real-time video broadcasting.
Fourth aspect, the embodiment of the present invention additionally provide a kind of transmitting device of real-time video, are configured at video playing end,
The device includes:
Fragment receiver module, for receiving video server forwarding, by the video frame fragment of video sending end transmission, and
The video frame fragment is put into order caching area in corresponding frame number, while the video frame that update has continuously received
The continuous fragment number of maximum and packet loss cache table of fragment;
Generation module is responded, for according to the maximum continuous fragment number and the packet loss cache table, periodically generating
Corresponding reception confirms response;
Sending module is responded, for the reception to be confirmed that response is sent to the video server, so that the video
The reception is confirmed that response is forwarded to the video sending end by server;
Fragment merging module, if successfully being connect for all video frame fragments in the frame number in the order caching area
It receives, then merges all video frame fragments in the frame number, to carry out real-time video broadcasting.
The embodiment of the present invention, will according to setting sending strategy by the way that Video coding frame is divided at least one video frame fragment
Video frame fragment is transmitted to video playing end by video server, to carry out real-time video broadcasting, solves in the prior art
The big problem of slowed-down video caused by using based on the transmission mode of TCP, realizing reduces transmission of video delay, and raising regards
Defeated reliability is kept pouring in, the effect of user experience is improved.
Description of the drawings
Fig. 1 is a kind of flow diagram of the transmission method for real-time video that the embodiment of the present invention one provides;
Fig. 2 is a kind of flow diagram of the transmission method of real-time video provided by Embodiment 2 of the present invention;
Fig. 3 is a kind of flow diagram of the transmission method for real-time video that the embodiment of the present invention three provides;
Fig. 4 is a kind of flow diagram of the transmission method for real-time video that the embodiment of the present invention four provides;
Fig. 5 is a kind of structural schematic diagram of the transmitting device for real-time video that the embodiment of the present invention five provides;
Fig. 6 is a kind of structural schematic diagram of the transmitting device for real-time video that the embodiment of the present invention six provides.
Specific implementation mode
The present invention is described in further detail with reference to the accompanying drawings and examples.It is understood that this place is retouched
The specific embodiment stated is used only for explaining the present invention rather than limitation of the invention.It also should be noted that in order to just
Only the parts related to the present invention are shown in description, attached drawing rather than entire infrastructure.
Embodiment one
Fig. 1 is a kind of flow diagram of the transmission method for real-time video that the embodiment of the present invention one provides.This method can
The case where suitable for real-time video transmission, this method can be executed by the transmitting device of real-time video, which can be by hardware
And/or software composition, and can generally be integrated in video sending end and all intelligent terminals comprising video sending function.Tool
Body includes as follows:
S110, the Video coding frame generated in real time is subjected to fragment processing, forms at least one video frame fragment.
Optionally, after collecting real time video data by video acquisition devices such as cameras, using video encoder
Real-time coding processing is carried out to real time video data, forms Video coding frame, and for high-resolution Video coding frame, frame
Size is often higher than the network in the transmission mode based on UDP (User Datagram Protocol, User Datagram Protocol)
Maximum transmission unit, it is therefore desirable to fragment processing be carried out to the Video coding frame generated in real time, formed at least one less than default
After the video frame fragment of size, the transmission of video data is carried out using video frame fragment as transmission unit, to efficiently solve
The high problem of slowed-down video caused by transmission unit is excessive, reduces the transmission delay of video.
Preferably, the Video coding frame generated in real time can be that encoder is encoded according to H264 agreements, and filters out B frames
Afterwards, the coded frame of generation.
Wherein, B frames are bi-directional predicted frames, are needed according to backward video frame come predictive coding.Filtering out B frames is advantageous in that,
Coding delay can be reduced, ensure the real-time of transmission of video and broadcasting.
Preferably, the Video coding frame generated in real time is subjected to fragment processing, forms at least one video frame fragment, wrapped
It includes:If the byte number included by Video coding frame is less than default the sum of single fragment byte number and predetermined word joint number, by video
Coded frame is divided into a video frame fragment;If the byte number included by Video coding frame is the S for presetting single fragment byte number
Times, then Video coding frame is divided into S video frame fragment, wherein S is the integer more than 0;If included by Video coding frame
Byte number is that S times of default single fragment byte number more than zero and is less than default with beyond the sum of byte number, and beyond byte number
Video coding frame is then divided into S video frame fragment, and will be put into last beyond the byte corresponding to byte number by byte number
A video frame fragment;If the byte number included by Video coding frame be preset S times of single fragment byte number with beyond byte number
The sum of, and be not less than predetermined word joint number beyond byte number, then Video coding frame is divided into (S+1) a video frame fragment.
Illustratively, the maximum fragment number of Video coding frame may be configured as 500, presets single fragment byte number and may be configured as
800 bytes, predetermined word joint number may be configured as 50.For example, the frame byte number when Video coding frame is less than 800+50=850 byte
When, then only it is divided into a video frame fragment;When the frame byte number of Video coding frame is 800 S times of integral multiple, then it is divided into S
Video frame fragment;When the also remaining N number of byte of S times that the frame byte number of Video coding frame is 800, if 0<N<50, then by extra N
A byte is put into the last one video frame fragment of S video frame fragment, is finally divided into S video frame fragment;If N >=50,
It is then extra N number of byte individually one video frame fragment of distribution, is finally divided into (S+1) a video frame fragment.
S120, video frame fragment is sequentially placed into transmission buffer area.
Optionally, in store all video frame point for sending and not receiving reception and confirming response in buffer area are sent
Piece.Relative to transmission mode of the udp protocol without confirmation, setting, which sends buffer area, to be advantageous in that, can be sent out in video frame fragment
The video frame fragment is sent again when sending unsuccessfully, and it is to be transmitted across but do not received before retransmitting to send buffer area
Confirm that the video frame fragment of response provides interim storage address, to improve the reliability of transmission of video.
S130, response is confirmed for the reception that different video frame fragment returns according to video playing end, by Video coding frame
Video frame fragment according to setting sending strategy video playing end is forwarded to carry out real-time video broadcasting by video server.
Illustratively, the fragment number for confirming and may include the video frame fragment for having confirmed that reception in response is received, is preferably regarded
Frequency plays the continuous fragment number of maximum for the video frame fragment that end continuously receives, and can also include unreceived video frame fragment
Fragment number, i.e. packet loss fragment number.Wherein, setting sending strategy can be the transmitting mode based on UDP, that is, after sending message
The transmission mode that need to be confirmed can specifically pass through the transmitting of slide window implementation video frame fragment.
Preferably, response is confirmed for the reception that different video frame fragment returns according to video playing end, by Video coding
The video frame fragment of frame is forwarded to video playing end by video server according to setting sending strategy and is broadcast with carrying out real-time video
It puts, including:The video frame fragment to be confirmed for sending setting quantity is stored in video server, and by video frame fragment to be confirmed
In the transmission window for sending buffer area;The video frame fragment sent by video playing end for receiving video server forwarding receives really
Recognize response;If receiving the continuous fragment number of maximum for confirming that response includes the video frame fragment that video playing end continuously receives,
Transmission window is then slided, the video frame fragment having confirmed that is deleted from transmission window, generates idle transmission window;If received
Confirm that response includes the packet loss fragment number at video playing end, then obtains video frame fragment corresponding with packet loss fragment number, and again
It is forwarded to video playing end by video server;Continue to send the video to be confirmed to match with the idle quantity for sending window
Frame fragment is stored in idle send in window to video server, and by the video frame fragment to be confirmed for continuing to send;Return is held
The video frame fragment sent by video playing end that row receives video server forwarding receives the operation for confirming response, until completing
The confirmation of all videos frame fragment is sent.
Illustratively, it is 5 to send window size, to be confirmed is regarded from playing to send fragment number in buffer area and be 5 of 1-5
Frequency frame fragment is stored to video server, and by this 5 video frame fragments to be confirmed into transmission window.If receiving video to broadcast
The continuous fragment number of maximum for putting the video frame fragment that end continuously receives is 5, then by this 5 video frame fragments to be confirmed from hair
It send in window and deletes, and 5 video frame fragments to be confirmed that fragment number is 6-10 are stored to sending in window, sent out
It send;If the continuous fragment number of the maximum for receiving the video frame fragment that video playing end continuously receives is 3, and receives packet loss fragment number
It is 4, then deletes the 1-3 video frame fragments sent in window, and retransmit the video frame fragment that fragment number is 4, while sends and dividing
Piece number is the video frame fragment of 6-8.
The technical solution of the present embodiment is sent out by the way that Video coding frame is divided at least one video frame fragment according to setting
It send strategy that video frame fragment is transmitted to video playing end by video server, to carry out real-time video broadcasting, solves existing
Have in technology and prolongs because using the big problem of slowed-down video caused by based on the transmission mode of TCP, realizing reduces transmission of video
Late, the reliability for improving transmission of video improves the effect of user experience.
Embodiment two
Fig. 2 is a kind of flow diagram of the transmission method of real-time video provided by Embodiment 2 of the present invention.The present embodiment
It is optimized based on above-described embodiment, provides the transmission method of preferred real-time video, specifically, in video frame fragment
It is sequentially placed into after sending in buffer area and is advanced optimized.It specifically includes as follows:
S210, the Video coding frame generated in real time is subjected to fragment processing, forms at least one video frame fragment.
S220, video frame fragment is sequentially placed into transmission buffer area.
Whether it includes expired video of the existence time more than preset time threshold that S230, periodic test are sent in buffer area
Frame fragment, if so, executing S240;If it is not, then executing S260.
Wherein, inspection cycle can be 10s, preset time threshold can according to the video playback time at video playing end into
Row setting.May result in network congestion send in buffer area have it is many sent and fragment message to be confirmed, the period
Property the expired video frame fragment that sends in buffer area of inspection be advantageous in that, the video frame that played point can be removed in time
Piece, i.e., the time corresponding to video frame fragment that currently played more than video playing end reduce video and pass to alleviate congestion
Defeated delay.
S240, will all videos frame fragment corresponding with the associated expired Video coding frame group of video frame fragment it is slow from sending
It deposits in area and removes, and generated according to next Video coding frame group after expired Video coding frame group and abandon synchronizing information,
Wherein, Video coding frame group includes at least one Video coding frame.
Wherein, expired Video coding frame group can be where the Video coding frame corresponding to expired video frame fragment
GOP (Group of Pictures, picture group).Illustratively, if detecting, some video frame fragment in a GOP is already expired
Phase, then from the entire GOP sent where removing the video frame fragment in buffer area, and according to key frame (the i.e. I in next GOP
Frame) frame number and the key frame corresponding to video frame fragment fragment number generate it is corresponding abandon synchronizing information, with right
The reception condition at video playing end synchronizes.Preferably, discarding synchronizing information can be synchronized to each video by Handshake Protocol and be broadcast
Put end.
Preferably, will all videos frame fragment corresponding with the associated expired Video coding frame group of video frame fragment from hair
It send after being removed in buffer area, further includes:The discarding frequency to expired Video coding frame group is updated, if in preset time section
Interior discarding frequency is more than to abandon threshold value, then reduces the value of data transmission parameters;Wherein, data transmission parameters include:
The resolution ratio and/or data transmission code check of video encoder.
Illustratively, it is frequently occurred at the discarding of expired Video coding frame group during video frame fragment is sent
Reason, can cause a degree of influence to the video display process at video playing end, it is possible that the case where playing interim card, when
When excessively frequent to the discard processing of Video coding frame group, illustrate that current network is not suitable for transmission high-resolution or high data transmission
The video of code check, therefore, the case where reducing the value of data transmission parameters is advantageous in that, can alleviate network congestion, in turn
Video display effect is improved, user experience is promoted.
S250, discarding synchronizing information is forwarded at least one video playing end by video server, to indicate video
It plays end to abandon receiving corresponding with expired Video coding frame group video frame fragment, and abandons received with expired video volume
The corresponding video frame fragment of code frame group.
When illustratively, when abandoned there are expired Video coding frame group the case where, video sending end is same by the discarding of generation
Step information is forwarded to associated at least one video player by video server, and video playing end can be synchronized according to abandoning
The continuous fragment number of maximum for the video frame fragment that information update currently continuously receives, to indicate video playing end from the frame sequence
Number and fragment number start to receive video frame fragment, and by the video frame fragment in the expired Video coding frame group received before
It abandons.
Preferably, it includes the frame number in next Video coding frame group corresponding to key video sequence coded frame to abandon synchronizing information
And in key video sequence coded frame video frame fragment minimum fragment number.
Wherein, Video coding frame group can be a GOP, and key video sequence coded frame can be the I frames in the GOP.
S260, response is confirmed for the reception that different video frame fragment returns according to video playing end, by Video coding frame
Video frame fragment according to setting sending strategy video playing end is forwarded to carry out real-time video broadcasting by video server.
The technical solution of the present embodiment is abandoned by periodic test and in time and is sent in buffer area more than preset time threshold
The expired video frame fragment of value, and the discarding of generation is synchronized and is sent to each video playing end, so that video playing end abandons connecing
Video frame fragment corresponding with expired video frame group is received, and abandons received video frame corresponding with expired video frame group
Fragment reduces transmission of video delay to alleviate network congestion.
Embodiment three
Fig. 3 is a kind of flow diagram of the transmission method for real-time video that the embodiment of the present invention three provides.This method can
The case where suitable for real-time video transmission, this method can be executed by the transmitting device of real-time video, which can be by hardware
And/or software composition, and can generally be integrated in video playing end and all intelligence comprising video reception and playing function eventually
In end.It specifically includes as follows:
S310, video server forwarding is received, the video frame fragment sent by video sending end, and by video frame fragment
It is put into order caching area in corresponding frame number, while the maximum of video frame fragment that update has continuously received continuously divides
Piece number and packet loss cache table.
Optionally, include multiple frame buffers in order caching area, each frame buffer is corresponded to there are one frame number,
Frame buffer corresponding to wherein each frame number is assigned with the fragment cache memory area of the video frame fragment of corresponding number.It is exemplary
, after video playing end receives video frame fragment, video frame fragment can be put into dividing in the frame buffer under corresponding frame number
It is stored in piece buffer area, and updates corresponding reference record.For example, it is that fragment No. 1 is that video playing end, which receives frame number,
This 5 video frame fragments are then put into the frame buffer that frame number is 1 in order caching area by 5 video frame fragments of 1-5,
And stored respectively according to fragment number, while the continuous fragment number of maximum for updating the video frame fragment continuously received is
5, if there are packet drop, it will be in packet loss fragment number record to packet loss cache table.
Preferably, video server forwarding is being received, before the video frame fragment sent by video sending end, also wrapped
It includes:If receiving video server forwarding, the discarding synchronizing information sent by video sending end, then according to discarding synchronizing information
The continuous fragment number of maximum of the video frame fragment continuously received is updated, and is abandoned received with expired Video coding
The corresponding video frame fragment of frame group, wherein it includes key video sequence coded frame institute in next Video coding frame group to abandon synchronizing information
The minimum fragment number of video frame fragment in corresponding frame number and key video sequence coded frame, Video coding frame group includes at least
One Video coding frame.
When illustratively, when video sending end is abandoned there are expired Video coding frame group the case where, video playing end can connect
The discarding synchronizing information generated and sent by video sending end forwarded by video server is received, and letter is synchronized according to abandoning
The continuous fragment number of maximum for the video frame fragment that breath update has currently continuously received, i.e., the video that will have been continuously received
The continuous fragment number of maximum of frame fragment is set as the video frame in next Video coding frame group corresponding to key video sequence coded frame point
The minimum fragment number of piece, and then frame number from next Video coding frame group corresponding to key video sequence coded frame and key regard
The minimum fragment number of video frame fragment starts to receive video frame fragment in frequency coded frame, and the expired video received before is compiled
Video frame fragment in code frame group abandons.
S320, according to maximum continuous fragment number and packet loss cache table, periodically generate corresponding receptions and confirm and respond.
Optionally, it receives and confirms that the generation period of response can be 10ms.Due to receive every time video frame fragment need to
Video sending end transmit and receive confirm response, and if every time receive video frame fragment all transmits and receives confirmation respond may lead
Network congestion is caused, therefore, corresponding reception is periodically generated and confirms that response is advantageous in that, it is possible to reduce network congestion.
Preferably, include the continuous fragment of maximum of the video frame fragment continuously received in reception confirmation response
Number, and the packet loss fragment number that is obtained from packet loss cache table.
S330, reception is confirmed that response is sent to video server, so that video server will receive confirmation and respond forwarding
To video sending end.
It transmits and receives the purpose for confirming response to be, video sending end is made to confirm that response carries out video frame point according to the reception
The transmission of piece, and then improve the reliability of transmission of video.
If all video frame fragments are properly received in the frame number in S340, order caching area, merge in frame number
All video frame fragments, to carry out real-time video broadcasting.
Illustratively, if the video frame fragment in frame buffer corresponding to a frame number in order caching area
It is properly received and stores, then merge all video frame fragments in the frame buffer corresponding to the frame number, form one completely
Video coding frame, and the Video coding frame be sent to upper layer player carry out decoding in real time and play.
The technical solution of the present embodiment, by receiving video server forwarding, the video frame sent by video sending end
Fragment, and according in order caching area reception and storage condition update corresponding parameter and packet loss cache table, and then will be all
The reception that phase property generates confirms that response returns to video server, finally by the video frame fragment in the frame number being properly received
It merges, to be played in real time, improves the reliability and real-time of transmission of video.
Example IV
Fig. 4 is a kind of flow diagram of the transmission method for real-time video that the embodiment of the present invention four provides.The present embodiment
It is optimized based on the various embodiments described above, provides the transmission method of preferred real-time video, specifically, docking rating frequency
Server forwarding, the video frame fragment sent by video sending end, and the video frame fragment is put into order caching area
In corresponding frame number, while the continuous fragment number of maximum and packet loss caching for updating the video frame fragment continuously received
Table is advanced optimized.It specifically includes as follows:
S410, video server forwarding, the current video frame fragment sent by video sending end are received, and obtained current
The target frame number of the corresponding Video coding frame of target fragment number and current video frame fragment of video frame fragment.
Obtain the target fragment number and the corresponding Video coding of current video frame fragment of currently received video frame fragment
The purpose of the target frame number of frame is, obtains the identity information of current video frame fragment, so as to according to target fragment number and
Target frame number is stored accordingly, while also allowing for the orderly management to the video frame fragment of all receptions.
Preferably, video server forwarding, the current video frame fragment sent by video sending end are being received, and obtained
After the target frame number of the corresponding Video coding frame of target fragment number and current video frame fragment of current video frame fragment,
Further include:If target fragment number is less than the continuous fragment number of maximum of the video frame fragment continuously received or more than having connect
The maximum of the video frame fragment received receive the sum of fragment number and preset value, alternatively, target frame number is less than having been received
The minimum frame number of Video coding frame, then abandon video frame fragment.
Illustratively, if the fragment number of currently received video frame fragment is less than the video frame fragment continuously received
The continuous fragment number of maximum, alternatively, the frame number of currently received video frame fragment is less than the Video coding frame having been received
Minimum frame number, then illustrate that the video frame fragment is expired video frame fragment, i.e., before received mistake video frame fragment,
To which the video frame fragment should be abandoned;If the fragment number of currently received video frame fragment is more than the video frame point having been received
The maximum of piece receives the sum of fragment number and preset value, then illustrates that the video frame fragment saltus step is excessive, may if receiving the fragment
Cause the data volume of required storage in packet loss cache table excessive, therefore should also abandon the video frame fragment.Optionally, preset value can
It is set according to the amount of capacity of packet loss cache table, such as preset value may be configured as 2000.
S420, current video frame fragment is stored in order caching area, it is corresponding with target fragment number under target frame number
Memory space in.
Illustratively, if current video frame fragment is No. 5 video frame fragments in the 1st frame, by the video frame fragment pair
It should store in No. 5 memory space into order caching area under the 1st frame.
S430, the video frame fragment continuously received according to the update of target fragment number the continuous fragment number of maximum and
The maximum of the video frame fragment having been received receives fragment number.
Optionally, can by the video frame fragment having been received it is maximum receive fragment number be updated to target fragment number with more
The maximum maximum value received in fragment number before new.Optionally, if target fragment number and the fragment number received before are continuous,
The continuous fragment number of the maximum of the video frame fragment continuously received can be updated to target fragment number;Otherwise, keep maximum
The value of continuous fragment number is constant.
Illustratively, if having continuously received the video frame fragment that fragment number is 1-5, and currently received target fragment
Number be 6, then will the video frame fragment that continuously received the continuous fragment number of maximum and the video frame point that has been received
The maximum fragment number that receives of piece is updated to 5;If currently received target fragment number is 10, maximum continuous fragment number is constant
(being still 5), and maximum is received into fragment number and is updated to 10.
S440, packet loss cache table is updated according to maximum continuous fragment number and the maximum fragment number that receives.
Wherein, the packet loss cache table includes:Packet loss fragment number and packet loss timestamp corresponding with packet loss fragment number.
Illustratively, if maximum continuous fragment number is consistent with the maximum fragment number that receives, show there is no packet drop,
Into without updating packet loss cache table;If when maximum continuous fragment number and inconsistent maximum reception fragment number, illustrate transmitting
There is packet drop in the process, it is therefore desirable to update packet loss cache table.
Preferably, packet loss cache table is updated according to maximum continuous fragment number and the maximum fragment number that receives, including:If maximum
Continuous fragment number is not less than 1 with the maximum difference for receiving fragment number, then by maximum continuous fragment number and maximum reception fragment number it
Between all packet loss fragments number record in packet loss cache table, and update the packet loss timestamp corresponding to packet loss fragment number;If losing
Target fragment number is stored in packet cache table, then the delete target fragment number in packet loss cache table.
Illustratively, when maximum receives the maximum continuous fragment number of fragment number->=1, for example, when maximum continuous fragment number is
5, and it is maximum when to receive fragment number be 10, then it is assumed that all fragments number between maximum continuous fragment number and maximum reception fragment number
Video frame fragment corresponding to (i.e. No. 6-9) temporarily lose (may it is out of order, be not necessarily true loss, need receipt of subsequent point
Piece confirms).If not having these packet loss fragments number in packet loss cache table, which is stored to packet loss cache table
In, and it is stored in corresponding packet loss timestamp (i.e. current time subtracts round-trip transmission time value);If having these in packet loss cache table
Packet loss fragment number then only updates corresponding packet loss timestamp.The purpose of packet loss timestamp corresponding to update packet loss fragment number exists
In, in subsequent step generate receive confirm response foundation is provided.Illustratively, if being stored with reception in packet loss cache table
Target fragment number illustrates that the target fragment number received is the fragment number lost before and therefore need to delete and be stored in packet loss cache table
Target fragment number, with prevent repeat send packet loss information.
S450, interval setting duration, periodically acquire packet loss timestamp in packet loss cache table and meet setting time threshold value item
The packet loss fragment number of part.
Optionally, obtaining the period can confirm that the cycle phase of response is same with generating to receive, preferably 10ms.Wherein, it sets
Time threshold can be a round-trip transmission time.Illustratively, it every 10ms run-down packet loss cache tables, and obtains wherein
Packet loss timestamp corresponding to each packet loss fragment number is more than the packet loss fragment number of a round-trip transmission time, while updating the packet loss
Packet loss timestamp corresponding to fragment number is current time, and the packet loss counter corresponding to the packet loss fragment number that adds up, will
The packet loss fragment number of had more than round-trip transmission time confirms that response is sent to video sending end by receiving, and instruction video is sent
End retransmits the corresponding video frame fragment of the packet loss fragment number.Obtain the packet loss fragment number for meeting setting time threshold condition
It is advantageous in that, identical packet loss fragment number can be sent to avoid frequently repeating to video sending end.
Preferably, in obtaining packet loss cache table packet loss timestamp meet setting time threshold condition packet loss fragment number it
Before, further include:It obtains the minimum of the video frame fragment in the Video coding frame received earliest in order caching area and receives fragment number;
It obtains and receives the determining target packet loss fragment number of fragment number with minimum by maximum continuous fragment number;By target packet loss fragment number from losing
It is deleted in packet cache table, and maximum continuous fragment number is updated to the video frame fragment in the Video coding frame received earliest most
Small reception fragment number.
Illustratively, minimum reception fragment min_seq in order caching area is periodically acquired, and detects packet loss cache table
In with the presence or absence of meet (base_seq, min_seq]The packet loss fragment number of condition, if in the presence of the target packet loss point for meeting the condition
Piece number then deletes target packet loss fragment number from packet loss cache table, and the value of maximum continuous fragment base_seq is updated
For min_seq, wherein base_seq is maximum continuous fragment number, and min_seq is that minimum receives fragment number.What is be arranged in this way is good
It is in can remove packet loss fragment number expired in packet loss cache table in time, played in order to avoid receiving later
Video frame fragment.
S460, it receives according to packet loss fragment number and maximum continuous fragment number construction and confirms response.
Optionally, be more than by packet loss timestamp in packet loss cache table a round-trip transmission time packet loss fragment number with it is current
Maximum continuous fragment number, video sending end is transmitted in a manner of receiving and confirm response by video server, to which instruction regards
The sending end that takes place frequently confirms that video frame fragment corresponding with packet loss fragment number is retransmitted in response according to the reception, and sends next video frame point
Piece.
S470, reception is confirmed that response is sent to video server, so that video server will receive confirmation and respond forwarding
To video sending end.
If all video frame fragments are properly received in the frame number in S480, order caching area, merge in frame number
All video frame fragments, to carry out real-time video broadcasting.
The technical solution of the present embodiment, it is real-time by detecting the reception of video frame fragment and storage condition in order caching area
Packet loss cache table and related parameter values are updated, and periodically acquire packet loss fragment number and order caching in packet loss cache table
The continuous fragment number of maximum in area, construction, which receives, confirms response, is the video frame of video sending end to return to video sending end
The transmission of fragment provides foundation, realizes the transmitting of video frame fragment, and video sending end is coordinated to reduce the biography of video
Defeated delay.
Embodiment five
Fig. 5 is a kind of structural schematic diagram of the transmitting device for real-time video that the embodiment of the present invention five provides.The device one
As can be integrated in video sending end and all terminals comprising video sending function.With reference to figure 5, the transmission of real-time video fills
Set including:Fragment processing module 510 sends buffer module 520 and fragment sending module 530, has below to each module
Body explanation.
Fragment processing module 510, the Video coding frame for that will generate in real time carry out fragment processing, form at least one regard
Frequency frame fragment;
Buffer module 520 is sent, is sent in buffer area for the video frame fragment to be sequentially placed into;
Fragment sending module 530 is rung for being confirmed for the reception that different video frame fragment returns according to video playing end
It answers, the video frame fragment of the Video coding frame is forwarded to the video according to setting sending strategy by video server to be broadcast
End is put to carry out real-time video broadcasting.
The transmitting device of real-time video provided in this embodiment, by the way that Video coding frame is divided at least one video frame point
Video frame fragment is transmitted to video playing end, to carry out real-time video by piece according to setting sending strategy by video server
It plays, solves the problems, such as that slowed-down video is big caused by using based on the transmission mode of TCP in the prior art, realizes drop
Low transmission of video delay, improves the reliability of transmission of video, improves the effect of user experience.
On the basis of the various embodiments described above, fragment processing module 510 specifically can be used for:
It, will if the byte number included by Video coding frame is less than default the sum of single fragment byte number and predetermined word joint number
The Video coding frame is divided into a video frame fragment;
If the byte number included by Video coding frame is preset single fragment byte number S times, by the Video coding
Frame is divided into S video frame fragment, wherein S is the integer more than 0;
If the byte number included by Video coding frame be preset S times of single fragment byte number with beyond the sum of byte number,
And the byte number that exceeds is more than zero and is less than the predetermined word joint number, then the Video coding frame is divided into S video frame
Fragment, and the byte beyond corresponding to byte number is put into the last one video frame fragment;
If the byte number included by Video coding frame be preset S times of single fragment byte number with beyond the sum of byte number,
And the byte number that exceeds is not less than the predetermined word joint number, then the Video coding frame is divided into (S+1) a video frame point
Piece.
On the basis of the various embodiments described above, can also include:
Expired inspection module, for after being sequentially placed into the video frame fragment in transmission buffer area, periodically examining
Whether look into the transmission buffer area includes expired video frame fragment of the existence time more than preset time threshold;
Fragment remove module, if it is more than the expired of preset time threshold to include existence time for the transmission buffer area
Video frame fragment, then will all videos frame fragment corresponding with the associated expired Video coding frame group of the video frame fragment from institute
It states to send in buffer area and remove, and lost according to next Video coding frame group generation after the expired Video coding frame group
Abandon synchronizing information, wherein the Video coding frame group includes at least one Video coding frame;
Abandon information sending module, for by the discardings synchronizing information by the video server be forwarded to described in extremely
A few video playing end, to indicate that video corresponding with the expired Video coding frame group is abandoned receiving in the video playing end
Frame fragment, and abandon received video frame fragment corresponding with the expired Video coding frame group.
On the basis of the various embodiments described above, the discarding synchronizing information includes crucial in next Video coding frame group
The minimum fragment number of video frame fragment in frame number and the key video sequence coded frame corresponding to Video coding frame.
On the basis of the various embodiments described above, can also include:
Value reduces module, for will whole corresponding with the associated expired Video coding frame group of the video frame fragment
Video frame fragment updates the discarding frequency to the expired Video coding frame group, such as after being removed in the transmission buffer area
The discarding frequency of the fruit in preset time section is more than to abandon threshold value, then reduces taking for the data transmission parameters
Value;
Wherein, the data transmission parameters include:The resolution ratio and/or data transmission code check of video encoder.
On the basis of the various embodiments described above, the Video coding frame generated in real time be encoder according to H264 agreements into
Row coding, and after filtering out B frames, the coded frame of generation.
On the basis of the various embodiments described above, fragment sending module 530 specifically can be used for:
The video frame fragment to be confirmed of setting quantity is sent to the video server, and by the video frame to be confirmed to divide
Piece is stored in the transmission window for sending buffer area;
The video frame fragment sent by the video playing end for receiving the video server forwarding receives confirmation response;
If described receive the most Dalian for confirming that response includes the video frame fragment that the video playing end continuously receives
Continuous fragment number, then slide the transmission window, the video frame fragment having confirmed that deleted from the transmission window, generates idle
Send window;
If described receive the packet loss fragment number for confirming that response includes the video playing end, obtain and the packet loss point
The corresponding video frame fragment of piece number, and it is forwarded to the video playing end again through the video server;
Video frame fragment to be confirmed to the video for continuing to send and the idle quantity for sending window matches takes
Business device, and the video frame fragment to be confirmed for continuing to send is stored in the idle transmission window;
The video frame fragment sent by the video playing end for returning to the execution reception video server forwarding receives
The operation of response is confirmed, until the confirmation completed to all videos frame fragment is sent.
The said goods can perform the method that any embodiment of the present invention is provided, and have the corresponding function module of execution method
And advantageous effect.
Embodiment six
Fig. 6 is a kind of structural schematic diagram of the transmitting device for real-time video that the embodiment of the present invention six provides.The device one
As can be integrated in video playing end and all intelligent terminals comprising video reception and playing function.With reference to figure 6, regard in real time
The transmitting device of frequency includes:Fragment receiver module 610, response generation module 620, response sending module 630 and fragment merge
Module 640 is below specifically described each module.
Fragment receiver module 610 is divided for receiving video server forwarding by the video frame that video sending end is sent
Piece, and the video frame fragment is put into order caching area in corresponding frame number, while update has continuously received
The continuous fragment number of maximum and packet loss cache table of video frame fragment;
Generation module 620 is responded, is used for according to the maximum continuous fragment number and the packet loss cache table, it is periodically raw
Confirm at corresponding reception and responds;
Sending module 630 is responded, for the reception to be confirmed that response is sent to the video server, so that described regard
The reception is confirmed that response is forwarded to the video sending end by frequency server;
Fragment merging module 640, if successful for all video frame fragments in the frame number in the order caching area
It receives, then merges all video frame fragments in the frame number, to carry out real-time video broadcasting.
The transmitting device of real-time video provided in this embodiment is sent by receiving video server forwarding by video
Hold the video frame fragment sent, and according in order caching area reception and storage condition updates corresponding parameter and packet loss is slow
Table is deposited, and then the reception periodically generated is confirmed that response returns to video server, the frame number being finally properly received
Interior video frame fragment merges, and to be played in real time, improves the reliability and real-time of transmission of video.
On the basis of the various embodiments described above, fragment receiver module 610 may include:
Serial number acquisition submodule, for receiving video server forwarding, the current video frame sent by video sending end
Fragment, and obtain the target fragment number and the corresponding Video coding of the current video frame fragment of the current video frame fragment
The target frame number of frame;
Fragment sub-module stored, for the current video frame fragment to be stored in the order caching area, the mesh
It marks under frame number in memory space corresponding with the target fragment number;
Fragment number updates submodule, for updating the video frame fragment continuously received according to the target fragment number
The continuous fragment number of maximum and the maximum of video frame fragment that has been received receive fragment number;
Cache table updates submodule, for receiving fragment number update according to the maximum continuous fragment number and the maximum
Packet loss cache table;
Wherein, the packet loss cache table includes:Packet loss fragment number and packet loss timestamp corresponding with packet loss fragment number.
On the basis of the various embodiments described above, the cache table update submodule specifically can be used for:
If the continuous fragment number of maximum and the maximum difference for receiving fragment number are not less than 1, the most Dalian by described in
In continuous fragment number and the maximum all packet loss fragments number record to packet loss cache table received between fragment number, and described in update
Packet loss timestamp corresponding to packet loss fragment number;
If being stored with the target fragment number in the packet loss cache table, in the packet loss cache table described in deletion
Target fragment number.
On the basis of the various embodiments described above, response generation module 620 may include:
Packet loss acquisition submodule periodically acquires the packet loss time in the packet loss cache table for being spaced setting duration
Stamp meets the packet loss fragment number of setting time threshold condition;
Response construction submodule, it is true for being received according to the packet loss fragment number and the maximum continuous fragment number construction
Recognize response.
On the basis of the various embodiments described above, response generation module 620 can also include:
Minimum fragment acquisition submodule, in obtaining the packet loss cache table packet loss timestamp meet setting time
Before the packet loss fragment number of threshold condition, the video frame point in the Video coding frame received earliest in the order caching area is obtained
The minimum of piece receives fragment number;
Target fragment acquisition submodule, for acquisition by the maximum continuous fragment number and the minimum reception fragment number
Determining target packet loss fragment number;
Target fragment number deletes submodule, for the target packet loss fragment number to be deleted from the packet loss cache table,
And the maximum continuous fragment number is updated to the minimum of the video frame fragment in the Video coding frame received earliest and is received
Fragment number.
On the basis of the various embodiments described above, fragment receiver module 610 can also include:
Fragment abandons submodule, for receiving video server forwarding, the current video sent by video sending end
Frame fragment, and obtain the target fragment number and the corresponding video volume of the current video frame fragment of the current video frame fragment
After the target frame number of code frame, if the maximum that the target fragment number is less than the video frame fragment continuously received is continuous
Fragment number receives the sum of fragment number and preset value more than the maximum of the video frame fragment having been received, alternatively, the target
Frame number is less than the minimum frame number for the Video coding frame having been received, then abandons the video frame fragment.
On the basis of the various embodiments described above, can also include:
Frame fragment discard module, for receiving video server forwarding, the video frame point sent by video sending end
Before piece, if receiving video server forwarding, the discarding synchronizing information sent by video sending end, then according to the discarding
The continuous fragment number of maximum for the video frame fragment that synchronizing information update has continuously received, and abandon it is received with it is expired
The corresponding video frame fragment of Video coding frame group, wherein the discarding synchronizing information includes in next Video coding frame group
The minimum fragment number of video frame fragment, institute in frame number and the key video sequence coded frame corresponding to key video sequence coded frame
It includes at least one Video coding frame to state Video coding frame group.
The said goods can perform the method that any embodiment of the present invention is provided, and have the corresponding function module of execution method
And advantageous effect.
Note that above are only presently preferred embodiments of the present invention and institute's application technology principle.It will be appreciated by those skilled in the art that
The present invention is not limited to specific embodiments described here, can carry out for a person skilled in the art it is various it is apparent variation,
It readjusts and substitutes without departing from protection scope of the present invention.Therefore, although being carried out to the present invention by above example
It is described in further detail, but the present invention is not limited only to above example, without departing from the inventive concept, also
May include other more equivalent embodiments, and the scope of the present invention is determined by scope of the appended claims.
Claims (16)
1. a kind of transmission method of real-time video, which is characterized in that including:
The Video coding frame generated in real time is subjected to fragment processing, forms at least one video frame fragment;
The video frame fragment is sequentially placed into and is sent in buffer area;
Response is confirmed for the reception that different video frame fragment returns according to video playing end, by the video of the Video coding frame
Frame fragment is forwarded to the video playing end to carry out real-time video broadcasting according to setting sending strategy by video server.
2. according to the method described in claim 1, it is characterized in that, described carry out the Video coding frame generated in real time at fragment
Reason, forms at least one video frame fragment, including:
It, will be described if the byte number included by Video coding frame is less than default the sum of single fragment byte number and predetermined word joint number
Video coding frame is divided into a video frame fragment;
If the byte number included by Video coding frame is preset single fragment byte number S times, the Video coding frame is drawn
It is divided into S video frame fragment, wherein S is the integer more than 0;
If the byte number included by Video coding frame be preset S times of single fragment byte number with beyond the sum of byte number, and institute
It states and is more than zero beyond byte number and is less than the predetermined word joint number, then the Video coding frame is divided into S video frame fragment,
And the byte beyond corresponding to byte number is put into the last one video frame fragment;
If the byte number included by Video coding frame be preset S times of single fragment byte number with beyond the sum of byte number, and institute
It states and is not less than the predetermined word joint number beyond byte number, then the Video coding frame is divided into (S+1) a video frame fragment.
3. according to the method described in claim 1, it is characterized in that, the video frame fragment is sequentially placed into transmission buffer area
In after, further include:
Whether sent described in periodic test in buffer area includes expired video frame point of the existence time more than preset time threshold
Piece;
If so, will all videos frame fragment corresponding with the associated expired Video coding frame group of the video frame fragment from described
It sends in buffer area and removes, and generated and abandoned according to next Video coding frame group after the expired Video coding frame group
Synchronizing information, wherein the Video coding frame group includes at least one Video coding frame;
The discarding synchronizing information is forwarded at least one video playing end by the video server, to indicate
State video playing end and abandon receiving video frame fragment corresponding with the expired Video coding frame group, and discarding it is received with
The corresponding video frame fragment of the expired Video coding frame group.
4. according to the method described in claim 3, it is characterized in that, the discarding synchronizing information includes next Video coding
The minimum of video frame fragment point in frame number and the key video sequence coded frame in frame group corresponding to key video sequence coded frame
Piece number.
5. according to the method described in claim 3, it is characterized in that, will be compiled with the associated expired video of the video frame fragment
The corresponding all videos frame fragment of code frame group further includes after removal in the transmissions buffer area:
The discarding frequency to the expired Video coding frame group is updated, if the discarding frequency in preset time section is super
Discarding threshold value is crossed, then reduces the value of the data transmission parameters;
Wherein, the data transmission parameters include:The resolution ratio and/or data transmission code check of video encoder.
6. according to claim 1-5 any one of them methods, which is characterized in that the Video coding frame generated in real time is to compile
Code device is encoded according to H264 agreements, and after filtering out B frames, the coded frame of generation.
7. according to the method described in claim 1, it is characterized in that, described be directed to different video frame fragment according to video playing end
The reception of return confirms response, and the video frame fragment of the Video coding frame is passed through video server according to setting sending strategy
The video playing end is forwarded to carry out real-time video broadcasting, including:
The video frame fragment to be confirmed for sending setting quantity is deposited to the video server, and by the video frame fragment to be confirmed
It is stored in the transmission window for sending buffer area;
The video frame fragment sent by the video playing end for receiving the video server forwarding receives confirmation response;
If described receive continuous point of maximum for confirming that response includes the video frame fragment that the video playing end continuously receives
Piece number then slides the transmission window, and the video frame fragment having confirmed that is deleted from the transmission window, generates idle send
Window;
If described receive the packet loss fragment number for confirming that response includes the video playing end, obtain and the packet loss fragment number
Corresponding video frame fragment, and it is forwarded to the video playing end again through the video server;
Continue to send the video frame fragment to be confirmed that matches with the idle quantity for sending window to the video server,
And the video frame fragment to be confirmed for continuing to send is stored in the idle transmission window;
It returns to execute the video frame fragment sent by the video playing end for receiving the video server forwarding and receive and confirm
The operation of response, until the confirmation completed to all videos frame fragment is sent.
8. a kind of transmission method of real-time video, which is characterized in that including:
Video server forwarding, the video frame fragment sent by video sending end are received, and the video frame fragment is put into
In order caching area in corresponding frame number, while the continuous fragment number of maximum for updating the video frame fragment continuously received
And packet loss cache table;
According to the maximum continuous fragment number and the packet loss cache table, periodically generates corresponding reception and confirm response;
The reception is confirmed that response is sent to the video server, is rung so that the video server confirms the reception
The video sending end should be forwarded to;
If all video frame fragments are properly received in the frame number in the order caching area, merge in the frame number
All video frame fragments, to carry out real-time video broadcasting.
9. according to the method described in claim 8, it is characterized in that, it is described receive video server forwarding, sent by video
The video frame fragment sent is held, and the video frame fragment is put into order caching area in corresponding frame number, is updated simultaneously
The continuous fragment number of maximum and packet loss cache table of the video frame fragment continuously received, including:
Video server forwarding, the current video frame fragment sent by video sending end are received, and obtains the current video
The target frame number of the target fragment number of frame fragment and the corresponding Video coding frame of the current video frame fragment;
The current video frame fragment is stored in the order caching area, under the target frame number with the target fragment
In number corresponding memory space;
The continuous fragment number of maximum of the video frame fragment continuously received according to the target fragment number update and
The maximum of the video frame fragment received receives fragment number;
Packet loss cache table is updated according to the maximum continuous fragment number and the maximum fragment number that receives;
Wherein, the packet loss cache table includes:Packet loss fragment number and packet loss timestamp corresponding with packet loss fragment number.
10. according to the method described in claim 9, it is characterized in that, described according to the maximum continuous fragment number and described
Maximum receives fragment number and updates packet loss cache table, including:
If the maximum continuous fragment number is not less than 1 with the maximum difference for receiving fragment number, by described maximum continuous point
In piece number and the maximum all packet loss fragments number record to packet loss cache table received between fragment number, and update the packet loss
Packet loss timestamp corresponding to fragment number;
If being stored with the target fragment number in the packet loss cache table, the target is deleted in the packet loss cache table
Fragment number.
11. according to the method described in claim 10, it is characterized in that, described according to the maximum continuous fragment number and described
Packet loss cache table periodically generates corresponding reception and confirms response, including:
Interval setting duration, periodically executes operations described below:
Obtain the packet loss fragment number that packet loss timestamp in the packet loss cache table meets setting time threshold condition;
It receives according to the packet loss fragment number and the maximum continuous fragment number construction and confirms response.
12. according to the method for claim 11, which is characterized in that packet loss timestamp is full in obtaining the packet loss cache table
Before the packet loss fragment number of sufficient setting time threshold condition, further include:
It obtains the minimum of the video frame fragment in the Video coding frame received earliest in the order caching area and receives fragment number;
It obtains by the maximum continuous fragment number target packet loss fragment number determining with the minimum reception fragment number;
The target packet loss fragment number is deleted from the packet loss cache table, and the maximum continuous fragment number is updated to institute
It states the minimum of the video frame fragment in the Video coding frame received earliest and receives fragment number.
13. according to the method described in claim 9, it is characterized in that, receiving video server forwarding, by video sending end
The current video frame fragment of transmission, and obtain the target fragment number and the current video frame point of the current video frame fragment
After the target frame number of the corresponding Video coding frame of piece, further include:
If the target fragment number is less than the continuous fragment number of maximum of the video frame fragment continuously received or more than
The maximum of the video frame fragment received receives the sum of fragment number and preset value, has been connect alternatively, the target frame number is less than
The minimum frame number of the Video coding frame received then abandons the video frame fragment.
14. according to the method described in claim 8, it is characterized in that, receiving video server forwarding, by video sending end
Before the video frame fragment of transmission, further include:
If receiving video server forwarding, the discarding synchronizing information sent by video sending end then abandons together according to described
The continuous fragment number of maximum of the video frame fragment that has continuously received of step information update, and abandon and received regarded with expired
The corresponding video frame fragment of frequency coded frame group, wherein the discarding synchronizing information includes being closed in next Video coding frame group
The minimum fragment number of video frame fragment, described in frame number and the key video sequence coded frame corresponding to key Video coding frame
Video coding frame group includes at least one Video coding frame.
15. a kind of transmitting device of real-time video, is configured at video sending end, which is characterized in that including:
Fragment processing module, the Video coding frame for that will generate in real time carry out fragment processing, form at least one video frame point
Piece;
Buffer module is sent, is sent in buffer area for the video frame fragment to be sequentially placed into;
Fragment sending module, for confirming response for the reception that different video frame fragment returns according to video playing end, by institute
State the video frame fragment of Video coding frame according to setting sending strategy by video server be forwarded to the video playing end with
Carry out real-time video broadcasting.
16. a kind of transmitting device of real-time video, is configured at video playing end, which is characterized in that including:
Fragment receiver module, for receiving video server forwarding, the video frame fragment sent by video sending end, and by institute
It states video frame fragment to be put into order caching area in corresponding frame number, while the video frame fragment that update has continuously received
The continuous fragment number of maximum and packet loss cache table;
Generation module is responded, for according to the maximum continuous fragment number and the packet loss cache table, periodically generating correspondence
Reception confirm response;
Sending module is responded, for the reception to be confirmed that response is sent to the video server, so that the Video service
The reception is confirmed that response is forwarded to the video sending end by device;
Fragment merging module, if being properly received for all video frame fragments in the frame number in the order caching area,
Merge all video frame fragments in the frame number, to carry out real-time video broadcasting.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710233780.8A CN108696773B (en) | 2017-04-11 | 2017-04-11 | Real-time video transmission method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710233780.8A CN108696773B (en) | 2017-04-11 | 2017-04-11 | Real-time video transmission method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108696773A true CN108696773A (en) | 2018-10-23 |
CN108696773B CN108696773B (en) | 2021-03-09 |
Family
ID=63843374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710233780.8A Expired - Fee Related CN108696773B (en) | 2017-04-11 | 2017-04-11 | Real-time video transmission method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108696773B (en) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109222854A (en) * | 2018-11-19 | 2019-01-18 | 苏州新光维医疗科技有限公司 | Wosap tv system and its picture signal transmission method |
CN109889543A (en) * | 2019-03-26 | 2019-06-14 | 广州华多网络科技有限公司 | Method, root node, child node, P2P server and the system of transmission of video |
CN110072128A (en) * | 2019-04-22 | 2019-07-30 | 北京开广信息技术有限公司 | The real-time method for pushing and server of Media Stream |
CN110417514A (en) * | 2019-07-22 | 2019-11-05 | 北京地平线机器人技术研发有限公司 | Data transmission method for uplink and device, data receiver method and device |
CN111436009A (en) * | 2019-01-11 | 2020-07-21 | 厦门雅迅网络股份有限公司 | Real-time video stream transmission and display method and transmission and play system |
CN111491207A (en) * | 2020-04-17 | 2020-08-04 | 北京三体云联科技有限公司 | Video data processing method and device in live broadcast and electronic equipment |
CN112235624A (en) * | 2020-09-17 | 2021-01-15 | 成都成电光信科技股份有限公司 | Video synchronous sending method supporting high-resolution LED dome screen display |
CN112312204A (en) * | 2020-09-30 | 2021-02-02 | 新华三大数据技术有限公司 | Method and device for packaging video stream data fragments |
CN109714634B (en) * | 2018-12-29 | 2021-06-29 | 海信视像科技股份有限公司 | Decoding synchronization method, device and equipment for live data stream |
CN113141415A (en) * | 2021-05-07 | 2021-07-20 | 广州小鹏汽车科技有限公司 | Remote driving system, method, electronic device and storage medium for vehicle |
CN113259715A (en) * | 2021-05-07 | 2021-08-13 | 广州小鹏汽车科技有限公司 | Method and device for processing multi-channel video data, electronic equipment and medium |
CN113254211A (en) * | 2021-06-01 | 2021-08-13 | 广州小鹏汽车科技有限公司 | Cache allocation method and device, electronic equipment and storage medium |
CN113438520A (en) * | 2021-06-29 | 2021-09-24 | 北京奇艺世纪科技有限公司 | Data processing method, device and system |
CN114024914A (en) * | 2021-10-27 | 2022-02-08 | 杭州海康威视数字技术股份有限公司 | Video data transmission method and device and electronic equipment |
CN114363304A (en) * | 2021-12-27 | 2022-04-15 | 浪潮通信技术有限公司 | RTP video stream storage and playing method and device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729879A (en) * | 2009-12-15 | 2010-06-09 | 山东大学 | Method for realizing real-time video transmission based on MIMO-OFDM system |
CN102256182A (en) * | 2011-07-26 | 2011-11-23 | 重庆大唐科技股份有限公司 | RTP (Real-time Transport Protocol)-based video stream fragment framing method |
CN105721950A (en) * | 2016-03-30 | 2016-06-29 | 浙江宇视科技有限公司 | Reliable media stream transmission device |
CN106341738A (en) * | 2015-07-08 | 2017-01-18 | 杭州海康威视数字技术股份有限公司 | Streaming media network transmission bandwidth calculation method, server and system |
US20170064344A1 (en) * | 2015-08-31 | 2017-03-02 | Gopro, Inc. | Video encoding for reduced streaming latency |
-
2017
- 2017-04-11 CN CN201710233780.8A patent/CN108696773B/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729879A (en) * | 2009-12-15 | 2010-06-09 | 山东大学 | Method for realizing real-time video transmission based on MIMO-OFDM system |
CN102256182A (en) * | 2011-07-26 | 2011-11-23 | 重庆大唐科技股份有限公司 | RTP (Real-time Transport Protocol)-based video stream fragment framing method |
CN106341738A (en) * | 2015-07-08 | 2017-01-18 | 杭州海康威视数字技术股份有限公司 | Streaming media network transmission bandwidth calculation method, server and system |
US20170064344A1 (en) * | 2015-08-31 | 2017-03-02 | Gopro, Inc. | Video encoding for reduced streaming latency |
CN105721950A (en) * | 2016-03-30 | 2016-06-29 | 浙江宇视科技有限公司 | Reliable media stream transmission device |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109222854A (en) * | 2018-11-19 | 2019-01-18 | 苏州新光维医疗科技有限公司 | Wosap tv system and its picture signal transmission method |
CN109714634B (en) * | 2018-12-29 | 2021-06-29 | 海信视像科技股份有限公司 | Decoding synchronization method, device and equipment for live data stream |
CN111436009A (en) * | 2019-01-11 | 2020-07-21 | 厦门雅迅网络股份有限公司 | Real-time video stream transmission and display method and transmission and play system |
CN111436009B (en) * | 2019-01-11 | 2023-10-27 | 厦门雅迅网络股份有限公司 | Real-time video stream transmission and display method and transmission and play system |
CN109889543A (en) * | 2019-03-26 | 2019-06-14 | 广州华多网络科技有限公司 | Method, root node, child node, P2P server and the system of transmission of video |
CN110072128A (en) * | 2019-04-22 | 2019-07-30 | 北京开广信息技术有限公司 | The real-time method for pushing and server of Media Stream |
CN110072128B (en) * | 2019-04-22 | 2021-01-15 | 北京开广信息技术有限公司 | Real-time pushing method of media stream and server |
CN110417514A (en) * | 2019-07-22 | 2019-11-05 | 北京地平线机器人技术研发有限公司 | Data transmission method for uplink and device, data receiver method and device |
CN110417514B (en) * | 2019-07-22 | 2022-02-01 | 北京地平线机器人技术研发有限公司 | Data sending method and device and data receiving method and device |
CN111491207A (en) * | 2020-04-17 | 2020-08-04 | 北京三体云联科技有限公司 | Video data processing method and device in live broadcast and electronic equipment |
CN112235624B (en) * | 2020-09-17 | 2021-09-03 | 成都成电光信科技股份有限公司 | Video synchronous sending method supporting high-resolution LED dome screen display |
CN112235624A (en) * | 2020-09-17 | 2021-01-15 | 成都成电光信科技股份有限公司 | Video synchronous sending method supporting high-resolution LED dome screen display |
CN112312204A (en) * | 2020-09-30 | 2021-02-02 | 新华三大数据技术有限公司 | Method and device for packaging video stream data fragments |
CN112312204B (en) * | 2020-09-30 | 2022-05-24 | 新华三大数据技术有限公司 | Method and device for packaging video stream data fragments |
CN113141415A (en) * | 2021-05-07 | 2021-07-20 | 广州小鹏汽车科技有限公司 | Remote driving system, method, electronic device and storage medium for vehicle |
CN113259715A (en) * | 2021-05-07 | 2021-08-13 | 广州小鹏汽车科技有限公司 | Method and device for processing multi-channel video data, electronic equipment and medium |
CN113254211A (en) * | 2021-06-01 | 2021-08-13 | 广州小鹏汽车科技有限公司 | Cache allocation method and device, electronic equipment and storage medium |
CN113438520A (en) * | 2021-06-29 | 2021-09-24 | 北京奇艺世纪科技有限公司 | Data processing method, device and system |
CN114024914A (en) * | 2021-10-27 | 2022-02-08 | 杭州海康威视数字技术股份有限公司 | Video data transmission method and device and electronic equipment |
CN114024914B (en) * | 2021-10-27 | 2024-03-01 | 杭州海康威视数字技术股份有限公司 | Video data transmission method and device and electronic equipment |
CN114363304A (en) * | 2021-12-27 | 2022-04-15 | 浪潮通信技术有限公司 | RTP video stream storage and playing method and device |
CN114363304B (en) * | 2021-12-27 | 2024-04-19 | 浪潮通信技术有限公司 | RTP video stream storage and playing method and device |
Also Published As
Publication number | Publication date |
---|---|
CN108696773B (en) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108696773A (en) | A kind of transmission method and device of real-time video | |
US9565482B1 (en) | Adaptive profile switching system and method for media streaming over IP networks | |
EP1482681B1 (en) | Medium streaming distribution system | |
CN108696772B (en) | Real-time video transmission method and device | |
CN109889543A (en) | Method, root node, child node, P2P server and the system of transmission of video | |
KR101735435B1 (en) | Method and apparatus for providing multimedia streaming service | |
CN110536179A (en) | A kind of content distribution system and method | |
CN106686438B (en) | method, device and system for synchronously playing audio images across equipment | |
KR101234734B1 (en) | Transmission and reception system, transmitter, transmission method, receiver, reception method, and computer readable recording medium | |
CN105704580B (en) | A kind of video transmission method | |
JP3450771B2 (en) | Data transmission method and data transmission apparatus | |
CN104768081B (en) | A kind of packet loss repeating method for realizing flow control | |
CN107295364B (en) | For the real-time streaming transport control method of barrage video, control device | |
CN102742245A (en) | A method and apparatus for parsing a network abstraction-layer for reliable data communication | |
CN104394421A (en) | Video frame processing method and device | |
CN107566918A (en) | A kind of low delay under video distribution scene takes the neutrel extraction of root | |
CN108696771B (en) | Video playing method and device | |
US20070160048A1 (en) | Method for providing data and data transmission system | |
KR100526183B1 (en) | Apparatus and Method for efficient data transmission/reception in Mobile Ad-hoc Network | |
CN106454553A (en) | A precise time delay live video network transmission control method | |
CN111163362B (en) | Video receiving method and system capable of self-adapting retransmission waiting time | |
WO2016077072A1 (en) | Delivering partially received segments of streamed media data | |
CN106792247A (en) | Reduce the live TV stream method for pushing and device, live broadcast system of time delay | |
CN105791886B (en) | Support the wireless flow media video service system and method for fine-grained data fragment | |
CN110830821A (en) | RTP (real-time transport protocol) stream transmission method and device based on slices, terminal and server |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200817 Address after: No.259 Nanjing West Road, Tangqiao town, Zhangjiagang City, Suzhou City, Jiangsu Province Applicant after: Suzhou Qianwen wandaba Education Technology Co.,Ltd. Address before: Yangpu District State Road 200433 Shanghai City No. 200 Building 5 room 2002 Applicant before: SHANGHAI QIANWENWANDABA CLOUD TECH. Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210309 |