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 PDF

Info

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
Application number
CN201710233780.8A
Other languages
Chinese (zh)
Other versions
CN108696773B (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.)
Suzhou Qianwen Wandaba Education Technology Co ltd
Original Assignee
Shanghai Qian Wan Answer Cloud Computing 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 Shanghai Qian Wan Answer Cloud Computing Technology Co Ltd filed Critical Shanghai Qian Wan Answer Cloud Computing Technology Co Ltd
Priority to CN201710233780.8A priority Critical patent/CN108696773B/en
Publication of CN108696773A publication Critical patent/CN108696773A/en
Application granted granted Critical
Publication of CN108696773B publication Critical patent/CN108696773B/en
Expired - Fee Related 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication 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

A kind of transmission method and device of real-time video
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&#93;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.
CN201710233780.8A 2017-04-11 2017-04-11 Real-time video transmission method and device Expired - Fee Related CN108696773B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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