CN114938355B - Dynamic bandwidth adjusting method and device for streaming media network and electronic equipment - Google Patents

Dynamic bandwidth adjusting method and device for streaming media network and electronic equipment Download PDF

Info

Publication number
CN114938355B
CN114938355B CN202210860339.3A CN202210860339A CN114938355B CN 114938355 B CN114938355 B CN 114938355B CN 202210860339 A CN202210860339 A CN 202210860339A CN 114938355 B CN114938355 B CN 114938355B
Authority
CN
China
Prior art keywords
bandwidth
media stream
path
estimation value
media
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.)
Active
Application number
CN202210860339.3A
Other languages
Chinese (zh)
Other versions
CN114938355A (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.)
Beijing Yunzhong Rongxin Network Technology Co ltd
Original Assignee
Beijing Yunzhong Rongxin Network 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 Beijing Yunzhong Rongxin Network Technology Co ltd filed Critical Beijing Yunzhong Rongxin Network Technology Co ltd
Priority to CN202210860339.3A priority Critical patent/CN114938355B/en
Publication of CN114938355A publication Critical patent/CN114938355A/en
Application granted granted Critical
Publication of CN114938355B publication Critical patent/CN114938355B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth

Abstract

The invention relates to the technical field of streaming media, and discloses a dynamic bandwidth adjusting method, a dynamic bandwidth adjusting device and electronic equipment of a streaming media network, wherein the method comprises the following steps: receiving a plurality of paths of media streams sent by a client of a publisher; performing bandwidth estimation on each path of media stream to obtain a first bandwidth estimation value; receiving a second bandwidth estimation value of the subscribed media stream sent by at least one subscriber client; distributing the second bandwidth estimation value according to the actual bandwidth proportion of each path of media stream in the subscribed media stream sent by each subscriber client to obtain a third bandwidth estimation value; calculating a bandwidth factor corresponding to each path of media stream according to the third bandwidth estimation value and the first bandwidth estimation value; calculating a fourth bandwidth estimation value fed back to the client of the publisher according to the bandwidth factor and the first bandwidth estimation value; and sending the fourth bandwidth estimation value to the client of the publisher. The invention improves the stability and reliability of bandwidth calculation and solves the technical problem that the actual bandwidth of the line cannot be truly reflected.

Description

