WO2018177165A1 - Method and system for optimizing quality network pushed stream - Google Patents

Method and system for optimizing quality network pushed stream Download PDF

Info

Publication number
WO2018177165A1
WO2018177165A1 PCT/CN2018/079677 CN2018079677W WO2018177165A1 WO 2018177165 A1 WO2018177165 A1 WO 2018177165A1 CN 2018079677 W CN2018079677 W CN 2018079677W WO 2018177165 A1 WO2018177165 A1 WO 2018177165A1
Authority
WO
WIPO (PCT)
Prior art keywords
code rate
rate
current
preset
data
Prior art date
Application number
PCT/CN2018/079677
Other languages
French (fr)
Chinese (zh)
Inventor
黄德恒
谭洪学
Original Assignee
上海七牛信息技术有限公司
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 上海七牛信息技术有限公司 filed Critical 上海七牛信息技术有限公司
Publication of WO2018177165A1 publication Critical patent/WO2018177165A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/4061Push-to services, e.g. push-to-talk or push-to-video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer

Definitions

  • the present application relates to the field of audio and video processing technologies, and in particular, to an optimization method and an optimization system for network push stream quality.
  • the factors affecting the live viewing experience are generally divided into two dimensions, one is the picture clarity (ie, the picture quality), and the other is the fluency.
  • Image quality is positively correlated with code rate and resolution
  • fluency is positively correlated with frame rate and data bandwidth.
  • the fluency has a negative correlation with the code rate, that is, when the code rate exceeds the actual network data throughput rate, the fluency is reduced.
  • the anchor end and the viewer end have unlimited bandwidth, you only need to select the best image quality that a live broadcast device can bear for streaming, so that you can get a high-quality and smooth high-quality viewing experience.
  • RTMP Real Time Messaging Protocol
  • TCP Transmission Control Protocol
  • It is a connection-oriented and reliable transport layer protocol, and internally implements a congestion control strategy.
  • the automatic retransmission strategy of TCP occupies a large part of the bandwidth, which leads to a decrease in network data throughput per unit time, resulting in a jam on the playback end.
  • the anchor broadcasts the clarity of the push stream according to the feedback of the audience, that is, the push stream does not automatically judge the network processing;
  • the push stream quality is configured to preset two levels of high and low, and switches between the two levels according to the network condition during the live broadcast.
  • the network may be in a state of fluctuation at the beginning of the live broadcast, resulting in low-quality streaming, and the network is stable during the live broadcast.
  • the live broadcast can only always use low quality and cannot achieve the most viewing experience. optimization.
  • Adopting the high and low quality two-quality image configuration to switch back and forth according to the network situation will bring two problems.
  • the first problem is that the playback end can clearly perceive the jitter of the image quality.
  • the network load may be instantaneously increased, so that the transmitted code rate exceeds the actual bandwidth, causing the jam, and in general, cannot be done. Switch to smooth.
  • An object of the embodiments of the present application is to provide an optimization method and an optimization system for network push stream quality, which can smoothly adjust a code rate and a frame rate of a push stream.
  • the present application provides an optimization method for network push stream quality, where the method includes: collecting feature information of a push stream according to a preset period, where the feature information includes an average code rate, an average frame rate, and a buffer. Area data throughput, average TCP transmission time per frame; adjust the code rate of the next period according to the current average TCP transmission duration per frame and the current buffer data throughput, and use the adjusted code rate as the target rate feedback.
  • the audio and video data is filtered to generate audio and video data that conforms to the adjusted frame rate; the audio and video data is encoded and transmitted according to the adjusted code rate and the adjusted frame rate.
  • adjusting the code rate of the next period according to the current TCP average transmission time per frame and the current buffer data throughput includes: when the current average TCP transmission time per frame is greater than the first preset risk value, Decrease the current code rate according to the preset code rate step, and use the reduced code rate as the code rate of the next cycle; when the current average TCP transmission time per frame is less than or equal to the first preset risk value, Determining whether the average TCP transmission duration of each frame is greater than a second preset risk value; if the current TCP average transmission duration per frame is greater than a second preset risk value and the current buffer data occupancy rate is greater than a preset threshold, The current code rate is decreased according to the preset code rate step size, and the dropped code rate is used as the code rate of the next cycle.
  • the method further includes: determining whether the last rate rate adjustment is a falling code rate, and if yes, increasing the preset code rate step size to a preset value, and decreasing the current current value according to the increased preset value Code rate.
  • adjusting the code rate of the next cycle according to the current average TCP transmission time per frame and the current buffer data throughput includes: determining the relationship between the amount of data sent by the current buffer and the amount of data swallowed, when When the amount of data to be spit is greater than or equal to the amount of data swallowed, the counter value of the counter is incremented by one; when the amount of spit data is less than the amount of swallowed data, the counter value is decremented by one; according to the size of the counter in the current counter, the adjustment is made.
  • the code rate of one cycle is: determining the relationship between the amount of data sent by the current buffer and the amount of data swallowed, when When the amount of data to be spit is greater than or equal to the amount of data swallowed, the counter value of the counter is incremented by one; when the amount of spit data is less than the amount of swallowed data, the counter value is decremented by one; according to the size of the counter in the current counter, the adjustment is made.
  • adjusting the code rate of the next period according to the size of the current counter in the counter includes: when the count value in the counter is less than the first determination threshold, decreasing the current code rate according to the preset code rate step, and The falling code rate is used as the code rate of the next cycle, and the counter value of the counter is reset to zero; when the counter value in the counter is greater than the second determination threshold, the current code is increased according to the preset code rate step size. Rate, and the increased code rate is taken as the code rate of the next cycle, and the counter value of the counter is reset to zero.
  • the method further includes: determining whether the last rate rate adjustment is a falling code rate, and if yes, increasing the preset code rate step size to a preset value, and decreasing the current current value according to the increased preset value
  • the code rate is determined whether the last code rate adjustment is an increase code rate, and if so, the preset code rate step is increased to a preset value, and the current code rate is increased according to the increased preset value.
  • the push stream is generated in the following manner: the pre-acquired audio and video data is encoded by an encoder, and the encoded audio and video data is encapsulated and transmitted through a real-time message transmission protocol RTMP to generate the Push flow.
  • RTMP real-time message transmission protocol
  • an embodiment of the present application further provides an optimization system for network push quality, where the system includes: a flow data collection control module, configured to collect feature information of the push flow according to a preset period, The feature information includes an average bit rate, an average frame rate, a buffer data throughput, and a TCP average transmission time per frame.
  • the adaptive code rate control module is configured to: according to the current average TCP transmission time per frame and the current buffer data throughput, The code rate of the next cycle is adjusted, and the adjusted code rate is fed back to the encoder as the target code rate; the dynamic frame rate control module is configured to adjust the frame rate of the next cycle according to the current buffer data throughput.
  • the module is configured to encode and transmit audio and video data according to the adjusted code rate and the adjusted frame rate.
  • the adaptive rate control module specifically includes: a first determining unit, configured to: when the current average transmission time of each frame of the TCP is greater than the first preset risk value, decrease the current code according to a preset code rate step size Rate, and the reduced code rate is used as the code rate of the next cycle; the second determining unit is configured to determine, when the current average TCP transmission time per frame is less than or equal to the first preset risk value, Whether the average TCP transmission duration of each frame is greater than the second preset risk value; the third determining unit is configured to: if the current average TCP transmission duration of each frame is greater than the second preset risk value, and the current buffer data occupancy rate is greater than the pre-predetermined When the threshold is set, the current code rate is decreased according to the preset code rate step, and the dropped code rate is used as the code rate of the next cycle.
  • a first determining unit configured to: when the current average transmission time of each frame of the TCP is greater than the first preset risk value, decrease the current code according to a preset
  • the adaptive rate control module specifically includes: a throughput determining unit, configured to determine a relationship between a quantity of data to be buffered and a quantity of data to be swallowed in the current buffer, and when the amount of data to be spit is greater than or equal to the amount of data to be swallowed When the amount of spit data is less than the amount of swallowed data, the counter value is decremented by one; the rate adjusting unit is configured to adjust the next period according to the size of the counter in the current counter. Code rate.
  • the embodiment of the present invention utilizes the matching effect of the code rate and the frame rate adjustment, and effectively controls the amount of audio and video data transmission under the condition of network fluctuation, thereby alleviating network congestion and bringing a smooth viewing experience to the playing end;
  • the network quality is restored, it can ensure that the bit rate frame rate of audio and video is pushed in the set optimal quality configuration, and can be performed in a smoother manner when switching the frame rate configuration of different code rates, and will not Bringing a sharp sense of picture quality fluctuations to the viewer.
  • FIG. 1 is a flowchart of a method for optimizing network push quality according to an embodiment of the present application
  • FIG. 2 is a schematic diagram of network traffic quality optimization in an embodiment of the present application.
  • FIG. 4 is a functional block diagram of an optimization system for network push quality according to an embodiment of the present application.
  • FIG. 1 is a flowchart of a method for optimizing network push quality according to an embodiment of the present application.
  • the processes described below include multiple operations occurring in a particular order, it should be clearly understood that these processes can include more or fewer operations that can be performed sequentially or in parallel (eg, using a parallel processor or a multi-threaded environment).
  • the method may include:
  • Step S1 collecting feature information of the push stream according to a preset period, where the feature information includes an average code rate, an average frame rate, a buffer data throughput, and an average TCP transmission duration per frame.
  • data collection of a current system may be performed for a period of time to obtain historical data of the push stream.
  • the source audio and video files can be sampled by the audio and video collection module, so that audio and video data can be collected from the source audio and video files.
  • the audio and video collection module can perform audio and video data collection according to a preset sampling period.
  • the collected audio and video data can enter the encoder and be encoded with the encoding format and code rate set in the encoder.
  • the encoded audio and video frames After the encoded audio and video frames are encapsulated, they can be transmitted through a Real Time Messaging Protocol (RTMP) in the transmission control module to generate the push stream.
  • RTMP Real Time Messaging Protocol
  • the audio and video data to be transmitted can be temporarily stored in the transmission buffer in the transmission control module, so that the audio and video data can be transmitted in real time.
  • the flow data collection control module may collect the feature information of the push flow according to a preset period, where the feature information may include an average code rate, an average frame rate, a buffer data throughput, and an average TCP transmission time per frame. .
  • Step S2 Adjust the code rate of the next cycle according to the current average TCP transmission duration and the current buffer data throughput, and feed back the adjusted code rate to the encoder as the target code rate.
  • the collected current feature information may be analyzed, so that it is possible to predict whether the code rate and the frame rate of the push flow need to be adjusted in the next cycle.
  • the code rate of the next cycle may be adjusted according to the current TCP average transmission time per frame and the current buffer data throughput. Referring to FIG. 3, when the average TCP transmission duration of each frame is greater than the first preset risk value, it indicates that a frame loss in the buffer may be about to occur, and the current code may be decreased according to the preset code rate step. Rate, and the code rate after the fall is taken as the code rate of the next cycle.
  • the average TCP transmission duration of each frame is less than or equal to the first preset risk value, it may continue to determine whether the current average TCP transmission duration per frame is greater than a second preset risk value.
  • the second preset risk value may be smaller than the first preset risk value.
  • the frame loss in the buffer may also occur, and the preset code rate may be used.
  • the step size decreases the current code rate, and the dropped code rate is taken as the code rate of the next cycle.
  • the code rate in each cycle can be analyzed, and the code rate of the next cycle is predicted in real time.
  • the rate at which the rate is lowered can be increased accordingly. Specifically, it can be determined whether the last rate adjustment performed is a falling code rate, and if yes, indicating that the current network condition is in a continuous decline of the code rate, so that the preset code rate step can be increased to a preset value. , thereby increasing the rate at which the rate is decreased, and decreasing the current code rate according to the increased preset value.
  • the buffer data throughput can be analyzed to determine if the code rate of the next cycle needs to be adjusted.
  • the relationship between the amount of data to be buffered and the amount of data to be swallowed in the current buffer may be determined.
  • the counter When the amount of data to be spit is greater than or equal to the amount of data to be swallowed, the counter may be incremented by one; When the amount of data is entered, the counter value can be decremented by one. In this way, according to the size of the counter value in the counter, the magnitude relationship between the amount of data to be spouted and the amount of swallowed data in the previous cycles can be known, so that the code rate of the next cycle can be adjusted according to the size of the counter value in the current counter.
  • the count value in the counter when the count value in the counter is less than the first determination threshold, it indicates that the buffer is consecutively the data swallowing amount is greater than the data spitting amount.
  • the first determination threshold may be -3, so that it can be indicated that the buffer is more than three times in succession, and the data swallowing amount is greater than the data ejection amount. In this case, the risk of frame loss is generated. Therefore, the current code rate can be decreased according to the preset code rate step, and the dropped code rate is used as the code rate of the next cycle, and the counter value of the counter is reset to zero. .
  • the second determination threshold When the count value in the counter is greater than the second determination threshold, it indicates that the buffer is consecutively more than the data swallowing amount.
  • the second determination threshold may be 3, so that it can be indicated that the buffer is more than three times in a row, and the data discharge amount is greater than the data swallowing amount. In this case, the network status is good and the bandwidth is sufficient. Therefore, the current code rate can be increased according to the preset code rate step, and the increased code rate is used as the code rate of the next cycle, and the counter value of the counter is returned. zero.
  • the buffer data throughput when determining the buffer data throughput, it can be determined whether the last rate rate adjustment is a falling code rate, and if so, it indicates that the current network condition is continuously decreasing in the code rate, and thus Adding the preset code rate step size to a preset value to increase the rate of the rate reduction, and lowering the current code rate according to the increased preset value;
  • the preset code rate step size can be increased to a preset value. To increase the rate at which the rate increases, and increase the current code rate according to the increased preset value.
  • the transmission rate of the next cycle can be predicted in real time, and the code rate can be flexibly switched. Since the analysis is performed every cycle, the bit rate switching is prevented from jumping too much, and the smooth viewing experience of the user is ensured.
  • Step S3 Adjusting the frame rate of the next cycle according to the current buffer data throughput, and determining a time interval between the two frames according to the adjusted frame rate; and entering the tone of the encoder based on the determined time interval.
  • the video data is filtered to generate audio and video data that conforms to the adjusted frame rate.
  • the current buffer data throughput can be analyzed in a manner similar to that in step S2, so that the frame rate of the next cycle can be adjusted.
  • the adjusted frame rate may indicate a time interval between two frames through which audio and video data entering the encoder may be filtered to generate audio and video data that conforms to the adjusted frame rate.
  • the process of rate adjustment may be performed in an adaptive rate control module, and the process of frame rate adjustment may be performed in a dynamic frame rate control module.
  • the threshold of each comparison may be determined according to a TCP transmission duration prediction operator or a buffer size prediction operator.
  • the adaptive rate control module and the dynamic frame rate control module may be managed by the adaptive stream quality control module.
  • the adaptive code rate module and the dynamic frame rate control module described above can be individually turned on or off, and the user can determine the application form of the technical solution according to his own needs.
  • the dynamic frame rate control module can be used to preferentially adjust the frame rate to control the amount of data entering the encoder per unit time, thereby controlling the amount of data transmitted; High scenes are preferred for adaptive rate control modules.
  • Step S4 encoding and transmitting the audio and video data according to the adjusted code rate and the adjusted frame rate.
  • the adjusted frame rate can adjust the audio and video data collected by the audio and video collection module, and the adjusted code rate can be applied to the encoder to adjust the data processed in the encoder.
  • the adjusted code rate and the adjusted frame rate encoding and transmission of audio and video data can be performed.
  • an embodiment of the present application further provides an optimization system for network push quality, where the system includes:
  • the flow data collection control module 100 is configured to collect feature information of the push flow according to a preset period, where the feature information includes an average code rate, an average frame rate, a buffer data throughput, and an average TCP transmission time per frame;
  • the adaptive code rate control module 200 is configured to adjust the code rate of the next cycle according to the current average TCP transmission duration and the current buffer data throughput, and feed back the adjusted code rate as the target code rate to the coding.
  • the dynamic frame rate control module 300 is configured to adjust a frame rate of a next cycle according to a current buffer data throughput, and determine a time interval between the two frames according to the adjusted frame rate; Filtering audio and video data entering the encoder to generate audio and video data conforming to the adjusted frame rate;
  • the transmission control module 400 is configured to perform encoding and transmission of audio and video data according to the adjusted code rate and the adjusted frame rate.
  • the adaptive code rate control module 200 specifically includes:
  • a first determining unit configured to: when the current average transmission time of the TCP per frame is greater than the first preset risk value, decrease the current code rate according to the preset code rate step, and use the reduced code rate as the next period Code rate
  • a second determining unit configured to determine, when the current average TCP transmission duration of each frame is less than or equal to the first preset risk value, whether the current average TCP transmission duration per frame is greater than a second preset risk value;
  • a third determining unit configured to: if the current average TCP transmission time length of each frame is greater than a second preset risk value, and the current buffer data occupation rate is greater than a preset threshold, decrease the current code rate according to the preset code rate step size, The dropped code rate is taken as the code rate of the next cycle.
  • the adaptive code rate control module 200 specifically includes:
  • the throughput determining unit is configured to determine a relationship between the amount of data to be sent and the amount of data to be swallowed in the current buffer.
  • the counter is incremented by one;
  • the counter value is decremented by one;
  • the code rate adjusting unit is configured to adjust the code rate of the next cycle according to the size of the count value in the current counter.
  • the embodiment of the present invention utilizes the matching effect of the code rate and the frame rate adjustment, and effectively controls the amount of audio and video data transmission under the condition of network fluctuation, thereby alleviating network congestion and bringing a smooth viewing experience to the playing end;
  • the network quality is restored, it can ensure that the bit rate frame rate of audio and video is pushed in the set optimal quality configuration, and can be performed in a smoother manner when switching the frame rate configuration of different code rates, and will not Bringing a sharp sense of picture quality fluctuations to the viewer.

