CN112584204A - Dynamic code rate self-adaption method for playing terminal in weak network environment - Google Patents
Dynamic code rate self-adaption method for playing terminal in weak network environment Download PDFInfo
- Publication number
- CN112584204A CN112584204A CN202011392653.0A CN202011392653A CN112584204A CN 112584204 A CN112584204 A CN 112584204A CN 202011392653 A CN202011392653 A CN 202011392653A CN 112584204 A CN112584204 A CN 112584204A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- stream
- streaming media
- path
- media data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 11
- 230000005540 biological transmission Effects 0.000 claims abstract description 12
- 238000001514 detection method Methods 0.000 claims abstract description 8
- 238000012937 correction Methods 0.000 claims abstract description 5
- 238000012544 monitoring process Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26208—Content 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/26216—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The invention provides a dynamic code rate self-adaptive method of a playing end in a weak network environment.A video and audio acquisition module sends streaming media data to a trun server through a bandwidth detection sending module, and the trun server comprises a bandwidth detection receiving module and a transcoding module; the audio and video coding rate and the error correction coding algorithm are based on the actual network condition between the audio and video acquisition end and the trun server, so that the high-quality transmission of the streaming media data to the trun server is ensured; when the trun server sends streaming media data to a playing end, monitoring the bandwidth in real time, and when a certain path is in a weak network environment, encoding a path of new code rate, wherein the new code rate is calculated based on the original code rate; if the one path of playing end is in the grade bandwidth again, sharing the path of subcode stream; and if not, stopping transcoding of the sub-code stream. When the invention is used for multi-path forwarding, different code rates are coded in real time according to the bandwidth of the playing end, and the playing experience is improved.
Description
Technical Field
The invention belongs to a data transmission system of a real-time streaming media transmission system, and relates to a client dynamic code rate self-adaption method in a weak network environment.
Background
When supporting multiple playing ends, the network architecture of the existing real-time streaming media transmission system based on the UDP protocol is composed of a video acquisition end, a forwarding server (turn), and a playing end. As shown in fig. 1.
Taking the most popular webrtc approach as an example, whether it is an open-source Kurento server, or a unicode, Mediasoup, streaming media data thereof is transmitted in this way.
The streaming media transmission part is provided with a network bandwidth control module (congestion avoidance module), and when network congestion is detected, the streaming media transmission part informs an audio and video acquisition end to perform code rate control of audio and video coding and increase the fec error correction function, so that the streaming media transmission part is suitable for the current network bandwidth and packet loss rate, and the network real-time property is improved.
When only one path of playing end exists, the encoding code rate and the fec parameter of the audio and video acquisition end adopt the lowest bandwidth (the minimum value of the two bandwidths from the acquisition end to the trun server and from the trun server to the playing end) of the whole network, so that the optimal playing experience can be achieved.
When there are only multiple paths of playing terminals, the network bandwidth from the trun server to the playing terminal, and the network bandwidth control module thereof can actually detect that the bandwidth changes, when the bandwidth between the acquisition terminal and the trun server is sufficient, and the bandwidth from the trun server of a certain path (or some paths) to the playing terminal is in a weak network environment, some problems may be brought:
1. the bandwidth from the collection end to the trun server is directly used as the coding bandwidth instead of the coding bandwidth, so that the bandwidth from the trun server to the playing end is in a weak network environment, and the playing experience is very poor. Most open source trun servers use this approach.
2. The worst network bandwidth is adopted as the encoding bandwidth of the acquisition end, so that the experience of the playing end under the worst bandwidth can be really improved, but the playing experience of the playing end with good network conditions is reduced.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and solve the playing experience of a certain path or a plurality of paths of playing end networks in a weak network environment under the condition of a plurality of paths of playing ends of a real-time streaming media transmission system based on a UDP protocol.
The invention provides a dynamic code rate self-adapting method of a playing end under a weak network environment to solve the problem,
step 1, an audio and video acquisition module sends streaming media data to a trun server through a bandwidth detection sending module, and the trun server comprises a bandwidth detection receiving module and a transcoding module; the audio and video coding rate and the error correction coding algorithm are based on the actual network condition between the audio and video acquisition end and the trun server, so that the high-quality transmission of the streaming media data to the trun server is ensured;
step 2, the trun server forwards the streaming media data through a transcoding module; judging whether the grade of the forwarding broadband needs to be modified or not by calculating the grade of the bandwidth; the trun server starts subcode stream coding and performs hierarchical processing on subcode stream coding rate according to the bandwidth of the playing end in real time when the bandwidth of the playing end is in a weak network environment; if the forwarding broadband level does not need to be modified, the trun server directly forwards the streaming media data through the transcoding module; if the forwarding broadband level needs to be modified, further judging whether the level subcode is established; if the equal-level subcode is created, adding the equal-level subcode stream, forwarding the streaming media data through a transcoding module by the trunk server, and deleting the atomic stream code when the original-level subcode stream is not used; if the equal-level subcode is not created, the equal-level subcode stream is added, the trun server forwards the streaming media data through the transcoding module, the original-level subcode stream is not used any more, and the atomic stream code is deleted;
step 3, when the trun server sends the streaming media data to the playing end, monitoring the bandwidth in real time, and when the code rate changes, switching to the sub-code stream of the corresponding code rate when the key frame is coded;
and 4, stopping encoding the sub-code stream of the path when the sub-code stream of the path is not needed.
Further, when the trun server sends streaming media data to the playing end, the bandwidth is monitored in real time, when a certain path is in a weak network environment, a new code rate is coded, the new code rate is calculated based on the original code rate, for example, three-level sub-code streams, 1/4, 1/2 and 3/4 of the original code rate, if the certain path is between 1/4 and 1/2, 1/4 of the original code rate is created as the coding bandwidth and is forwarded to the playing end of the path, and if the playing end of the path is in the level bandwidth again, the path of sub-code streams are shared. And if not, stopping transcoding of the sub-code stream. If the bandwidth of the playing end of a certain path is changed from between 1/4 and 1/2 to between 3/4 and the original code rate, 3/4 of the original code rate is started to serve as the coding bandwidth, the path is forwarded, and the forwarding coding quality of the path is improved.
The method has the following advantages:
1. and when the multi-path forwarding is carried out, different code rates are coded in real time according to the bandwidth of the playing end, so that the playing experience is improved.
2. When a certain path of subcode stream is not needed, the corresponding code is released in real time, and the pressure of the server is reduced.
Drawings
Fig. 1 is a schematic diagram of a real-time streaming media transmission system in the prior art.
FIG. 2 is a schematic representation of the process of the present invention.
FIG. 3 is a detailed schematic of the process of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and specific embodiments.
Example 1
As shown in fig. 2 and fig. 3, a method for adapting a dynamic bit rate of a playing terminal in a weak network environment includes the following steps:
step 1, an audio and video acquisition module sends streaming media data to a trun server through a bandwidth detection sending module, and the trun server comprises a bandwidth detection receiving module and a transcoding module; the audio and video coding rate and the error correction coding algorithm are based on the actual network condition between the audio and video acquisition end and the trun server, so that the high-quality transmission of the streaming media data to the trun server is ensured;
step 2, the trun server forwards the streaming media data through a transcoding module; judging whether the grade of the forwarding broadband needs to be modified or not by calculating the grade of the bandwidth; the trun server starts subcode stream coding and performs hierarchical processing on subcode stream coding rate according to the bandwidth of the playing end in real time when the bandwidth of the playing end is in a weak network environment; if the forwarding broadband level does not need to be modified, the trun server directly forwards the streaming media data through the transcoding module; if the forwarding broadband level needs to be modified, further judging whether the level subcode is established; if the equal-level subcode is created, adding the equal-level subcode stream, forwarding the streaming media data through a transcoding module by the trunk server, and deleting the atomic stream code when the original-level subcode stream is not used; if the equal-level subcode is not created, the equal-level subcode stream is added, the trun server forwards the streaming media data through the transcoding module, the original-level subcode stream is not used any more, and the atomic stream code is deleted;
step 3, when the trun server sends the streaming media data to the playing end, monitoring the bandwidth in real time, and when the code rate changes, switching to the sub-code stream of the corresponding code rate when the key frame is coded;
and 4, stopping encoding the sub-code stream of the path when the sub-code stream of the path is not needed.
When the trun server sends streaming media data to a playing end, monitoring bandwidth in real time, when a certain path is in a weak network environment, encoding a new code rate, wherein the new code rate is calculated based on an original code rate, such as three-level sub-code streams, 1/4, 1/2 and 3/4 of the original code rate, if the certain path is between 1/4 and 1/2, creating 1/4 of the original code rate as an encoding bandwidth and forwarding the encoding bandwidth to the playing end of the path, and if the playing end of the path is in the level bandwidth again, sharing the sub-code stream of the path. And if not, stopping transcoding of the sub-code stream. If the bandwidth of the playing end of a certain path is changed from between 1/4 and 1/2 to between 3/4 and the original code rate, 3/4 of the original code rate is started to serve as the coding bandwidth, the path is forwarded, and the forwarding coding quality of the path is improved.
Claims (2)
1. A dynamic code rate self-adaptive method for a playing end in a weak network environment is characterized by comprising the following steps:
step 1, an audio and video acquisition module sends streaming media data to a trun server through a bandwidth detection sending module, and the trun server comprises a bandwidth detection receiving module and a transcoding module; the audio and video coding rate and the error correction coding algorithm are based on the actual network condition between the audio and video acquisition end and the trun server, so that the high-quality transmission of the streaming media data to the trun server is ensured;
step 2, the trun server forwards the streaming media data through a transcoding module; judging whether the grade of the forwarding broadband needs to be modified or not by calculating the grade of the bandwidth; the trun server starts subcode stream coding and performs hierarchical processing on subcode stream coding rate according to the bandwidth of the playing end in real time when the bandwidth of the playing end is in a weak network environment; if the forwarding broadband level does not need to be modified, the trun server directly forwards the streaming media data through the transcoding module; if the forwarding broadband level needs to be modified, further judging whether the level subcode is established; if the equal-level subcode is created, adding the equal-level subcode stream, forwarding the streaming media data through a transcoding module by the trunk server, and deleting the atomic stream code when the original-level subcode stream is not used; if the equal-level subcode is not created, the equal-level subcode stream is added, the trun server forwards the streaming media data through the transcoding module, the original-level subcode stream is not used any more, and the atomic stream code is deleted;
step 3, when the trun server sends the streaming media data to the playing end, monitoring the bandwidth in real time, and when the code rate changes, switching to the sub-code stream of the corresponding code rate when the key frame is coded;
and 4, stopping encoding the sub-code stream of the path when the sub-code stream of the path is not needed.
2. The method according to claim 1, wherein the trunk server monitors the bandwidth in real time when sending streaming media data to the playing end, and when a path is in the weak network environment, encodes a new path of code rate, and the new code rate is calculated based on the original code rate; if the one path of playing end is in the grade bandwidth again, sharing the path of subcode stream; and if not, stopping transcoding of the sub-code stream.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011392653.0A CN112584204A (en) | 2020-12-03 | 2020-12-03 | Dynamic code rate self-adaption method for playing terminal in weak network environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011392653.0A CN112584204A (en) | 2020-12-03 | 2020-12-03 | Dynamic code rate self-adaption method for playing terminal in weak network environment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112584204A true CN112584204A (en) | 2021-03-30 |
Family
ID=75126952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011392653.0A Pending CN112584204A (en) | 2020-12-03 | 2020-12-03 | Dynamic code rate self-adaption method for playing terminal in weak network environment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112584204A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113766169A (en) * | 2021-09-16 | 2021-12-07 | 江苏三步科技股份有限公司 | Audio and video data transmission system, optimization equipment and method in weak network environment |
-
2020
- 2020-12-03 CN CN202011392653.0A patent/CN112584204A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113766169A (en) * | 2021-09-16 | 2021-12-07 | 江苏三步科技股份有限公司 | Audio and video data transmission system, optimization equipment and method in weak network environment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6745364B2 (en) | Negotiated/dynamic error correction for streamed media | |
US10374865B2 (en) | System for processing streaming media service and method and network device thereof | |
US9282133B2 (en) | Communicating control information within a real-time stream | |
US20090216897A1 (en) | Method and system for controlling streaming rates | |
CN101174995B (en) | Method and system for monitoring multimedia service performance | |
JP2008527862A (en) | Adaptive information delivery system using FEC feedback | |
CN1886968B (en) | Device and method for the preparation of sending data and corresponding products | |
CN113207017B (en) | Streaming media data transmission system for cloud game | |
CN110224793B (en) | Self-adaptive FEC method based on media content | |
KR100994521B1 (en) | Information processing device and method, and computer-readable recording medium recording thereon a computer program | |
US8873590B2 (en) | Apparatus and method for correcting jitter | |
CN111741248B (en) | Data transmission method, device, terminal equipment and storage medium | |
KR100652574B1 (en) | Streaming system and adaptive bandwidth allocation method | |
CN111935485A (en) | RS code forward error correction method and device | |
KR20050071568A (en) | System and method for providing error recovery for streaming fgs encoded video over an ip network | |
CN112584204A (en) | Dynamic code rate self-adaption method for playing terminal in weak network environment | |
JP2009296164A (en) | Data transmitting device, control method therefor, and program | |
Karande et al. | Analysis and modeling of errors at the 802.11 b link layer | |
Tsugawa et al. | TCP-AFEC: An adaptive FEC code control for end-to-end bandwidth guarantee | |
US8644138B2 (en) | Method, computer program product, and apparatus for deriving intelligence from format change requests | |
CN113301387B (en) | Data encoding and decoding method, related equipment and system | |
CN113905026A (en) | Streaming media video data processing method, device and storage medium | |
CN114286132A (en) | Method for video transmission fault tolerance in wireless network | |
WO2009155773A1 (en) | A method, system, media gateway controller and media gateway for transmitting multi-media service in the next generation network | |
JP3730977B2 (en) | Data transmission method and data processing method |
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 |