Dynamic bandwidth adjusting method and device of streaming media network and electronic equipment
Technical Field
The present invention relates to the field of streaming media technologies, and in particular, to a method and an apparatus for adjusting a dynamic bandwidth of a streaming media network, and an electronic device.
Background
In the real-time streaming media communication technology, the requirement on the real-time performance of streaming media is high, and the low delay and the fluency of the media stream are shown. If the network phenomenon is not processed, the network congestion and packet loss are finally the blocking of the audio and video on the expression of the media stream, the delay is increased, and even the screen-changing of the video and the analysis of the audio data fail.
Chinese patent application publication No. CN114448569A proposes a data transmission method, which uses FEC redundancy to encode and transmit real-time transmission data to determine different redundancies corresponding to data frames based on different data round-trip times, and performs flexible redundancy encoding operation on the real-time transmission data, and at the same time, reduces the network bandwidth required by data transmission.
In the prior art, video streams with various resolutions are actively sent to a streaming media server through a distribution end (an upstream end), and the streaming media server independently adjusts the coding bandwidth of each stream according to the packets received by each stream. For a subscription end (downlink end), the streaming media server dynamically selects to forward a stream with high resolution or a stream with low resolution according to a maximum bit rate value (remb bandwidth value) and a packet loss rate of the stream estimated by a receiving end of downlink feedback. The premise of using the scheme is that each path of flow supports multiple resolutions, and the resource requirement on an uplink end is high. When the downlink network is poor due to only one resolution, the uplink bandwidth cannot be adjusted, so that the blockage of the downlink network is obvious, and all downlink ends cannot be considered; meanwhile, the uplink load is large, and more network resources, hardware and cpu resources are consumed.
Disclosure of Invention
In view of the foregoing drawbacks and deficiencies of the prior art, the present invention provides a method, an apparatus, and an electronic device for dynamic bandwidth adjustment of a streaming media network, so as to solve some or all of the above technical problems.
In one aspect of the present invention, a dynamic bandwidth adjustment method for a streaming media network is provided, where the method is used in a streaming media server, and includes:
receiving a plurality of paths of media streams sent by a client of a publisher;
performing bandwidth estimation on each path of media stream in the multiple paths of media streams to obtain a first bandwidth estimation value corresponding to each path of media stream;
receiving a second bandwidth estimation value of a subscribed media stream sent by at least one subscriber client, wherein the subscribed media stream comprises at least one media stream in a plurality of media streams;
distributing the second bandwidth estimation value according to the actual bandwidth proportion of each path of media stream in the subscribed media stream sent by each subscriber client so as to obtain a third bandwidth estimation value corresponding to each path of media stream in the subscribed media stream sent by each subscriber client;
calculating a bandwidth factor corresponding to each path of media stream according to the third bandwidth estimation value and the first bandwidth estimation value;
calculating a fourth bandwidth estimation value fed back to the client of the publisher according to the bandwidth factor and the first bandwidth estimation value;
and sending the fourth bandwidth estimation value to the client of the issuing party.
Further, the step of calculating a bandwidth factor corresponding to each media stream according to the third bandwidth estimation value and the first bandwidth estimation value includes:
determining the minimum value of a third bandwidth estimation value corresponding to any one path of media stream in the subscribed media streams sent by each subscriber client and a first bandwidth estimation value corresponding to the path of media stream;
taking the ratio of the minimum value to the first bandwidth estimation value corresponding to the path of media stream as a bandwidth factor corresponding to the path of media stream;
and calculating the bandwidth factors corresponding to the other media streams according to the mode.
Further, the step of calculating a fourth bandwidth estimation value fed back to the publisher client according to the bandwidth factor and the first bandwidth estimation value includes:
taking the minimum value of the bandwidth factors corresponding to each media stream as a first multiplier,
taking the sum of the first bandwidth estimation values corresponding to each path of media stream as a second multiplier,
and taking the product of the first multiplier and the second multiplier as a fourth bandwidth estimation value.
Furthermore, the latest receiving bandwidth corresponding to any one path of media stream in the multi-path media streams sent by the client of the publisher is used as a molecule;
taking the sum of the latest receiving bandwidths corresponding to each path of media stream in the multi-path media streams sent by the client of the publisher as a denominator;
taking the ratio of the numerator to the denominator as an identification factor of the effectiveness of the bandwidth factor corresponding to any path of media stream;
and calculating the identification factors of the effectiveness of the bandwidth factors corresponding to the other media streams according to the mode.
Further, the method also comprises the following steps:
taking the minimum value of the bandwidth factors corresponding to the identification factors larger than the preset threshold value as a first multiplier;
taking the sum of the first bandwidth estimation values corresponding to each path of media stream as a second multiplier;
and taking the product of the first multiplier and the second multiplier as a fourth bandwidth estimation value.
In another aspect of the present invention, a dynamic bandwidth adjustment apparatus for a streaming media network is further provided, where the apparatus is used in a streaming media server, and includes:
the first receiving module is configured to receive the multi-path media stream sent by the publisher client;
the first bandwidth estimation module is configured to perform bandwidth estimation on each media stream in the multiple paths of media streams to obtain a first bandwidth estimation value corresponding to each media stream;
a second receiving module, configured to receive a second bandwidth estimation value of a subscription media stream sent by at least one subscriber client, where the subscription media stream includes at least one media stream of multiple media streams;
the third bandwidth estimation module is configured to allocate the second bandwidth estimation value according to the actual bandwidth proportion of each path of media stream in the subscribed media streams sent by each subscriber client, so as to obtain a third bandwidth estimation value corresponding to each path of media stream in the subscribed media streams sent by each subscriber client;
a bandwidth factor determination module configured to calculate a bandwidth factor corresponding to each media stream according to the third bandwidth estimation value and the first bandwidth estimation value;
a fourth bandwidth estimation module configured to calculate a fourth bandwidth estimation value fed back to the publisher client according to the bandwidth factor and the first bandwidth estimation value;
a sending module configured to send the fourth bandwidth estimate to the publisher client.
Further, the bandwidth factor determination module is further configured to:
determining the minimum value of a third bandwidth estimation value corresponding to any one path of media stream in the subscribed media streams sent by each subscriber client and a first bandwidth estimation value corresponding to the path of media stream;
taking the ratio of the minimum value to the first bandwidth estimation value corresponding to the path of media stream as the bandwidth factor corresponding to the path of media stream;
and calculating the bandwidth factors corresponding to the other media streams according to the mode.
Further, an identification factor determination module is included, which is configured to:
taking the latest receiving bandwidth corresponding to any one path of media stream in the multi-path media streams sent by the client of the publisher as a molecule;
taking the sum of the latest receiving bandwidths corresponding to each path of media stream in the multi-path media streams sent by the client of the publisher as a denominator;
taking the ratio of the numerator to the denominator as an identification factor of the effectiveness of the bandwidth factor corresponding to any path of media stream;
and calculating the identification factors of the effectiveness of the bandwidth factors corresponding to the other media streams according to the mode.
Further, the fourth bandwidth estimation module is further configured to:
taking the minimum value of the bandwidth factors corresponding to the identification factors larger than the preset threshold value as a first multiplier;
taking the sum of the first bandwidth estimation values corresponding to each path of media stream as a second multiplier;
and taking the product of the first multiplier and the second multiplier as a fourth bandwidth estimation value.
In another aspect of the present invention, an electronic device is further provided, including:
one or more processors;
storage means for storing one or more programs;
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method for dynamic bandwidth adjustment of a streaming media network described in any of the aspects above.
The dynamic bandwidth adjusting method, the dynamic bandwidth adjusting device and the electronic equipment of the streaming media network have the following beneficial effects that:
(1) the remb bandwidth value (the maximum bit rate value estimated by the receiving end) fed back by the subscribing end/the downlink end is correctly and fairly fed back to the uplink end/the publishing end, and a reasonable bandwidth is comprehensively estimated with the bandwidth estimated by each uplink media stream, so that when one of the media streams is congested, the sending bandwidth of the sending end corresponding to the uplink media stream can be adjusted, the media streams can be smoothly seen by the participants of the streaming media network, and simultaneously, the media streams are reasonably distributed.
(2) By calculating the proportion of each path of media stream in the total bandwidth actually measured, when the proportion of each path of media stream is smaller than the threshold value, the consideration of the path of media stream is eliminated, only the remaining media streams are considered, the stability and the reliability of bandwidth calculation fed back to the sending end by the streaming media server are improved, and the technical problem that the actual bandwidth cannot be truly reflected due to the fact that the final remb value is calculated due to the fact that the code rate of a certain path of media stream is small is solved.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the following detailed description of non-limiting embodiments with reference to the attached drawings in which:
fig. 1 is a logic flow diagram of a dynamic bandwidth adjustment method for a streaming media network according to an embodiment of the present application;
FIG. 2 is a flow chart illustrating the calculation of a bandwidth factor according to an embodiment of the present application;
FIG. 3 is a flow chart of a fourth bandwidth estimate calculation according to an embodiment of the present application;
FIG. 4 is a flow chart illustrating the calculation of an identification factor for a bandwidth factor according to another embodiment of the present application;
FIG. 5 is a flow chart of a fourth bandwidth estimate calculation according to another embodiment of the present application;
fig. 6 is a logic structure diagram of a dynamic bandwidth adjustment apparatus of a streaming media network according to another embodiment of the present application;
fig. 7 is a schematic structural diagram of an electronic device according to another embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The terminology used in the embodiments of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in the description of the invention and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should be understood that although the terms first, second, third, etc. may be used to describe the acquisition modules in the embodiments of the present invention, these acquisition modules should not be limited to these terms. These terms are only used to distinguish the acquisition modules from each other.
The word "if" as used herein may be interpreted as "at … …" or "when … …" or "in response to a determination" or "in response to a detection", depending on the context. Similarly, the phrases "if determined" or "if detected (a stated condition or event)" may be interpreted as "when determined" or "in response to a determination" or "when detected (a stated condition or event)" or "in response to a detection (a stated condition or event)", depending on the context.
It should be noted that the terms "upper," "lower," "left," "right," and the like used in the description of the embodiments of the present invention are illustrated in the drawings, and should not be construed as limiting the embodiments of the present invention. In addition, in this context, it will also be understood that when an element is referred to as being "on" or "under" another element, it can be directly formed on "or" under "the other element or be indirectly formed on" or "under" the other element through intervening elements.
The web conference based on screen sharing is a relatively common streaming media network scenario, and this is taken as an example to illustrate the embodiment of the present invention. It should be noted that the term "media stream" in the present invention includes, but is not limited to, video streams, audio streams, content streams, and other data streams that are transmitted by streaming media.
In the above scenario, in order to deal with the problem of dynamic bandwidth change of the streaming media network, the bandwidth of the opposite end may be estimated and adjusted by using the REMB packet based on the client and the server of the webrtc technology, that is: the receiving end (subscriber client) estimates the maximum bandwidth that the receiving end can receive by estimating the received data packet, and then feeds back the bandwidth value to the transmitting end (publisher client) by REMB packet.
On a webrtc technology-based streaming media server, the streaming media server is responsible for distributing media streams, the media streams are sent on a channel established by PeerConnection, and generally one PeerConnection sends one media stream, such as P2P, and may also forward multiple media streams. In this embodiment, a PeerConnection is used to carry multiple media streams (for example, two video streams with different resolutions, one audio stream, and a shared screen content stream may also be added), each media stream has its own independent bandwidth estimation, each media stream is divided into an uplink bandwidth and a downlink bandwidth at a streaming media server, and the uplink bandwidth value is the bandwidth estimated by the streaming media server to receive the media stream; the downstream bandwidth is a bandwidth estimation value which is transmitted to a corresponding receiving end by the streaming media server and fed back by the receiving end through REMB.
The invention utilizes PeerConnection to bind multiple paths of media streams, and solves the problem of how to correctly and fairly feed back a downlink fed-back REMB bandwidth value to an uplink stream, and simultaneously comprehensively evaluate a reasonable bandwidth with the bandwidth estimated by each path of the uplink media stream, thereby being capable of adjusting the sending bandwidth of a sending end corresponding to the uplink stream when one path of the media stream is congested, ensuring that all participants can smoothly see the content of the path of the media stream, and simultaneously each path of the media stream respectively obtains reasonable bandwidth allocation.
In order to solve the above technical problem, referring to fig. 1, the present embodiment provides a dynamic bandwidth adjustment method for a streaming media network, which is used for a streaming media server side, and includes the following steps:
step S101, receiving a plurality of paths of media streams sent by a client of a publisher.
Specifically, the publisher client 201 publishes two video streams (denoted as V1 stream and V2 stream) and one shared screen content stream (denoted as C stream), which are three media streams. In order to receive the three media streams, the streaming media server 301 correspondingly creates three logic modules, namely pubV1, pubV2 and PubC. While subscriber client 202 subscribes to V1 and C streams in the media streams published by publisher client 201. The subscriber client 203 subscribes to V2 stream and C stream among the media streams published by the publisher client 201. The subscriber client 204 subscribes to V2 stream and C stream among the media streams published by the publisher client 201. The streaming server 301 creates associated object information according to the information that the subscriber clients 202, 203, and 204 subscribe to the stream:
subscriber client 202: subV1_ u2, subC _ u 2;
subscriber client 203: subV2_ u3, subC _ u 3;
subscriber client 204: subV2_ u4, subC _ u 4.
Step S102, performing bandwidth estimation on each path of media stream in the multiple paths of media streams to obtain a first bandwidth estimation value corresponding to each path of media stream.
Specifically, the pubV1 module created by the streaming media server 301 is configured to receive the V1 stream published by the publisher client 201, and at the same time, it performs bandwidth estimation on the V1 stream, and the bandwidth estimation result is denoted as rembV1_ local. Similarly, the result of bandwidth estimation of the V2 stream by the pubV2 module corresponds to rembV2_ local. Similarly, the bandwidth estimation result of the pubC module for the C stream corresponds to rembC _ local. The above-mentioned values of rembV1_ local, rembV2_ local and rembC _ local are local estimated values of the upstream bandwidth, and are referred to as first estimated bandwidth values.
Step S103, receiving a second bandwidth estimation value of a subscription media stream sent by at least one subscriber client, where the subscription media stream includes at least one media stream of multiple media streams.
Specifically, after the subscriber client 202 subscribes to the V1 stream and the C stream, the overall bandwidth estimation is performed on the two media streams, and finally the overall bandwidth estimation value rembUser2 is fed back to the streaming media server 301. Similarly, the subscriber client 203 subscribes to the V2 stream and the C stream, and the subscriber client 203 performs overall bandwidth estimation on the two media streams, and finally the overall bandwidth estimation value fed back to the streaming media server 301 is recorded as rembUser 3. Similarly, the overall bandwidth estimate for V2 flow and C flow that the subscriber client 204 finally feeds back is denoted as rembUser 4. The values of rembUser2, rembUser3 and rembUser4 are the client feedback estimated values of the downlink bandwidth, and are recorded as the second bandwidth estimated values.
And step S104, distributing the second bandwidth estimation value according to the actual bandwidth proportion of each path of media stream in the subscribed media streams sent by each subscriber client so as to obtain a third bandwidth estimation value corresponding to each path of media stream in the subscribed media streams sent by each subscriber client.
Specifically, since the subscriber client 202 subscribes to V1 streams and C streams, the second bandwidth estimation value fed back to the streaming media server 301 is rembUser2, the streaming media server 301 needs to divide the rembUser2 into corresponding V1 streams and C streams according to the actual bandwidth ratio of the V1 streams and C streams, and the divided bandwidth estimation values are recorded as rembusbv 1_ u2 and rembusbc _ u 2. Similarly, the second bandwidth estimation rembcuser 3 fed back by the subscriber client 203 is divided fairly into two bandwidth estimations rembcubv 2_ u3 and rembcubc _ u3 by the streaming server 301. Similarly, the second bandwidth estimation rembuuser 4 fed back by the subscriber client 204 is divided fairly into two bandwidth estimations rembSubV2_ u4 and rembSubC _ u 4.
Further, the second bandwidth estimate rembcuser 2 fed back by the subscriber client 202 is split into two split bandwidth estimates rembcubv 1_ u2 and rembcu _ u2, rembcsub 1_ u2 feeds back to the pubV1 module, and rembcu 2 feeds back to the pubC module.
Further, the second bandwidth estimate rembcuser 3 fed back by the subscriber client 203 is split into two sub-bandwidth estimates rembcv 2_ u3 and rembcu _ u3, rembcv 2_ u3 feeds back to the pubV2 module, and rembcu 3 feeds back to the pubC module.
Further, the second bandwidth estimate rembcuser 4 fed back by the subscriber client 204 is split into two sub-bandwidth estimates rembcsu 2_ u4 and rembcsu u4, wherein rembcsu 2_ u4 feeds back to the pubV2 module and rembcsu _ u4 feeds back to the pubC module.
That is, the pubV1 module always processes V1 stream related data, the pubV2 module always processes V2 stream related data, and the pubC module always processes C stream related data.
Wherein, the pubV1 module corresponds to two bandwidth estimation values, namely: the first bandwidth estimate, rembV1_ local, and the split bandwidth estimate, rembSubV1_ u2, split from subscriber client 202, assume rembsv 1_ u2 is less than rembV1_ local. The sub-bandwidth estimation rembcubv 1_ u2 is also referred to as a third bandwidth estimation corresponding to the V1 stream.
Wherein, the pubV2 module corresponds to three bandwidth estimation values, namely: the first bandwidth estimate rembV2_ local and the split bandwidth estimate rembSubV2_ u3 split from the subscriber client 203, and the split bandwidth estimate rembsv 2_ u4 split from the subscriber client 204. It is assumed here that rembbv 2_ u4 split from subscriber client 204 is smaller than rembbv 2_ u3 and rembbv 2_ local split from subscriber client 203. The sub-bandwidth estimates rembcubv 2_ u3 and rembcubv 2_ u4 are also referred to as third bandwidth estimates for V2 streams.
Wherein, the pubC module corresponds to four bandwidth estimation values, namely: a first bandwidth estimate rembC local, a split bandwidth estimate rembcsu 2 split from subscriber client 202, a split bandwidth estimate rembcsu 3 split from subscriber client 203, and a split bandwidth estimate rembcsu 4 split from subscriber client 204. It is assumed here that rembcu 3 split from subscriber client 203 is smaller than rembcu 2, rembcu 4 split from subscriber client 202 and subscriber client 204, and is also smaller than the first bandwidth estimate rembC local. The sub-bandwidth estimates rembcu 2, rembcu 3, and rembcu 4 are also referred to as third bandwidth estimates corresponding to C streams.
It follows that the first bandwidth estimate does not have only one value, but that there is one first bandwidth estimate per media stream. The second bandwidth estimate is not only a single value, but rather a single second bandwidth estimate for each subscribed media stream of the subscriber client. Similarly, the third bandwidth estimation value does not have only one value, but each media stream in the subscribed media streams of each subscriber client corresponds to one third bandwidth estimation value.
And step S105, calculating a bandwidth factor corresponding to each path of media stream according to the third bandwidth estimation value and the first bandwidth estimation value.
Specifically, in this embodiment, the bandwidth fed back (upstream) to the subscriber client is modified by using "a ratio of the minimum value of the third bandwidth estimation value and the first bandwidth estimation value to the first bandwidth estimation value corresponding to each media stream", that is, a bandwidth factor corresponding to each media stream, which is more fair and accurate than the bandwidth estimation in the prior art.
Specifically, the bandwidth factors corresponding to the V1 stream, the V2 stream, and the C stream are denoted as ratio V1, ratio V2, and ratio C, and include:
Figure DEST_PATH_IMAGE002
Figure DEST_PATH_IMAGE004
Figure DEST_PATH_IMAGE006
the above-mentioned min () means taking the minimum value.
Referring to fig. 2, the calculation process of the bandwidth factors ratio v1, ratio v2 and ratio c can be described as follows:
step S1051, determining the minimum value of the third bandwidth estimation value corresponding to any path of media stream in the subscribed media streams sent by each subscriber client and the first bandwidth estimation value corresponding to the path of media stream;
step S1052, taking a ratio of the minimum value in step S1051 to the first bandwidth estimation value corresponding to the path of media stream as a bandwidth factor corresponding to the path of media stream;
step S1053, calculating bandwidth factors corresponding to the other media streams according to the above manner.
And step S106, calculating a fourth bandwidth estimation value fed back to the client of the publisher according to the bandwidth factor and the first bandwidth estimation value.
Specifically, the bandwidth estimation value remb finally fed back to the publisher client 201 by the streaming media server 301 may be obtained by the following calculation:
Figure DEST_PATH_IMAGE008
the above min () means taking the minimum value, and sum () means taking the sum of the sums.
That is, the bandwidth estimation value remb is the sum of the first bandwidth estimation values corresponding to the three media streams multiplied by the minimum value of the three bandwidth factors as a coefficient factor.
In this embodiment, the bandwidth estimation value remb that is finally fed back to the publisher client 201 by the streaming server 301 is referred to as a fourth bandwidth estimation value.
Referring to fig. 3, the calculation process of the fourth bandwidth estimation value can be described as the following steps:
step S1061, using the minimum value of the bandwidth factors corresponding to each media stream as the first multiplier,
step S1062, using the sum of the first bandwidth estimation values corresponding to each media stream as a second multiplier,
step S1063, which is to take the product of the first multiplier and the second multiplier obtained in the above step as a fourth bandwidth estimation value.
And step S107, sending the fourth bandwidth estimation value to the client of the publisher.
Specifically, the streaming media server 301 feeds back the calculated bandwidth estimation value remb to the publisher client 201, and the publisher client 201 adjusts the sending code rate according to the fed back bandwidth estimation value, so as to reduce the sending code rate, thereby ensuring that no packet is lost when the network is congested and the video is watched smoothly.
It should be noted that, the above dynamic bandwidth adjustment method for a streaming media network has the following problems: when the screen is still, the code rate of each frame of the screen-shared content stream (C stream) is very small, which may cause the bandwidth estimation values of the downlink and uplink of the media stream on the streaming server to differ very much, and as a result, the ratio of the downlink bandwidth estimation value (third bandwidth estimation value) and the uplink bandwidth estimation value (first bandwidth estimation value) is very small.
In order not to have the relatively abnormal values affect the overall bandwidth calculation. The idea of another embodiment of the present invention is to consider that when the bitrate of the screen sharing content stream is very low, it actually has very little influence on the whole bandwidth, so that it is not involved in the final bandwidth calculation, i.e. it is eliminated. Because the streaming media server can know the actual bandwidth value of each media stream, only the media streams with relatively large bandwidth are reserved, and the media streams with small bandwidth are rejected, because only the media streams with large bandwidth have larger influence on the whole bandwidth, the estimation is more accurate.
Specifically, supplementary explanation is given by taking the scenario of the above embodiment as an example. The streaming server 301 calculates the bandwidth factors ratio v1, ratio v2, and ratio c, and takes the smallest value as the correction to sum (rembV1_ local, rembV2_ local, rembC _ local) value, but due to screen sharing, when the screen is still, the bandwidth factor ratio c may be very small, resulting in a large deviation to the final result calculation.
In order to solve the above problem, an identification factor of a bandwidth factor is introduced, so that media streams with little influence on the entire bandwidth are removed in the calculation process of the fourth bandwidth estimation value.
Specifically, the total byte number of the received packets in the last second is counted for each media stream, that is, the received bandwidth in the last second is denoted as rV1, rV2, rC, and the identification factors r1, r2, rC of the bandwidth factor are calculated according to the following formula:
Figure DEST_PATH_IMAGE010
Figure DEST_PATH_IMAGE012
Figure DEST_PATH_IMAGE014
referring to fig. 4, the process of calculating the identification factor can be described as follows:
step S1081, the latest receiving bandwidth corresponding to any one of the multiple media streams sent by the publisher client is used as a molecule;
step S1082, the sum of the latest receiving bandwidths corresponding to each path of media stream in the multiple paths of media streams sent by the client of the publisher is used as a denominator;
step S1083, the ratio of the numerator and the denominator in the above steps is used as an identification factor of the effectiveness of the bandwidth factor corresponding to any path of media stream;
step S1084, calculating the identification factor of the effectiveness of the bandwidth factor corresponding to each of the other media streams according to the above-mentioned manner.
Further, the identification factors r1, r2, rc correspond to bandwidth factors ratio v1, ratio v2, ratio c, respectively. When one of the recognition factors r1, r2, rc is smaller than the preset threshold, the corresponding media stream will not participate in the final modification.
For example: r1 and r2 are both greater than the empirical value of 0.1, but rc is less than the empirical value of 0.1, then the fourth bandwidth estimate that the streaming server 301 ultimately feeds back to the publisher client 201 is calculated as:
Figure DEST_PATH_IMAGE016
that is, ignoring the bandwidth factor ratio c, i.e.: and eliminating the influence of the third bandwidth estimation value corresponding to the C stream, wherein the C stream occupies too small bandwidth proportion, the influence degree of the estimated bandwidth on the bandwidth of other media streams on the whole network is negligible, and the estimated bandwidth is not accurate per se.
Referring to fig. 5, the fourth bandwidth estimation calculation method can be described as the following steps:
step S1064, taking the minimum value of the bandwidth factors corresponding to the identification factors larger than the preset threshold value as a first multiplier;
step S1065, taking the sum of the first bandwidth estimation values corresponding to each path of media stream as a second multiplier;
step S1066 is to take the product of the first multiplier and the second multiplier as a fourth bandwidth estimation value.
The method of the embodiment eliminates the influence of abnormal scenes, so that the calculation of the bandwidth finally fed back to the publisher client by the streaming media server is more stable and reliable.
Referring to fig. 6, another embodiment of the present invention further provides a dynamic bandwidth adjustment apparatus 600 for a streaming media network, which includes a first receiving module 601, a first bandwidth estimating module 602, a second receiving module 603, a third bandwidth estimating module 604, a bandwidth factor determining module 605, a fourth bandwidth estimating module 606, and a sending module 607. The dynamic bandwidth adjusting apparatus 600 of the streaming media network is used for executing the steps in the above method embodiments.
Specifically, the dynamic bandwidth adjustment apparatus 600 of the streaming media network includes:
a first receiving module 601 configured to receive multiple media streams sent by a publisher client;
a first bandwidth estimation module 602, configured to perform bandwidth estimation on each media stream in the multiple media streams to obtain a first bandwidth estimation value corresponding to each media stream;
a second receiving module 603, configured to receive a second bandwidth estimation value of a subscription media stream sent by at least one subscriber client, where the subscription media stream includes at least one media stream of multiple media streams;
a third bandwidth estimation module 604, configured to allocate the second bandwidth estimation value according to an actual bandwidth proportion of each path of media stream in the subscribed media streams sent by each subscriber client, so as to obtain a third bandwidth estimation value corresponding to each path of media stream in the subscribed media streams sent by each subscriber client;
a bandwidth factor determining module 605 configured to calculate a bandwidth factor corresponding to each media stream according to the third bandwidth estimation value and the first bandwidth estimation value;
a fourth bandwidth estimation module 606 configured to calculate a fourth bandwidth estimation value fed back to the publisher client according to the bandwidth factor and the first bandwidth estimation value;
a sending module 607 configured to send the fourth bandwidth estimate to the publisher client.
It should be noted that, the dynamic bandwidth adjustment apparatus 600 of the streaming media network provided in this embodiment is correspondingly applicable to the technical solution for executing the method embodiments, and the implementation principle and the technical effect are similar to those of the method, and are not described herein again.
Referring to fig. 7, another embodiment of the present invention further provides an electronic device. Fig. 7 shows a schematic structural diagram of an electronic device 700 suitable for implementing the present embodiment. The electronic device 700 in this embodiment may be a streaming server or any electronic device capable of implementing the functions of a streaming server. The electronic device shown in fig. 7 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 7, electronic device 700 may include a processing means (e.g., central processing unit, graphics processor, etc.) 701 that may perform various appropriate actions and processes to implement the methods of the various embodiments as described herein, according to a program stored in a Read Only Memory (ROM) 702 or a program loaded from storage 708 into a Random Access Memory (RAM) 703. In the RAM703, various programs and data necessary for the operation of the electronic apparatus 700 are also stored. The processing device 701, the ROM 702, and the RAM703 are connected to each other by a bus 704. An input/output (I/O) interface 605 is also connected to bus 704.
Generally, the following devices may be connected to the I/O interface 705: input devices 706 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 707 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 708 including, for example, magnetic tape, hard disk, etc.; and a communication device 709. The communication means 709 may allow the electronic device 700 to communicate wirelessly or by wire with other devices to exchange data. While fig. 7 illustrates an electronic device 700, it is to be understood that not all of the illustrated internal devices are required to be implemented or provided, and that more or fewer internal devices may be alternatively implemented or provided.
The above description is that of the preferred embodiment of the invention only. It will be appreciated by those skilled in the art that the scope of the disclosure herein is not limited to the particular combination of features described above, but also encompasses other embodiments in which any combination of the features described above or their equivalents is encompassed without departing from the spirit of the disclosure. For example, the above features and (but not limited to) features having similar functions disclosed in the present invention are mutually replaced to form the technical solution.