Abstract

Provided are a method and system for optimizing the quality of a network pushed stream, wherein the method comprises: collecting feature information about a pushed stream according to a pre-set period; adjusting, according to a current average sending duration of each frame of TCP and the current data throughput of a buffer region, a code rate of a next period, and taking adjusted code rates as target code rates and feeding same back to an encoder; adjusting, according to the current data throughput of the buffer region, a frame rate of the next period, and determining a time interval between two frames according to the adjusted frame rate; filtering, based on the determined time interval, audio/video data entering the encoder so as to generate audio/video data conforming to the adjusted frame rate; and encoding and transmitting the audio/video data according to the adjusted code rate and the adjusted frame rate. By means of the method and system for optimizing the quality of a network pushed stream provided in the present application, a code rate and a frame rate of the pushed stream can be adjusted smoothly.

Description

一种网络推流质量的优化方法及优化系统Optimization method and optimization system for network push flow quality 技术领域Technical field
本申请涉及音视频处理技术领域,特别涉及一种网络推流质量的优化方法及优化系统。The present application relates to the field of audio and video processing technologies, and in particular, to an optimization method and an optimization system for network push stream quality.
背景技术Background technique
近年来,移动视频直播越来越火爆,在娱乐、教育、游戏电竞、体育等领域都得到广泛应用,各种直播产品竞争激烈,而能够提供优秀用户体验的直播产品和服务终将在这场竞争中脱颖而出。In recent years, mobile video broadcasts have become more and more popular, and have been widely used in entertainment, education, gaming, e-sports, sports, etc., and various live broadcast products are highly competitive, and live broadcast products and services that can provide excellent user experience will eventually be here. Stand out from the competition.
影响直播观看体验的因素总体而言分为两个维度,一是画面清晰度(即画质),二是流畅度。画质与码率和分辨率正相关,流畅度与帧率和数据带宽正相关。当网络的带宽一定的情况下,流畅度与码率呈一种负相关的关系,即当码率超出实际网络数据吞吐率时,流畅度就会降低。理想情况下,当主播端与观众端都有无限带宽时,只需要选择一个直播设备所能承受的最佳画质进行推流,便能获得高清流畅的优质观看体验。然而考虑到直播者(即主播)所处的网络环境千差万别,从直播端到推流服务器的链路上经常发生丢包、抖动和延迟等情况,导致直播推流不畅,造成观看的体验下降。在这种情况下,必定要权衡画质与流畅度这两个维度来维持较好的观看体验,大量用户反馈表明,使用较低画质和高流畅度,与高画质和频繁卡顿的直播相比,前者能带来更好的用户观看体验。此时,一种能够根据直播端的网络质量来动态调节推流质量的技术方案显得尤为必要。The factors affecting the live viewing experience are generally divided into two dimensions, one is the picture clarity (ie, the picture quality), and the other is the fluency. Image quality is positively correlated with code rate and resolution, and fluency is positively correlated with frame rate and data bandwidth. When the bandwidth of the network is constant, the fluency has a negative correlation with the code rate, that is, when the code rate exceeds the actual network data throughput rate, the fluency is reduced. Ideally, when the anchor end and the viewer end have unlimited bandwidth, you only need to select the best image quality that a live broadcast device can bear for streaming, so that you can get a high-quality and smooth high-quality viewing experience. However, considering that the network environment in which the live broadcaster (ie, the anchor) is located varies greatly, packet loss, jitter, and delay often occur on the link from the live broadcast terminal to the push server, resulting in poor live streaming, resulting in a reduced viewing experience. . In this case, we must weigh the two dimensions of image quality and fluency to maintain a better viewing experience. A large number of user feedback indicates that using lower image quality and high fluency, with high image quality and frequent stagnation Compared with the live broadcast, the former can bring a better user viewing experience. At this time, a technical solution that can dynamically adjust the quality of the push flow according to the network quality of the live end is particularly necessary.
目前直播推流的通用协议标准为RTMP(Real Time Messaging Protocol,实时消息传输协议)协议,是基于TCP进行传输,其本身是面向连接、可靠的传输层协议,内部实现了拥塞控制策略。在高丢包率的网络环境中,TCP的自动重传策略会占用很大一部分带宽,从而导致单位时间内网络数据吞吐量减少,造成播放端的卡顿。当前市面上应对弱网推流的方案主要有以下三种:At present, the universal protocol standard for live streaming is RTMP (Real Time Messaging Protocol), which is based on TCP transmission. It is a connection-oriented and reliable transport layer protocol, and internally implements a congestion control strategy. In a network environment with high packet loss rate, the automatic retransmission strategy of TCP occupies a large part of the bandwidth, which leads to a decrease in network data throughput per unit time, resulting in a jam on the playback end. There are three main options for dealing with weak network traffic on the market today:
由主播根据观众反馈自行选择推流的清晰度,即推流端不做自动判断网络处理;The anchor broadcasts the clarity of the push stream according to the feedback of the audience, that is, the push stream does not automatically judge the network processing;
在直播开始时判断网络质量,若检测到较差的网络条件,则直接采用一个较低的推流配置开始直播,并在整个直播过程中始终采用该配置;Determine the network quality at the beginning of the live broadcast. If poor network conditions are detected, the live broadcast is started directly with a lower push flow configuration, and the configuration is always used throughout the live broadcast process;
将推流质量配置预设高低两个档次,在直播过程中根据网络状况在这两个档次间来回切换。The push stream quality is configured to preset two levels of high and low, and switches between the two levels according to the network condition during the live broadcast.
以上方案能在一定程度上缓解由网络波动或弱网所引发的直播端推流不流畅问题,但也都分别存在一系列的缺陷,具体分析如下:The above scheme can alleviate the problem that the live terminal push flow is not smooth caused by network fluctuation or weak network to a certain extent, but there are also a series of defects, the specific analysis is as follows:
依靠主播根据观众反馈来选择推流清晰度,本身太过于依赖主播的经验,并且观众的反馈信息无法准确判断直播卡顿的根源,主播端的网络不佳或者观众自身的网络存在问题均可能造成直播体验的负面反馈;Relying on the anchor to select the stream definition according to the feedback of the audience, it is too dependent on the experience of the anchor, and the feedback information of the audience cannot accurately determine the root cause of the live card, the network of the anchor is not good or the network of the viewer itself may cause the live broadcast. Negative feedback of experience;
未考虑到网络波动的因素,可能直播开始时网络处于波动状态,导致采用低画质进行推流,而后直播过程中网络恢复稳定,直播却只能始终采用低画质,无法达到观看体验的最优化。另外,可能一开始采用高画质推流,直播过程中网络波动,也将造成频繁卡顿;Without considering the factors of network fluctuations, the network may be in a state of fluctuation at the beginning of the live broadcast, resulting in low-quality streaming, and the network is stable during the live broadcast. The live broadcast can only always use low quality and cannot achieve the most viewing experience. optimization. In addition, it may be possible to use high-quality streaming at the beginning, and network fluctuations during the live broadcast process will also cause frequent jams;
采用高低两档画质配置根据网络情况来回切换,会带来的两个问题。问题一是播放端能够明显感知画质的抖动,二是频繁从低画质切换到高画质时,可能瞬时增大网络负担,使发送的码率超过实际带宽,造成卡顿,总而言之无法做到平滑切换。Adopting the high and low quality two-quality image configuration to switch back and forth according to the network situation, will bring two problems. The first problem is that the playback end can clearly perceive the jitter of the image quality. Secondly, when switching from low image quality to high image quality frequently, the network load may be instantaneously increased, so that the transmitted code rate exceeds the actual bandwidth, causing the jam, and in general, cannot be done. Switch to smooth.
应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。It should be noted that the above description of the technical background is only for the purpose of facilitating a clear and complete description of the technical solutions of the present application, and is convenient for understanding by those skilled in the art. The above technical solutions are not considered to be well known to those skilled in the art simply because these aspects are set forth in the background section of this application.
发明内容Summary of the invention
本申请实施方式的目的在于提供一种网络推流质量的优化方法及优化系统,能够平滑地调整推流的码率和帧率。An object of the embodiments of the present application is to provide an optimization method and an optimization system for network push stream quality, which can smoothly adjust a code rate and a frame rate of a push stream.
为实现上述目的,本申请一方面提供一种网络推流质量的优化方法,所述方法包括:按照预设周期采集推流的特征信息,所述特征信息包括平均码率、平均帧率、缓冲区数据吞吐量、每帧TCP平均发送时长;根据当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量,对下一周期的码率进行调整,并将调整后的码率作为目标码率反馈至编码器;根据当前缓冲区数据吞吐量,对下一周期的帧率进行调整,并根据调整后的帧率确定两帧之间的时间间隔;基于确定的所述时间间隔对进入编码器的音视频数据进行过滤,以生成符合调整后的帧率的音视频数据;按照调整后的码率和调整后的帧率进行音视频数据的编码及传输。To achieve the above objective, the present application provides an optimization method for network push stream quality, where the method includes: collecting feature information of a push stream according to a preset period, where the feature information includes an average code rate, an average frame rate, and a buffer. Area data throughput, average TCP transmission time per frame; adjust the code rate of the next period according to the current average TCP transmission duration per frame and the current buffer data throughput, and use the adjusted code rate as the target rate feedback. To the encoder; adjusting the frame rate of the next cycle according to the current buffer data throughput, and determining a time interval between the two frames according to the adjusted frame rate; and entering the encoder based on the determined time interval The audio and video data is filtered to generate audio and video data that conforms to the adjusted frame rate; the audio and video data is encoded and transmitted according to the adjusted code rate and the adjusted frame rate.
进一步地,根据当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量,对下一周期的码率进行调整具体包括:当所述当前每帧TCP平均发送时长大于第一预设风险值时,按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率;当所述当前每帧TCP平均发送时长小于或者等于所述第一预设风险值时,判断所述当前每帧TCP平均发送时长是否大于第二预设风险值;若所述当前每帧TCP平均发送时长大于第二预设风险值并且当前缓冲区的数据占有率大于预设阈值时,按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率。Further, adjusting the code rate of the next period according to the current TCP average transmission time per frame and the current buffer data throughput includes: when the current average TCP transmission time per frame is greater than the first preset risk value, Decrease the current code rate according to the preset code rate step, and use the reduced code rate as the code rate of the next cycle; when the current average TCP transmission time per frame is less than or equal to the first preset risk value, Determining whether the average TCP transmission duration of each frame is greater than a second preset risk value; if the current TCP average transmission duration per frame is greater than a second preset risk value and the current buffer data occupancy rate is greater than a preset threshold, The current code rate is decreased according to the preset code rate step size, and the dropped code rate is used as the code rate of the next cycle.
进一步地,所述方法还包括:判断上一次进行的码率调整是否为下降码率,若是,将所述预设码率步长增加至预设值,并按照增加后的预设值下降当前码率。Further, the method further includes: determining whether the last rate rate adjustment is a falling code rate, and if yes, increasing the preset code rate step size to a preset value, and decreasing the current current value according to the increased preset value Code rate.
进一步地,根据当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量,对下一周期的码率进行调整具体包括:判断当前缓冲区的吐出数据量与吞入数据量之间的关系,当吐出数据量大于或者等于吞入数据量时,将计数器的计数值加一;当吐出数据量小于吞入数据量时,将计数器的计数值减一;根据当前计数器中计数值的大小,调整下一周期的码率。Further, adjusting the code rate of the next cycle according to the current average TCP transmission time per frame and the current buffer data throughput includes: determining the relationship between the amount of data sent by the current buffer and the amount of data swallowed, when When the amount of data to be spit is greater than or equal to the amount of data swallowed, the counter value of the counter is incremented by one; when the amount of spit data is less than the amount of swallowed data, the counter value is decremented by one; according to the size of the counter in the current counter, the adjustment is made. The code rate of one cycle.
进一步地,根据当前计数器中计数值的大小,调整下一周期的码率具体包括:当所述计数器中的计数值小于第一判定阈值时,按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率,同时将所述计数器的计数值归零;当所述计数器中的计数值大于第二判定阈值时,按照预设码率步长提高当前码率,并将提高后的码率作为下一周期的码率,同时将所述计数器的计数值归零。Further, adjusting the code rate of the next period according to the size of the current counter in the counter includes: when the count value in the counter is less than the first determination threshold, decreasing the current code rate according to the preset code rate step, and The falling code rate is used as the code rate of the next cycle, and the counter value of the counter is reset to zero; when the counter value in the counter is greater than the second determination threshold, the current code is increased according to the preset code rate step size. Rate, and the increased code rate is taken as the code rate of the next cycle, and the counter value of the counter is reset to zero.
进一步地,所述方法还包括:判断上一次进行的码率调整是否为下降码率,若是,将所述预设码率步长增加至预设值,并按照增加后的预设值下降当前码率;判断上一次进行的码率调整是否为提高码率,若是,将所述预设码率步长增加至预设值,并按照增加后的预设值提高当前码率。Further, the method further includes: determining whether the last rate rate adjustment is a falling code rate, and if yes, increasing the preset code rate step size to a preset value, and decreasing the current current value according to the increased preset value The code rate is determined whether the last code rate adjustment is an increase code rate, and if so, the preset code rate step is increased to a preset value, and the current code rate is increased according to the increased preset value.
进一步地,所述推流按照下述方式生成:将预先采集的音视频数据经过编码器进行编码,并将编码后的音视频数据经过封包后通过实时消息传输协议RTMP进行传输,以生成所述推流。Further, the push stream is generated in the following manner: the pre-acquired audio and video data is encoded by an encoder, and the encoded audio and video data is encapsulated and transmitted through a real-time message transmission protocol RTMP to generate the Push flow.
为实现上述目的,本申请实施方式另一方面还提供一种网络推流质量的优化系统,所述系统包括:流数据收集控制模块,用于按照预设周期采集推流的特征信息,所述特征信息包括平均码率、平均帧率、缓冲区数据吞吐量、每帧TCP平均发送时长;自适应码率控制模块,用于根据当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量,对下一周期的码率进行调整,并将调整后的码率作为目标码率反馈至编码器;动态帧率控制模块,用于根据当前缓冲区数据吞吐量,对下一周期的帧率进行调整,并根据调整后的帧率确定两帧之间的时间间隔;基于确定的所述时间间隔对进入编码器的音视频数据进行过滤,以生成符合调整后的帧率的音视频数据;传输控制模块,用于按照调整后的码率和调整后的帧率进行音视频数据的编码及传输。To achieve the above objective, an embodiment of the present application further provides an optimization system for network push quality, where the system includes: a flow data collection control module, configured to collect feature information of the push flow according to a preset period, The feature information includes an average bit rate, an average frame rate, a buffer data throughput, and a TCP average transmission time per frame. The adaptive code rate control module is configured to: according to the current average TCP transmission time per frame and the current buffer data throughput, The code rate of the next cycle is adjusted, and the adjusted code rate is fed back to the encoder as the target code rate; the dynamic frame rate control module is configured to adjust the frame rate of the next cycle according to the current buffer data throughput. And determining a time interval between the two frames according to the adjusted frame rate; filtering the audio and video data entering the encoder based on the determined time interval to generate audio and video data conforming to the adjusted frame rate; and transmitting control The module is configured to encode and transmit audio and video data according to the adjusted code rate and the adjusted frame rate.
进一步地,所述自适应码率控制模块具体包括:第一判断单元,用于当所述当前每帧TCP平均发送时长大于第一预设风险值时,按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率;第二判断单元,用于当所述当前每帧TCP平均发送时长小于或者等于所述第一预设风险值时,判断所述当前每帧TCP平均发送时长是否大于第二预设风险值;第三判断单元,用于若所述当前每帧TCP平均发送时长大于第二预设风险值并且当前缓冲区的数据占有率大于预设阈值时,按照预设码率步长下降当前码率,并将下降后的码率作为下一 周期的码率。Further, the adaptive rate control module specifically includes: a first determining unit, configured to: when the current average transmission time of each frame of the TCP is greater than the first preset risk value, decrease the current code according to a preset code rate step size Rate, and the reduced code rate is used as the code rate of the next cycle; the second determining unit is configured to determine, when the current average TCP transmission time per frame is less than or equal to the first preset risk value, Whether the average TCP transmission duration of each frame is greater than the second preset risk value; the third determining unit is configured to: if the current average TCP transmission duration of each frame is greater than the second preset risk value, and the current buffer data occupancy rate is greater than the pre-predetermined When the threshold is set, the current code rate is decreased according to the preset code rate step, and the dropped code rate is used as the code rate of the next cycle.
进一步地,所述自适应码率控制模块具体包括:吞吐量判断单元,用于判断当前缓冲区的吐出数据量与吞入数据量之间的关系,当吐出数据量大于或者等于吞入数据量时,将计数器的计数值加一;当吐出数据量小于吞入数据量时,将计数器的计数值减一;码率调整单元,用于根据当前计数器中计数值的大小,调整下一周期的码率。Further, the adaptive rate control module specifically includes: a throughput determining unit, configured to determine a relationship between a quantity of data to be buffered and a quantity of data to be swallowed in the current buffer, and when the amount of data to be spit is greater than or equal to the amount of data to be swallowed When the amount of spit data is less than the amount of swallowed data, the counter value is decremented by one; the rate adjusting unit is configured to adjust the next period according to the size of the counter in the current counter. Code rate.
本发明实施方式利用码率与帧率调整相互配合作用,一方面有效控制网络波动情况下的音视频数据发送量,缓解网络拥塞,同时又能给播放端带来流畅的观看体验;另一方面在网络质量恢复时能够确保音视频的码率帧率是以设定的最优质量配置进行推流,并且能使不同码率帧率配置切换时以一种更为平滑的方式进行,不会给观看端带来画质波动的突兀感。The embodiment of the present invention utilizes the matching effect of the code rate and the frame rate adjustment, and effectively controls the amount of audio and video data transmission under the condition of network fluctuation, thereby alleviating network congestion and bringing a smooth viewing experience to the playing end; When the network quality is restored, it can ensure that the bit rate frame rate of audio and video is pushed in the set optimal quality configuration, and can be performed in a smoother manner when switching the frame rate configuration of different code rates, and will not Bringing a sharp sense of picture quality fluctuations to the viewer.
参照后文的说明和附图,详细公开了本申请的特定实施方式,指明了本申请的原理可以被采用的方式。应该理解,本申请的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本申请的实施方式包括许多改变、修改和等同。Specific embodiments of the present application are disclosed in detail with reference to the following description and accompanying drawings, in which <RTIgt; It should be understood that the embodiments of the present application are not limited in scope. The embodiments of the present application include many variations, modifications, and equivalents within the scope of the appended claims.
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。Features described and/or illustrated with respect to one embodiment may be used in one or more other embodiments in the same or similar manner, in combination with, or in place of, features in other embodiments. .
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。It should be emphasized that the term "comprising" or "comprises" or "comprising" or "comprising" or "comprising" or "comprising" or "comprises"
附图说明DRAWINGS
所包括的附图用来提供对本申请实施方式的进一步的理解,其构成了说明书的一部分,用于例示本申请的实施方式,并与文字描述一起来阐释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:The drawings are included to provide a further understanding of the embodiments of the present application, and are set forth in the accompanying drawings. Obviously, the drawings in the following description are only some of the embodiments of the present application, and those skilled in the art can obtain other drawings according to the drawings without any inventive labor. In the drawing:
图1为本申请实施方式提供的一种网络推流质量的优化方法的流程图;FIG. 1 is a flowchart of a method for optimizing network push quality according to an embodiment of the present application;
图2为本申请实施方式中网络推流质量优化的原理图;2 is a schematic diagram of network traffic quality optimization in an embodiment of the present application;
图3为本申请实施方式中码率调整的流程图;3 is a flowchart of code rate adjustment in an embodiment of the present application;
图4为本申请实施方式提供的一种网络推流质量的优化系统的功能模块图。FIG. 4 is a functional block diagram of an optimization system for network push quality according to an embodiment of the present application.
具体实施方式detailed description
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施方式,都应当属于本申 请保护的范围。In order to make those skilled in the art better understand the technical solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present application. The embodiments are only a part of the embodiments of the present application, and not all of them. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present application without departing from the inventive scope should be included in the scope of the present application.
图1为本申请实施方式提供的一种网络推流质量的优化方法的流程图。虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。如图1所示,所述方法可以包括:FIG. 1 is a flowchart of a method for optimizing network push quality according to an embodiment of the present application. Although the processes described below include multiple operations occurring in a particular order, it should be clearly understood that these processes can include more or fewer operations that can be performed sequentially or in parallel (eg, using a parallel processor or a multi-threaded environment). . As shown in FIG. 1, the method may include:
步骤S1:按照预设周期采集推流的特征信息,所述特征信息包括平均码率、平均帧率、缓冲区数据吞吐量、每帧TCP平均发送时长。Step S1: collecting feature information of the push stream according to a preset period, where the feature information includes an average code rate, an average frame rate, a buffer data throughput, and an average TCP transmission duration per frame.
在本实施方式种,可以对当前系统的推流进行一段时间的数据采集,以获取推流的历史数据。具体地,请参阅图2,源音视频文件通过音视频采集模块可以进行采样操作,从而能够从源音视频文件中采集音视频数据。在实际应用过程中,音视频采集模块可以按照预设采样周期进行音视频数据采集。In this embodiment, data collection of a current system may be performed for a period of time to obtain historical data of the push stream. Specifically, referring to FIG. 2, the source audio and video files can be sampled by the audio and video collection module, so that audio and video data can be collected from the source audio and video files. In the actual application process, the audio and video collection module can perform audio and video data collection according to a preset sampling period.
在本实施方式种,采集的音视频数据可以进入编码器,以编码器中设置的编码格式和码率进行编码。编码后的音视频帧在经过封包后,便可以通过传输控制模块中的实时消息传输协议(Real Time Messaging Protocol,RTMP)进行传输,以生成所述推流。即将传输的音视频数据可以暂存于所述传输控制模块中的发送缓冲区内,这样,可以保证音视频数据能够实时传输。In this embodiment, the collected audio and video data can enter the encoder and be encoded with the encoding format and code rate set in the encoder. After the encoded audio and video frames are encapsulated, they can be transmitted through a Real Time Messaging Protocol (RTMP) in the transmission control module to generate the push stream. The audio and video data to be transmitted can be temporarily stored in the transmission buffer in the transmission control module, so that the audio and video data can be transmitted in real time.
在本实施方式中,可以通过流数据收集控制模块按照预设周期采集推流的特征信息,所述特征信息可以包括平均码率、平均帧率、缓冲区数据吞吐量、每帧TCP平均发送时长。In this embodiment, the flow data collection control module may collect the feature information of the push flow according to a preset period, where the feature information may include an average code rate, an average frame rate, a buffer data throughput, and an average TCP transmission time per frame. .
步骤S2:根据当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量,对下一周期的码率进行调整,并将调整后的码率作为目标码率反馈至编码器。Step S2: Adjust the code rate of the next cycle according to the current average TCP transmission duration and the current buffer data throughput, and feed back the adjusted code rate to the encoder as the target code rate.
在本实施方式中,为了对推流质量进行优化,可以对采集的当前特征信息进行分析,从而能够预测下一个周期是否需要调整推流的码率和帧率。具体地,可以根据当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量,对下一周期的码率进行调整。请参阅图3,当所述当前每帧TCP平均发送时长大于第一预设风险值时,则表明可能即将发生缓冲区内丢帧的情况,此时可以按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率。In the present embodiment, in order to optimize the push flow quality, the collected current feature information may be analyzed, so that it is possible to predict whether the code rate and the frame rate of the push flow need to be adjusted in the next cycle. Specifically, the code rate of the next cycle may be adjusted according to the current TCP average transmission time per frame and the current buffer data throughput. Referring to FIG. 3, when the average TCP transmission duration of each frame is greater than the first preset risk value, it indicates that a frame loss in the buffer may be about to occur, and the current code may be decreased according to the preset code rate step. Rate, and the code rate after the fall is taken as the code rate of the next cycle.
当所述当前每帧TCP平均发送时长小于或者等于所述第一预设风险值时,可以继续判断所述当前每帧TCP平均发送时长是否大于第二预设风险值。其中,所述第二预设风险值可以小于所述第一预设风险值。When the average TCP transmission duration of each frame is less than or equal to the first preset risk value, it may continue to determine whether the current average TCP transmission duration per frame is greater than a second preset risk value. The second preset risk value may be smaller than the first preset risk value.
若所述当前每帧TCP平均发送时长大于第二预设风险值并且当前缓冲区的数据占有率大于预设阈值时,同样可能发生缓冲区内丢帧的情况,此时可以按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率。If the current average transmission time of the TCP per frame is greater than the second preset risk value and the data occupation rate of the current buffer is greater than the preset threshold, the frame loss in the buffer may also occur, and the preset code rate may be used. The step size decreases the current code rate, and the dropped code rate is taken as the code rate of the next cycle.
在本实施方式中,对于每个周期内的码率均可以进行分析,并实时预测下一个周期的码率。在实际应用过程中,当网络发生波动时,可能会导致连续几个周期的码率均需要下降。在这种情况下,为了能够减少码率下降的次数,可以相应地增加码率下降的速率。具体地,可以判断上一次进行的码率调整是否为下降码率,若是,表明当前的网络条件处于码率连续下降的情况,这样便可以将所述预设码率步长增加至预设值,从而提高码率下降的速度,并按照增加后的预设值下降当前码率。In the present embodiment, the code rate in each cycle can be analyzed, and the code rate of the next cycle is predicted in real time. In the actual application process, when the network fluctuates, it may cause the code rate of several consecutive cycles to decrease. In this case, in order to be able to reduce the number of times the code rate is lowered, the rate at which the rate is lowered can be increased accordingly. Specifically, it can be determined whether the last rate adjustment performed is a falling code rate, and if yes, indicating that the current network condition is in a continuous decline of the code rate, so that the preset code rate step can be increased to a preset value. , thereby increasing the rate at which the rate is decreased, and decreasing the current code rate according to the increased preset value.
在本实施方式中,可以对缓冲区数据吞吐量进行分析,以确定是否需要调整下一个周期的码率。具体地,可以判断当前缓冲区的吐出数据量与吞入数据量之间的关系,当吐出数据量大于或者等于吞入数据量时,可以将计数器的计数值加一;当吐出数据量小于吞入数据量时,可以将计数器的计数值减一。这样,根据计数器中计数值的大小,便可以获知之前几个周期内吐出数据量与吞入数据量的大小关系,从而可以根据当前计数器中计数值的大小,调整下一周期的码率。In this embodiment, the buffer data throughput can be analyzed to determine if the code rate of the next cycle needs to be adjusted. Specifically, the relationship between the amount of data to be buffered and the amount of data to be swallowed in the current buffer may be determined. When the amount of data to be spit is greater than or equal to the amount of data to be swallowed, the counter may be incremented by one; When the amount of data is entered, the counter value can be decremented by one. In this way, according to the size of the counter value in the counter, the magnitude relationship between the amount of data to be spouted and the amount of swallowed data in the previous cycles can be known, so that the code rate of the next cycle can be adjusted according to the size of the counter value in the current counter.
具体地,当所述计数器中的计数值小于第一判定阈值时,则说明缓冲区连续几次都是数据吞入量大于数据吐出量。例如,所述第一判定阈值可以是-3,这样,可以表明缓冲区连续3次以上都是数据吞入量大于数据吐出量。这种情况下会产生丢帧的风险,因此可以按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率,同时将所述计数器的计数值归零。Specifically, when the count value in the counter is less than the first determination threshold, it indicates that the buffer is consecutively the data swallowing amount is greater than the data spitting amount. For example, the first determination threshold may be -3, so that it can be indicated that the buffer is more than three times in succession, and the data swallowing amount is greater than the data ejection amount. In this case, the risk of frame loss is generated. Therefore, the current code rate can be decreased according to the preset code rate step, and the dropped code rate is used as the code rate of the next cycle, and the counter value of the counter is reset to zero. .
当所述计数器中的计数值大于第二判定阈值时,则说明缓冲区连续几次都是数据吐出量大于数据吞入量。例如,所述第二判定阈值可以是3,这样,可以表明缓冲区连续3次以上都是数据吐出量大于数据吞入量。这种情况下表明网络状态良好,带宽足够,因此可以按照预设码率步长提高当前码率,并将提高后的码率作为下一周期的码率,同时将所述计数器的计数值归零。When the count value in the counter is greater than the second determination threshold, it indicates that the buffer is consecutively more than the data swallowing amount. For example, the second determination threshold may be 3, so that it can be indicated that the buffer is more than three times in a row, and the data discharge amount is greater than the data swallowing amount. In this case, the network status is good and the bandwidth is sufficient. Therefore, the current code rate can be increased according to the preset code rate step, and the increased code rate is used as the code rate of the next cycle, and the counter value of the counter is returned. zero.
在本实施方式中,在对缓冲区数据吞吐量进行判断时,可以判断上一次进行的码率调整是否为下降码率,若是,则表明当前的网络条件处于码率连续下降的情况,于是可以将所述预设码率步长增加至预设值,以提高码率下降的速率,并按照增加后的预设值下降当前码率;In the present embodiment, when determining the buffer data throughput, it can be determined whether the last rate rate adjustment is a falling code rate, and if so, it indicates that the current network condition is continuously decreasing in the code rate, and thus Adding the preset code rate step size to a preset value to increase the rate of the rate reduction, and lowering the current code rate according to the increased preset value;
此外,还可以判断上一次进行的码率调整是否为提高码率,若是,则表明当前的网络条件处于码率连续上升的情况,于是可以将所述预设码率步长增加至预设值,以提高码率上升的速率,并按照增加后的预设值提高当前码率。In addition, it can be determined whether the last rate adjustment performed is an increase code rate, and if so, it indicates that the current network condition is continuously rising in the code rate, so the preset code rate step size can be increased to a preset value. To increase the rate at which the rate increases, and increase the current code rate according to the increased preset value.
这样,通过对当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量进行分析,从而可以实时预测下一个周期的传输码率,能够实现码率的灵活切换。由于是每个周期进行分析,也避免了码率切换过于跳跃,保证用户的流畅观看体验。In this way, by analyzing the current average TCP transmission duration and the current buffer data throughput, the transmission rate of the next cycle can be predicted in real time, and the code rate can be flexibly switched. Since the analysis is performed every cycle, the bit rate switching is prevented from jumping too much, and the smooth viewing experience of the user is ensured.
步骤S3:根据当前缓冲区数据吞吐量,对下一周期的帧率进行调整,并根据调整后的帧率确定两帧之间的时间间隔;基于确定的所述时间间隔对进入编码器的音视频数据进行过滤,以生成符合调整后的帧率的音视频数据。Step S3: Adjusting the frame rate of the next cycle according to the current buffer data throughput, and determining a time interval between the two frames according to the adjusted frame rate; and entering the tone of the encoder based on the determined time interval. The video data is filtered to generate audio and video data that conforms to the adjusted frame rate.
在本实施方式中,可以采用与步骤S2中类似的方式,对当前缓冲区数据吞吐量进行分析,从而可以对下一周期的帧率进行调整。调整后的帧率可以表明两帧之间的时间间隔,通过该时间间隔,从而可以对进入编码器的音视频数据进行过滤,以生成符合调整后的帧率的音视频数据。In this embodiment, the current buffer data throughput can be analyzed in a manner similar to that in step S2, so that the frame rate of the next cycle can be adjusted. The adjusted frame rate may indicate a time interval between two frames through which audio and video data entering the encoder may be filtered to generate audio and video data that conforms to the adjusted frame rate.
需要说明的是,在本实施方式中,码率调整的过程可以在自适应码率控制模块中进行,帧率调整的过程可以在动态帧率控制模块中进行。在各种对比过程中,各个比较的阈值可以根据TCP发送时长预测算子或者缓冲区大小预测算子进行确定。所述自适应码率控制模块和所述动态帧率控制模块可以由自适应流质量控制模块同一管理。以上所述的自适应码率模块和动态帧率控制模块可单独开启或关闭,使用者可根据自身的需求来决定该技术方案的应用形态。如果使用场景要求尽量保持较高画质推流,则可使用动态帧率控制模块,优先调节帧率来控制单位时间内进入编码器的数据量,从而控制传输数据量;反之对帧率要求较高的场景则可优先使用自适应码率控制模块。It should be noted that, in this embodiment, the process of rate adjustment may be performed in an adaptive rate control module, and the process of frame rate adjustment may be performed in a dynamic frame rate control module. In various comparison processes, the threshold of each comparison may be determined according to a TCP transmission duration prediction operator or a buffer size prediction operator. The adaptive rate control module and the dynamic frame rate control module may be managed by the adaptive stream quality control module. The adaptive code rate module and the dynamic frame rate control module described above can be individually turned on or off, and the user can determine the application form of the technical solution according to his own needs. If the usage scenario requires maintaining a high image quality push flow as much as possible, the dynamic frame rate control module can be used to preferentially adjust the frame rate to control the amount of data entering the encoder per unit time, thereby controlling the amount of data transmitted; High scenes are preferred for adaptive rate control modules.
步骤S4:按照调整后的码率和调整后的帧率进行音视频数据的编码及传输。Step S4: encoding and transmitting the audio and video data according to the adjusted code rate and the adjusted frame rate.
在本实施方式种,调整后的帧率可以对音视频采集模块采集的音视频数据进行调节,调整后的码率可以应用于编码器中,对编码器中处理的数据进行调节。这样,按照调整后的码率和调整后的帧率,便可以进行音视频数据的编码及传输。In the embodiment, the adjusted frame rate can adjust the audio and video data collected by the audio and video collection module, and the adjusted code rate can be applied to the encoder to adjust the data processed in the encoder. Thus, according to the adjusted code rate and the adjusted frame rate, encoding and transmission of audio and video data can be performed.
请参阅图4,本申请实施方式还提供一种网络推流质量的优化系统,所述系统包括:Referring to FIG. 4, an embodiment of the present application further provides an optimization system for network push quality, where the system includes:
流数据收集控制模块100,用于按照预设周期采集推流的特征信息,所述特征信息包括平均码率、平均帧率、缓冲区数据吞吐量、每帧TCP平均发送时长;The flow data collection control module 100 is configured to collect feature information of the push flow according to a preset period, where the feature information includes an average code rate, an average frame rate, a buffer data throughput, and an average TCP transmission time per frame;
自适应码率控制模块200,用于根据当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量,对下一周期的码率进行调整,并将调整后的码率作为目标码率反馈至编码器;The adaptive code rate control module 200 is configured to adjust the code rate of the next cycle according to the current average TCP transmission duration and the current buffer data throughput, and feed back the adjusted code rate as the target code rate to the coding. Device
动态帧率控制模块300,用于根据当前缓冲区数据吞吐量,对下一周期的帧率进行调整,并根据调整后的帧率确定两帧之间的时间间隔;基于确定的所述时间间隔对进入编码器的音视频数据进行过滤,以生成符合调整后的帧率的音视频数据;The dynamic frame rate control module 300 is configured to adjust a frame rate of a next cycle according to a current buffer data throughput, and determine a time interval between the two frames according to the adjusted frame rate; Filtering audio and video data entering the encoder to generate audio and video data conforming to the adjusted frame rate;
传输控制模块400,用于按照调整后的码率和调整后的帧率进行音视频数据的编码及传输。The transmission control module 400 is configured to perform encoding and transmission of audio and video data according to the adjusted code rate and the adjusted frame rate.
在本申请实施方式中,所述自适应码率控制模块200具体包括:In the embodiment of the present application, the adaptive code rate control module 200 specifically includes:
第一判断单元,用于当所述当前每帧TCP平均发送时长大于第一预设风险值时,按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率;a first determining unit, configured to: when the current average transmission time of the TCP per frame is greater than the first preset risk value, decrease the current code rate according to the preset code rate step, and use the reduced code rate as the next period Code rate
第二判断单元,用于当所述当前每帧TCP平均发送时长小于或者等于所述第一预设风险值时,判断所述当前每帧TCP平均发送时长是否大于第二预设风险值;a second determining unit, configured to determine, when the current average TCP transmission duration of each frame is less than or equal to the first preset risk value, whether the current average TCP transmission duration per frame is greater than a second preset risk value;
第三判断单元,用于若所述当前每帧TCP平均发送时长大于第二预设风险值并且当前缓冲区的数据占有率大于预设阈值时,按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率。a third determining unit, configured to: if the current average TCP transmission time length of each frame is greater than a second preset risk value, and the current buffer data occupation rate is greater than a preset threshold, decrease the current code rate according to the preset code rate step size, The dropped code rate is taken as the code rate of the next cycle.
在本申请实施方式中,所述自适应码率控制模块200具体包括:In the embodiment of the present application, the adaptive code rate control module 200 specifically includes:
吞吐量判断单元,用于判断当前缓冲区的吐出数据量与吞入数据量之间的关系,当吐出数据量大于或者等于吞入数据量时,将计数器的计数值加一;当吐出数据量小于吞入数据量时,将计数器的计数值减一;The throughput determining unit is configured to determine a relationship between the amount of data to be sent and the amount of data to be swallowed in the current buffer. When the amount of data to be spit is greater than or equal to the amount of data to be swallowed, the counter is incremented by one; When the amount of data is less than the amount of data, the counter value is decremented by one;
码率调整单元,用于根据当前计数器中计数值的大小,调整下一周期的码率。The code rate adjusting unit is configured to adjust the code rate of the next cycle according to the size of the count value in the current counter.
本发明实施方式利用码率与帧率调整相互配合作用,一方面有效控制网络波动情况下的音视频数据发送量,缓解网络拥塞,同时又能给播放端带来流畅的观看体验;另一方面在网络质量恢复时能够确保音视频的码率帧率是以设定的最优质量配置进行推流,并且能使不同码率帧率配置切换时以一种更为平滑的方式进行,不会给观看端带来画质波动的突兀感。The embodiment of the present invention utilizes the matching effect of the code rate and the frame rate adjustment, and effectively controls the amount of audio and video data transmission under the condition of network fluctuation, thereby alleviating network congestion and bringing a smooth viewing experience to the playing end; When the network quality is restored, it can ensure that the bit rate frame rate of audio and video is pushed in the set optimal quality configuration, and can be performed in a smoother manner when switching the frame rate configuration of different code rates, and will not Bringing a sharp sense of picture quality fluctuations to the viewer.
上面对本申请的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本申请的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本申请旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。The above description of various embodiments of the present application is provided to those skilled in the art for the purpose of description. It is not intended to be exhaustive or to limit the invention to the single disclosed embodiments. As described above, various alternatives and variations of the present application will be apparent to those skilled in the art. Thus, while a few alternative embodiments have been discussed in detail, other embodiments will be apparent or apparent to those skilled in the art. The present application is intended to cover all alternatives, modifications, and variations of the present invention, as well as other embodiments that fall within the spirit and scope of the application.