Claims (10)

1. A dynamic bandwidth adjustment method of a streaming media network is used for a streaming media server, and is characterized by comprising the following steps:
receiving a plurality of paths of media streams sent by a client of a publisher;
performing bandwidth estimation on each path of media stream in the multiple paths of media streams to obtain a first bandwidth estimation value corresponding to each path of media stream;
receiving a second bandwidth estimation value of a subscribed media stream sent by at least one subscriber client, wherein the subscribed media stream comprises at least one media stream in the multiple media streams;
distributing the second bandwidth estimation value according to the actual bandwidth proportion of each path of media stream in the subscribed media stream sent by each subscriber client to obtain a third bandwidth estimation value corresponding to each path of media stream in the subscribed media stream sent by each subscriber client;
calculating a bandwidth factor corresponding to each path of media stream according to the third bandwidth estimation value and the first bandwidth estimation value;
calculating a fourth bandwidth estimation value fed back to the publisher client according to the bandwidth factor and the first bandwidth estimation value;
and sending the fourth bandwidth estimation value to a publisher client.
2. The method according to claim 1, wherein the step of calculating the bandwidth factor corresponding to each media stream according to the third bandwidth estimation value and the first bandwidth estimation value comprises:
determining the minimum value of a third bandwidth estimation value corresponding to any one path of media stream in the subscribed media streams sent by each subscriber client and a first bandwidth estimation value corresponding to the path of media stream;
taking the ratio of the minimum value to the first bandwidth estimation value corresponding to the path of media stream as a bandwidth factor corresponding to the path of media stream;
and calculating the bandwidth factors corresponding to the other media streams according to the mode.
3. The method according to claim 2, wherein the step of calculating a fourth bandwidth estimation value fed back to the publisher client according to the bandwidth factor and the first bandwidth estimation value comprises:
taking the minimum value of the bandwidth factors corresponding to each media stream as a first multiplier,
taking the sum of the first bandwidth estimation values corresponding to each path of media stream as a second multiplier,
taking a product of the first multiplier and the second multiplier as the fourth bandwidth estimate.
4. The method of claim 2, wherein after calculating the bandwidth factor corresponding to each media stream, the method further comprises:
taking the latest receiving bandwidth corresponding to any one path of media stream in the multi-path media streams sent by the client of the publisher as a molecule;
taking the sum of the latest receiving bandwidths corresponding to each path of media stream in the multi-path media streams sent by the client of the publisher as a denominator;
taking the ratio of the numerator to the denominator as an identification factor of the effectiveness of the bandwidth factor corresponding to the any path of media stream;
and calculating the identification factors of the effectiveness of the bandwidth factors corresponding to the other media streams according to the mode.
5. The method for adjusting dynamic bandwidth of a streaming media network according to claim 4, further comprising:
taking the minimum value of the bandwidth factors corresponding to the identification factors larger than the preset threshold value as a first multiplier;
taking the sum of the first bandwidth estimation values corresponding to each path of media stream as a second multiplier;
taking the product of the first multiplier and the second multiplier as the fourth bandwidth estimate.
6. A dynamic bandwidth adjustment apparatus for a streaming media server in a streaming media network, comprising:
the first receiving module is configured to receive the multi-path media stream sent by the publisher client;
the first bandwidth estimation module is configured to perform bandwidth estimation on each media stream in the multiple media streams to obtain a first bandwidth estimation value corresponding to each media stream;
a second receiving module, configured to receive a second bandwidth estimation value of a subscription media stream sent by at least one subscriber client, where the subscription media stream includes at least one media stream of the multiple media streams;
the third bandwidth estimation module is configured to allocate the second bandwidth estimation value according to the actual bandwidth proportion of each path of media stream in the subscribed media streams sent by each subscriber client, so as to obtain a third bandwidth estimation value corresponding to each path of media stream in the subscribed media streams sent by each subscriber client;
a bandwidth factor determination module configured to calculate a bandwidth factor corresponding to each media stream according to the third bandwidth estimation value and the first bandwidth estimation value;
a fourth bandwidth estimation module configured to calculate a fourth bandwidth estimation value fed back to the publisher client according to the bandwidth factor and the first bandwidth estimation value;
a sending module configured to send the fourth bandwidth estimate to a publisher client.
7. The dynamic bandwidth adjustment apparatus of streaming media network of claim 6, wherein said bandwidth factor determination module is further configured to:
determining the minimum value of a third bandwidth estimation value corresponding to any one path of media stream in the subscribed media streams sent by each subscriber client and a first bandwidth estimation value corresponding to the path of media stream;
taking the ratio of the minimum value to the first bandwidth estimation value corresponding to the path of media stream as a bandwidth factor corresponding to the path of media stream;
and calculating the bandwidth factors corresponding to the other paths of media streams according to the mode.
8. The dynamic bandwidth adjustment apparatus of a streaming media network according to claim 7, further comprising an identification factor determination module configured to:
taking the latest receiving bandwidth corresponding to any one path of media stream in the multi-path media streams sent by the client of the publisher as a molecule;
taking the sum of the latest receiving bandwidths corresponding to each path of media stream in the multi-path media streams sent by the client of the publisher as a denominator;
taking the ratio of the numerator to the denominator as an identification factor of the effectiveness of the bandwidth factor corresponding to the any path of media stream;
and calculating the identification factors of the effectiveness of the bandwidth factors corresponding to the other media streams according to the mode.
9. The dynamic bandwidth adjustment apparatus of claim 8, wherein the fourth bandwidth estimation module is further configured to:
taking the minimum value of the bandwidth factors corresponding to the identification factors larger than the preset threshold value as a first multiplier;
taking the sum of the first bandwidth estimation values corresponding to each path of media stream as a second multiplier;
taking the product of the first multiplier and the second multiplier as the fourth bandwidth estimate.
10. An electronic device, comprising:
one or more processors;
storage means for storing one or more programs;
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the method for dynamic bandwidth adjustment of a streaming media network of any of claims 1-5.
CN202210860339.3A 2022-07-22 2022-07-22 Dynamic bandwidth adjusting method and device for streaming media network and electronic equipment Active CN114938355B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210860339.3A CN114938355B (en) 2022-07-22 2022-07-22 Dynamic bandwidth adjusting method and device for streaming media network and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210860339.3A CN114938355B (en) 2022-07-22 2022-07-22 Dynamic bandwidth adjusting method and device for streaming media network and electronic equipment

Publications (2)

Publication Number Publication Date
CN114938355A CN114938355A (en) 2022-08-23
CN114938355B true CN114938355B (en) 2022-09-20

Family

ID=82869324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210860339.3A Active CN114938355B (en) 2022-07-22 2022-07-22 Dynamic bandwidth adjusting method and device for streaming media network and electronic equipment

Country Status (1)

Country Link
CN (1) CN114938355B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106817721A (en) * 2015-11-30 2017-06-09 中国移动通信集团公司 A kind of method of streaming media service bandwidth estimation, device, terminal and server
CN111656774A (en) * 2018-01-31 2020-09-11 脸谱公司 System and method for optimizing simulcast streams in a group video call
EP3968645A1 (en) * 2015-12-11 2022-03-16 InterDigital Madison Patent Holdings, SAS Scheduling multiple-layer video segments
CN114629826A (en) * 2020-12-14 2022-06-14 京东方科技集团股份有限公司 Network maximum bandwidth estimation method and device, electronic equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10694239B1 (en) * 2018-12-12 2020-06-23 Sling Media Pvt Ltd Systems, methods, and devices for optimizing streaming bitrate based on multiclient display profiles

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106817721A (en) * 2015-11-30 2017-06-09 中国移动通信集团公司 A kind of method of streaming media service bandwidth estimation, device, terminal and server
EP3968645A1 (en) * 2015-12-11 2022-03-16 InterDigital Madison Patent Holdings, SAS Scheduling multiple-layer video segments
CN111656774A (en) * 2018-01-31 2020-09-11 脸谱公司 System and method for optimizing simulcast streams in a group video call
CN114553842A (en) * 2018-01-31 2022-05-27 元平台公司 System and method for optimizing simulcast streams in a group video call
CN114629826A (en) * 2020-12-14 2022-06-14 京东方科技集团股份有限公司 Network maximum bandwidth estimation method and device, electronic equipment and storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种符合3GPP标准的动态带宽适配算法;宋秀娟等;《计算机测量与控制》;20080625(第06期);全文 *
流媒体服务器比例带宽分配的改进算法;李旸等;《计算机工程与设计》;20090528(第10期);全文 *