Claims (10)

  1. 一种网络推流质量的优化方法,其特征在于,所述方法包括:An optimization method for network push quality, characterized in that the method comprises:
    按照预设周期采集推流的特征信息,所述特征信息包括平均码率、平均帧率、缓冲区数据吞吐量、每帧TCP平均发送时长;Collecting feature information of the push stream according to a preset period, where the feature information includes an average code rate, an average frame rate, a buffer data throughput, and an average TCP transmission time per frame;
    根据当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量,对下一周期的码率进行调整,并将调整后的码率作为目标码率反馈至编码器;Adjusting the code rate of the next cycle according to the current average TCP transmission time per frame and the current buffer data throughput, and feeding the adjusted code rate as the target code rate to the encoder;
    根据当前缓冲区数据吞吐量,对下一周期的帧率进行调整,并根据调整后的帧率确定两帧之间的时间间隔;基于确定的所述时间间隔对进入编码器的音视频数据进行过滤,以生成符合调整后的帧率的音视频数据;Adjusting the frame rate of the next cycle according to the current buffer data throughput, and determining a time interval between the two frames according to the adjusted frame rate; and performing audio and video data entering the encoder based on the determined time interval Filtering to generate audio and video data that conforms to the adjusted frame rate;
    按照调整后的码率和调整后的帧率进行音视频数据的编码及传输。The audio and video data is encoded and transmitted according to the adjusted code rate and the adjusted frame rate.
  2. 根据权利要求1所述的网络推流质量的优化方法,其特征在于,根据当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量,对下一周期的码率进行调整具体包括:The network push quality optimization method according to claim 1, wherein adjusting the code rate of the next cycle according to the current average TCP transmission duration and the current buffer data throughput includes:
    当所述当前每帧TCP平均发送时长大于第一预设风险值时,按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率;When the average TCP transmission duration of each frame is greater than the first preset risk value, the current code rate is decreased according to the preset code rate step, and the decreased code rate is used as the code rate of the next cycle;
    当所述当前每帧TCP平均发送时长小于或者等于所述第一预设风险值时,判断所述当前每帧TCP平均发送时长是否大于第二预设风险值;Determining, if the current average TCP transmission duration of each frame is less than or equal to the first preset risk value, determining whether the current average TCP transmission duration per frame is greater than a second preset risk value;
    若所述当前每帧TCP平均发送时长大于第二预设风险值并且当前缓冲区的数据占有率大于预设阈值时,按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率。If the average TCP transmission duration of each frame is greater than the second preset risk value and the current buffer data occupancy rate is greater than a preset threshold, the current code rate is decreased according to the preset code rate step size, and the decreased code rate is obtained. As the code rate of the next cycle.
  3. 根据权利要求2所述的网络推流质量的优化方法,其特征在于,所述方法还包括:The method for optimizing network push quality according to claim 2, wherein the method further comprises:
    判断上一次进行的码率调整是否为下降码率,若是,将所述预设码率步长增加至预设值,并按照增加后的预设值下降当前码率。Determining whether the last rate rate adjustment is a falling code rate, and if so, increasing the preset code rate step size to a preset value, and decreasing the current code rate according to the increased preset value.
  4. 根据权利要求1所述的网络推流质量的优化方法,其特征在于,根据当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量,对下一周期的码率进行调整具体包括:The network push quality optimization method according to claim 1, wherein adjusting the code rate of the next cycle according to the current average TCP transmission duration and the current buffer data throughput includes:
    判断当前缓冲区的吐出数据量与吞入数据量之间的关系,当吐出数据量大于或者等于吞入数据量时,将计数器的计数值加一;当吐出数据量小于吞入数据量时,将计数器的计数值减一;Determining the relationship between the amount of data sent by the current buffer and the amount of data swallowed. When the amount of data to be spit is greater than or equal to the amount of data being swallowed, the counter is incremented by one; when the amount of spit is less than the amount of data being swallowed, Decrease the counter value by one;
    根据当前计数器中计数值的大小,调整下一周期的码率。The code rate of the next cycle is adjusted according to the size of the count value in the current counter.
  5. 根据权利要求4所述的网络推流质量的优化方法,其特征在于,根据当前计数器中计数值的大小,调整下一周期的码率具体包括:The network push quality optimization method according to claim 4, wherein adjusting the code rate of the next cycle according to the size of the current counter in the counter comprises:
    当所述计数器中的计数值小于第一判定阈值时,按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率,同时将所述计数器的计数值归零;When the count value in the counter is less than the first determination threshold, the current code rate is decreased according to the preset code rate step, and the dropped code rate is used as the code rate of the next cycle, and the counter value of the counter is simultaneously Return to zero;
    当所述计数器中的计数值大于第二判定阈值时,按照预设码率步长提高当前码率,并将提高后的码率作为下一周期的码率,同时将所述计数器的计数值归零。When the count value in the counter is greater than the second determination threshold, the current code rate is increased according to the preset code rate step, and the increased code rate is used as the code rate of the next cycle, and the counter value of the counter is simultaneously Return to zero.
  6. 根据权利要求5所述的网络推流质量的优化方法,其特征在于,所述方法还包括:The method for optimizing network push quality according to claim 5, wherein the method further comprises:
    判断上一次进行的码率调整是否为下降码率,若是,将所述预设码率步长增加至预设值,并按照增加后的预设值下降当前码率;Determining whether the last rate rate adjustment is a falling code rate, and if so, increasing the preset code rate step size to a preset value, and decreasing the current code rate according to the increased preset value;
    判断上一次进行的码率调整是否为提高码率,若是,将所述预设码率步长增加至预设值,并按照增加后的预设值提高当前码率。Determining whether the last rate rate adjustment is an increase code rate, and if so, increasing the preset code rate step size to a preset value, and increasing the current code rate according to the increased preset value.
  7. 根据权利要求1所述的网络推流质量的优化方法,其特征在于,所述推流按照下述方式生成:The method for optimizing network push quality according to claim 1, wherein the push stream is generated as follows:
    将预先采集的音视频数据经过编码器进行编码,并将编码后的音视频数据经过封包后通过实时消息传输协议RTMP进行传输,以生成所述推流。The pre-acquired audio and video data is encoded by an encoder, and the encoded audio and video data is packetized and transmitted through a real-time message transmission protocol (RTMP) to generate the push stream.
  8. 一种网络推流质量的优化系统,其特征在于,所述系统包括:An optimization system for network push quality, characterized in that the system comprises:
    流数据收集控制模块,用于按照预设周期采集推流的特征信息,所述特征信息包括平均码率、平均帧率、缓冲区数据吞吐量、每帧TCP平均发送时长;The flow data collection control module is configured to collect feature information of the push flow according to a preset period, where the feature information includes an average code rate, an average frame rate, a buffer data throughput, and an average TCP transmission time per frame;
    自适应码率控制模块,用于根据当前每帧TCP平均发送时长以及当前缓冲区数据吞吐量,对下一周期的码率进行调整,并将调整后的码率作为目标码率反馈至编码器;The adaptive rate control module is configured to adjust the code rate of the next cycle according to the current average TCP transmission duration and the current buffer data throughput, and feed the adjusted code rate as the target code rate to the encoder. ;
    动态帧率控制模块,用于根据当前缓冲区数据吞吐量,对下一周期的帧率进行调整,并根据调整后的帧率确定两帧之间的时间间隔;基于确定的所述时间间隔对进入编码器的音视频数据进行过滤,以生成符合调整后的帧率的音视频数据;a dynamic frame rate control module, configured to adjust a frame rate of a next cycle according to a current buffer data throughput, and determine a time interval between the two frames according to the adjusted frame rate; The audio and video data entering the encoder is filtered to generate audio and video data that conforms to the adjusted frame rate;
    传输控制模块,用于按照调整后的码率和调整后的帧率进行音视频数据的编码及传输。The transmission control module is configured to encode and transmit audio and video data according to the adjusted code rate and the adjusted frame rate.
  9. 根据权利要求8所述的网络推流质量的优化系统,其特征在于,所述自适应码率控制模块具体包括:The network traffic quality optimization system according to claim 8, wherein the adaptive code rate control module specifically includes:
    第一判断单元,用于当所述当前每帧TCP平均发送时长大于第一预设风险值时,按照预 设码率步长下降当前码率,并将下降后的码率作为下一周期的码率;a first determining unit, configured to: when the current average transmission time of the TCP per frame is greater than the first preset risk value, decrease the current code rate according to the preset code rate step, and use the reduced code rate as the next period Code rate
    第二判断单元,用于当所述当前每帧TCP平均发送时长小于或者等于所述第一预设风险值时,判断所述当前每帧TCP平均发送时长是否大于第二预设风险值;a second determining unit, configured to determine, when the current average TCP transmission duration of each frame is less than or equal to the first preset risk value, whether the current average TCP transmission duration per frame is greater than a second preset risk value;
    第三判断单元,用于若所述当前每帧TCP平均发送时长大于第二预设风险值并且当前缓冲区的数据占有率大于预设阈值时,按照预设码率步长下降当前码率,并将下降后的码率作为下一周期的码率。a third determining unit, configured to: if the current average TCP transmission time length of each frame is greater than a second preset risk value, and the current buffer data occupation rate is greater than a preset threshold, decrease the current code rate according to the preset code rate step size, The dropped code rate is taken as the code rate of the next cycle.
  10. 根据权利要求8所述的网络推流质量的优化系统,其特征在于,所述自适应码率控制模块具体包括:The network traffic quality optimization system according to claim 8, wherein the adaptive code rate control module specifically includes:
    吞吐量判断单元,用于判断当前缓冲区的吐出数据量与吞入数据量之间的关系,当吐出数据量大于或者等于吞入数据量时,将计数器的计数值加一;当吐出数据量小于吞入数据量时,将计数器的计数值减一;The throughput determining unit is configured to determine a relationship between the amount of data to be sent and the amount of data to be swallowed in the current buffer. When the amount of data to be spit is greater than or equal to the amount of data to be swallowed, the counter is incremented by one; When the amount of data is less than the amount of data, the counter value is decremented by one;
    码率调整单元,用于根据当前计数器中计数值的大小,调整下一周期的码率。The code rate adjusting unit is configured to adjust the code rate of the next cycle according to the size of the count value in the current counter.