Also Published As

Publication number Publication date
CN114938355A (en) 2022-08-23

Similar Documents

Publication Publication Date Title
US11296989B2 (en) Method and system for transferring data to improve responsiveness when sending large data sets
US9577935B2 (en) Unified congestion control for real-time media support
US20050021830A1 (en) Data communications method and system using buffer size to calculate transmission rate for congestion control
CN104394486B (en) A kind of video stream processing method and device based on cloud desktop
US7701884B2 (en) Network communications bandwidth control
EP1376952B1 (en) Congestion control mechanism for streaming media
US7636789B2 (en) Rate-controllable peer-to-peer data stream routing
CN105075276B (en) The technology of client device and server apparatus is operated in broadcast communication network
US20080091838A1 (en) Multi-level congestion control for large scale video conferences
Campbell et al. QoS adaptive transports: Delivering scalable media to the desktop
US9271055B2 (en) System and method for variable video degradation counter-measures
EP1428358B1 (en) Data communications method and system for transmitting multiple data streams calculating available bandwidth per stream and bit stream trade-off
CN112312137A (en) Video transmission method and device, electronic equipment and storage medium
Khan et al. QoE in DASH
Rexford et al. A smoothing proxy service for variable-bit-rate streaming video
Campbell et al. A QoS adaptive transport system: Design, implementation and experience
CN114938355B (en) Dynamic bandwidth adjusting method and device for streaming media network and electronic equipment
Campbell et al. A QoS adaptive multimedia transport system: design, implementation and experiences
Smith et al. A feedback based rate control algorithm for multicast transmitted video conferencing^{1}
Campbell et al. Implementation and evaluation of the QoS-A transport system
Kim et al. A bandwidth estimation scheme to improve the QoE of HTTP adaptive streaming in the multiple client environment
Campbell et al. The QoS-A Transport System: Delivering Adaptive Media to the Desk Top
Mvumbi et al. An online meeting tool for low bandwidth environments
Campbell et al. Experiences with an adaptive multimedia transport system in a QoS Architecture
Iqbal et al. A dynamic approach to estimate receiving bandwidth for WebRTC

Legal Events

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