PCT/CN2018/079677 2017-03-30 2018-03-20 Method and system for optimizing quality network pushed stream WO2018177165A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710199908.3 2017-03-30
CN201710199908.3A CN107026856A (en) 2017-03-30 2017-03-30 The optimization method and optimization system of a kind of network plug-flow quality

Publications (1)

Publication Number Publication Date
WO2018177165A1 true WO2018177165A1 (en) 2018-10-04

Family

ID=59526423

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/079677 WO2018177165A1 (en) 2017-03-30 2018-03-20 Method and system for optimizing quality network pushed stream

Country Status (2)

Country Link
CN (1) CN107026856A (en)
WO (1) WO2018177165A1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110366035A (en) * 2019-07-19 2019-10-22 广州酷狗计算机科技有限公司 Frame rate control method, device, computer equipment and computer readable storage medium
CN112702649A (en) * 2019-10-22 2021-04-23 高新兴科技集团股份有限公司 Live video playing fluency optimization method of mobile terminal, storage medium and electronic equipment
CN112714315A (en) * 2019-10-24 2021-04-27 上海交通大学 Layered buffering method and system based on panoramic video
CN113094239A (en) * 2021-04-27 2021-07-09 上海哔哩哔哩科技有限公司 Method for determining reason of live broadcast abnormity and server
CN113905249A (en) * 2021-09-30 2022-01-07 上海哔哩哔哩科技有限公司 Plug flow abnormity detection method and device
CN113905200A (en) * 2021-10-08 2022-01-07 山东亚华电子股份有限公司 Video processing method and device based on statistics
CN114051142A (en) * 2022-01-13 2022-02-15 深圳市麦谷科技有限公司 Hardware multi-channel coding anti-shake method and device, intelligent terminal and storage medium
CN114363209A (en) * 2022-01-07 2022-04-15 北京百度网讯科技有限公司 Performance detection method, device, equipment and storage medium based on TCP network
CN115412776A (en) * 2021-05-28 2022-11-29 华为技术有限公司 Network quality evaluation method and equipment in video transmission under near-field scene
CN115665485A (en) * 2022-12-26 2023-01-31 杭州星犀科技有限公司 Video picture optimization method and device, storage medium and video terminal
CN116634203A (en) * 2023-07-18 2023-08-22 湖南马栏山视频先进技术研究院有限公司 Multi-collaborative self-adaptive video quality optimization method
CN116684668A (en) * 2023-08-03 2023-09-01 湖南马栏山视频先进技术研究院有限公司 Self-adaptive video frame processing method and playing terminal
CN117440209A (en) * 2023-12-15 2024-01-23 牡丹江师范学院 Implementation method and system based on singing scene

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107026856A (en) * 2017-03-30 2017-08-08 上海七牛信息技术有限公司 The optimization method and optimization system of a kind of network plug-flow quality
CN107277568A (en) * 2017-08-16 2017-10-20 广州市千钧网络科技有限公司 A kind of plug-flow configuration parameter dynamic adjusting method and device
CN109922307B (en) * 2017-12-12 2021-01-15 杭州萤石软件有限公司 Multimedia data transmission method and camera
CN109996094B (en) * 2017-12-29 2021-08-13 杭州海康威视系统技术有限公司 Video playing method, device and system
CN108282491B (en) * 2018-02-27 2020-10-02 北京奇艺世纪科技有限公司 Method and device for evaluating plug flow quality
CN108600758A (en) * 2018-03-26 2018-09-28 南京地铁建设有限责任公司 I vertical frame dimensions burst code stream shaping methods based on city rail passenger information system
CN110535810A (en) * 2018-05-25 2019-12-03 视联动力信息技术股份有限公司 A kind of processing method and terminal of video data
CN109168013B (en) * 2018-09-19 2020-09-25 广州华多网络科技有限公司 Method, device and equipment for extracting frame and computer readable storage medium
CN110958540B (en) * 2018-09-26 2022-02-18 炬芯科技股份有限公司 USB audio conversion method and device
CN109743639B (en) * 2018-12-25 2021-11-09 深圳市麦谷科技有限公司 Self-adaptive code rate control method, system, computer equipment and storage medium
CN111385574B (en) * 2018-12-28 2021-08-10 北京字节跳动网络技术有限公司 Code rate control method and device in video coding, mobile terminal and storage medium
CN109874027A (en) * 2019-03-11 2019-06-11 宸瑞普惠(广州)科技有限公司 A kind of low delay educational surgery demonstration live broadcasting method and its system
CN112087627A (en) * 2020-08-04 2020-12-15 西安万像电子科技有限公司 Image coding control method, device, equipment and storage medium
CN113206846B (en) * 2021-04-29 2022-12-02 杭州当虹科技股份有限公司 Method and device for dynamically adjusting sending code rate
CN116132717A (en) * 2021-11-12 2023-05-16 中兴通讯股份有限公司 Inward code stream code rate acquisition method, stream receiving processing method, electronic equipment and medium
CN114245197B (en) * 2022-02-24 2022-05-17 广州市保伦电子有限公司 Audio and video interaction low-delay transmission method and background server
CN114885209B (en) * 2022-04-08 2023-06-16 车智互联(北京)科技有限公司 Live broadcast data processing method, computing device and readable storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296184A (en) * 2008-05-30 2008-10-29 华为技术有限公司 Method, system and device for data transmission
CN101771492A (en) * 2008-12-29 2010-07-07 华为技术有限公司 Method and device for adjusting streaming media bit rate
CN102201887A (en) * 2010-03-23 2011-09-28 深圳市金蝶中间件有限公司 Method and device for controlling socket transmission rate
WO2014154822A1 (en) * 2013-03-27 2014-10-02 Jacoti Bvba Method and device for latency adjustment
CN204929081U (en) * 2015-08-26 2015-12-30 重庆西线科技有限公司 Video transmission device
CN106488175A (en) * 2015-08-26 2017-03-08 重庆西线科技有限公司 A kind of video transmission method
CN107026856A (en) * 2017-03-30 2017-08-08 上海七牛信息技术有限公司 The optimization method and optimization system of a kind of network plug-flow quality

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101296184A (en) * 2008-05-30 2008-10-29 华为技术有限公司 Method, system and device for data transmission
CN101771492A (en) * 2008-12-29 2010-07-07 华为技术有限公司 Method and device for adjusting streaming media bit rate
CN102201887A (en) * 2010-03-23 2011-09-28 深圳市金蝶中间件有限公司 Method and device for controlling socket transmission rate
WO2014154822A1 (en) * 2013-03-27 2014-10-02 Jacoti Bvba Method and device for latency adjustment
CN204929081U (en) * 2015-08-26 2015-12-30 重庆西线科技有限公司 Video transmission device
CN106488175A (en) * 2015-08-26 2017-03-08 重庆西线科技有限公司 A kind of video transmission method
CN107026856A (en) * 2017-03-30 2017-08-08 上海七牛信息技术有限公司 The optimization method and optimization system of a kind of network plug-flow quality

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110366035B (en) * 2019-07-19 2021-08-24 广州酷狗计算机科技有限公司 Frame rate control method, apparatus, computer device and computer-readable storage medium
CN110366035A (en) * 2019-07-19 2019-10-22 广州酷狗计算机科技有限公司 Frame rate control method, device, computer equipment and computer readable storage medium
CN112702649A (en) * 2019-10-22 2021-04-23 高新兴科技集团股份有限公司 Live video playing fluency optimization method of mobile terminal, storage medium and electronic equipment
CN112714315A (en) * 2019-10-24 2021-04-27 上海交通大学 Layered buffering method and system based on panoramic video
CN113094239A (en) * 2021-04-27 2021-07-09 上海哔哩哔哩科技有限公司 Method for determining reason of live broadcast abnormity and server
CN113094239B (en) * 2021-04-27 2022-12-06 上海哔哩哔哩科技有限公司 Method for determining reason of live broadcast abnormity and server
CN115412776A (en) * 2021-05-28 2022-11-29 华为技术有限公司 Network quality evaluation method and equipment in video transmission under near-field scene
CN113905249A (en) * 2021-09-30 2022-01-07 上海哔哩哔哩科技有限公司 Plug flow abnormity detection method and device
CN113905200A (en) * 2021-10-08 2022-01-07 山东亚华电子股份有限公司 Video processing method and device based on statistics
CN113905200B (en) * 2021-10-08 2023-07-11 山东亚华电子股份有限公司 Video processing method and device based on statistics
CN114363209A (en) * 2022-01-07 2022-04-15 北京百度网讯科技有限公司 Performance detection method, device, equipment and storage medium based on TCP network
CN114051142B (en) * 2022-01-13 2022-04-29 深圳市麦谷科技有限公司 Hardware multi-channel coding anti-shake method and device, intelligent terminal and storage medium
CN114051142A (en) * 2022-01-13 2022-02-15 深圳市麦谷科技有限公司 Hardware multi-channel coding anti-shake method and device, intelligent terminal and storage medium
CN115665485A (en) * 2022-12-26 2023-01-31 杭州星犀科技有限公司 Video picture optimization method and device, storage medium and video terminal
CN116634203A (en) * 2023-07-18 2023-08-22 湖南马栏山视频先进技术研究院有限公司 Multi-collaborative self-adaptive video quality optimization method
CN116634203B (en) * 2023-07-18 2023-09-19 湖南马栏山视频先进技术研究院有限公司 Multi-collaborative self-adaptive video quality optimization method
CN116684668A (en) * 2023-08-03 2023-09-01 湖南马栏山视频先进技术研究院有限公司 Self-adaptive video frame processing method and playing terminal
CN116684668B (en) * 2023-08-03 2023-10-20 湖南马栏山视频先进技术研究院有限公司 Self-adaptive video frame processing method and playing terminal
CN117440209A (en) * 2023-12-15 2024-01-23 牡丹江师范学院 Implementation method and system based on singing scene
CN117440209B (en) * 2023-12-15 2024-03-01 牡丹江师范学院 Implementation method and system based on singing scene

Also Published As

Publication number Publication date
CN107026856A (en) 2017-08-08

Similar Documents

Publication Publication Date Title
WO2018177165A1 (en) Method and system for optimizing quality network pushed stream
US11503307B2 (en) System and method for automatic encoder adjustment based on transport data
US11546399B2 (en) Method and apparatus for providing a low latency transmission system using adjustable buffers
KR101942208B1 (en) Server-side Adaptive Bitrate Control for DLNA HTTP Streaming Clients
EP2974207B1 (en) Playback stall avoidance in adaptive media streaming
US9231992B2 (en) Informative data streaming server
US10686704B2 (en) Method and apparatus for providing a low latency transmission system using adaptive buffering estimation
US8255559B2 (en) Data streaming through time-varying transport media
CN110192394B (en) Method and server for transmitting media content through network
KR20100106383A (en) Apparatus and method for simulcast over a variable bandwidth channel
AU2021200428B2 (en) System and method for automatic encoder adjustment based on transport data
JP2007312051A (en) Set top box
US20170214970A1 (en) Setting data rates in a video camera system
JP2018537885A (en) Method and system for flow rate adjustment in a content-controlled streaming network
CN107483220B (en) Service quality control method, device and system
US11533237B2 (en) Round-trip estimation
JP4558463B2 (en) Stream multiplexing transmission device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18777533

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18777533

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 07.01.2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18777533

Country of ref document: EP

Kind code of ref document: A1