CN107872684B - Video code rate adjusting method, device and system, video coding method and server - Google Patents

Video code rate adjusting method, device and system, video coding method and server Download PDF

Info

Publication number
CN107872684B
CN107872684B CN201610846851.7A CN201610846851A CN107872684B CN 107872684 B CN107872684 B CN 107872684B CN 201610846851 A CN201610846851 A CN 201610846851A CN 107872684 B CN107872684 B CN 107872684B
Authority
CN
China
Prior art keywords
video
code
code stream
stream
network
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
CN201610846851.7A
Other languages
Chinese (zh)
Other versions
CN107872684A (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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201610846851.7A priority Critical patent/CN107872684B/en
Publication of CN107872684A publication Critical patent/CN107872684A/en
Application granted granted Critical
Publication of CN107872684B publication Critical patent/CN107872684B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting

Abstract

The invention discloses a video code rate adjusting method, video code rate adjusting equipment, a video code rate adjusting system, a video coding method and a video server, and relates to the technical field of video transmission. The video code rate adjusting method comprises the following steps: the client requests the carrier network to join or leave the multicast channel corresponding to the superposable code stream so as to adjust the video code rate of the played video; the played video comprises a main code stream or comprises the main code stream and the superimposable code stream. The embodiment of the invention can realize the adjustment of the video code rate through the client.

Description

Video code rate adjusting method, device and system, video coding method and server
Technical Field
The invention relates to the technical field of video transmission, in particular to a video code rate adjusting method and system, a video coding method, a client and a video server.
Background
In the field of live video or other video distribution, in order to guarantee the video experience of users, a video server needs to adopt application layer coding optimization technologies such as different code rate coding or forward error correction coding to adjust the video code rate according to the actual performance of a bearer network or the user requirements so as to serve all users in a personalized manner.
However, in order to implement customized and personalized services for users, the video server needs to dynamically monitor and maintain network states and personalized requirements of all users, which severely restricts the scalability of the video server in providing large-scale services. Moreover, the state monitoring of the server side is limited by the monitoring accuracy and real-time performance, so that the actual requirements of all users are difficult to completely meet, and the optimization effect is limited.
Disclosure of Invention
One object of the present invention is: a video code rate adjusting method is provided, and the adjustment of the video code rate can be realized through a client.
According to an aspect of the present invention, there is provided a video bitrate adjustment method, including: the client requests the carrier network to join or leave the multicast channel corresponding to the superposable code stream so as to adjust the video code rate of the played video; the played video comprises a main code stream or comprises the main code stream and the superimposable code stream.
In one embodiment, a client requests to join or leave a multicast channel corresponding to a superposable code stream from a carrier network in response to the requirement of a user on video code rate so as to adjust the video code rate of playing a video; or the client automatically requests the carrier network to join or leave the multicast channel corresponding to the superposable code stream according to the monitored network quality so as to adjust the video code rate of the played video.
In one embodiment, the superimposable code stream includes one or more code streams for increasing video definition, and each code stream for increasing video definition corresponds to a different multicast channel for increasing video definition at different degrees.
In one embodiment, the client requesting to join or leave a multicast channel corresponding to the superimposable code stream from the carrier network in response to a user's demand for video bitrate, so as to adjust the video bitrate for playing the video includes: responding to the requirement of a user for increasing the video definition, a client determines one or more code streams to be acquired for increasing the video definition, and requests a bearer network to join a multicast channel corresponding to the code streams to be acquired for increasing the video definition; in response to the requirement of the user for reducing the video definition, the client determines one or more code streams to be discarded for increasing the video definition, and requests the multicast channel corresponding to the code stream to be discarded for increasing the video definition to leave the multicast channel.
In one embodiment, the automatically requesting, by the client, a bearer network to join or leave a multicast channel corresponding to the superimposable code stream according to the monitored network quality to adjust the video code rate of the played video includes: the client determines a target video code rate corresponding to the video definition matched with the network quality; if the target video code rate is greater than the current video code rate, the client determines a code stream to be acquired for increasing the video definition according to the difference between the target video code rate and the current video code rate, and requests a bearer network to join a multicast channel corresponding to the code stream to be acquired for increasing the video definition; and if the target video code rate is smaller than the current video code rate, the client determines the code stream to be discarded for increasing the video definition according to the difference between the target video code rate and the current video code rate, and requests the multicast channel corresponding to the code stream to be discarded for increasing the video definition to leave the bearer network.
In one embodiment, the superimposable codestream comprises one or more codestreams for providing higher redundancy; each code stream for providing higher redundancy corresponds to different multicast channels and is used for providing redundancy of different degrees; the client automatically requests a bearer network to join or leave a multicast channel corresponding to the superposable code stream according to the monitored network quality so as to adjust the video code rate of the played video, and the method comprises the following steps: the client compares the network packet loss rate with a preset value; if the network packet loss rate is greater than the preset value, the client determines one or more code streams to be acquired for providing higher redundancy according to the network packet loss rate, and requests the bearer network to join a multicast channel corresponding to the code streams to be acquired for providing higher redundancy; after the client joins the multicast channel corresponding to the code stream to be acquired for providing higher redundancy, if the network packet loss rate becomes smaller than or equal to a preset value, the client requests the bearer network to leave the multicast channel corresponding to the joined code stream for providing higher redundancy.
According to another aspect of the present invention, there is provided a video encoding method including: the video server divides an original video stream into a main code stream and a superposable code stream; and the video server respectively packages the main code stream and the superposable code stream into different multicast channels in a bearing network.
In one embodiment, the superimposable code streams include a code stream for increasing video definition and a code stream for providing higher redundancy, each superimposable code stream corresponding to a different multicast channel.
In one embodiment, the multicast channel address corresponding to the main code stream is associated with the multicast channel address corresponding to the superimposable code stream.
According to yet another aspect of the present invention, there is provided a client comprising: a code rate adjusting unit, configured to request the bearer network to join or leave a multicast channel corresponding to the superimposable code stream, so as to adjust a video code rate of a played video; the played video comprises a main code stream or comprises the main code stream and the superimposable code stream.
In an embodiment, the code rate adjustment unit is specifically configured to request a bearer network to join or leave a multicast channel corresponding to a superimposable code stream in response to a user's demand for a video code rate, so as to adjust the video code rate for playing a video; or automatically requesting to join or leave a multicast channel corresponding to the superposable code stream from the carrier network according to the monitored network quality so as to adjust the video code rate of the played video.
In one embodiment, the superimposable code stream includes one or more code streams for increasing video definition, and each code stream for increasing video definition corresponds to a different multicast channel for increasing video definition at different degrees.
In one embodiment, the code rate adjustment unit includes: the demand analysis module is used for responding to the demand of a user for increasing the video definition and determining one or more code streams for increasing the video definition to be acquired; in response to a user demand for reduced video sharpness, determining one or more codestreams for increased video sharpness to be discarded; the multicast request module is used for requesting the load-bearing network to join a multicast channel corresponding to the code stream which is to be acquired and used for increasing the video definition; and requesting the carrier network to leave the multicast channel corresponding to the code stream to be discarded for increasing the video definition.
In one embodiment, the code rate adjustment unit includes: the network quality analysis module is used for determining a target video code rate corresponding to the video definition matched with the network quality; the code stream determining module is used for determining the code stream to be acquired for increasing the video definition according to the difference between the target video code rate and the current video code rate if the target video code rate is greater than the current video code rate; if the target video code rate is smaller than the current video code rate, determining a code stream to be abandoned for increasing the video definition according to the difference between the target video code rate and the current video code rate; the multicast request module is used for requesting the load-bearing network to join a multicast channel corresponding to the code stream which is to be acquired and used for increasing the video definition; and requesting the carrier network to leave the multicast channel corresponding to the code stream to be discarded for increasing the video definition.
In one embodiment, the superimposable codestream comprises one or more codestreams for providing higher redundancy; each code stream for providing higher redundancy corresponds to different multicast channels and is used for providing redundancy of different degrees; the code rate adjustment unit includes: the network quality analysis module is used for comparing the network packet loss rate with a preset value; the code stream determining module is used for determining one or more code streams to be acquired for providing higher redundancy according to the network packet loss rate if the network packet loss rate is greater than a preset value; and the multicast request module is used for requesting the bearer network to join the multicast channel corresponding to the code stream to be acquired for providing higher redundancy, and after the client side joins the multicast channel corresponding to the code stream to be acquired for providing higher redundancy, if the network packet loss rate becomes smaller than or equal to a preset value, the client side requests the bearer network to leave the multicast channel corresponding to the code stream to be joined for providing higher redundancy.
According to still another aspect of the present invention, there is provided a video server including: the splitting unit is used for splitting the original video stream into a main code stream and a superposable code stream; and the packaging unit is used for respectively packaging the main code stream and the superposable code stream to different multicast channels in a bearer network.
In one embodiment, the superimposable code streams include a code stream for increasing video definition and a code stream for providing higher redundancy, each superimposable code stream corresponding to a different multicast channel.
In one embodiment, the multicast channel addresses of the main code stream and the superposable code stream are correlated.
According to still another aspect of the present invention, there is provided a video bitrate adjustment system, including: the client according to any one of the above embodiments and the video server according to any one of the above embodiments.
The embodiment of the invention provides that the client is utilized to realize the adjustment of the video code rate, specifically, the client can adjust the video code rate of the playing video by adding or leaving the multicast channel corresponding to the superposable code stream, compared with the prior art that the adjustment of the video code rate is realized by a video server, the method for adjusting the video code rate of the invention does not need the intervention of the server, has better accuracy and real-time performance, greatly reduces the burden of the server, and can effectively improve the expandability of large-scale video service.
The technical solution of the present invention is further described in detail by the accompanying drawings and embodiments.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
Fig. 1 is a flow chart illustrating a video encoding method according to an embodiment of the present invention;
fig. 2 shows a schematic diagram of an example of a video encoding method;
FIG. 3 is a flowchart illustrating a video bitrate adjustment method according to an embodiment of the invention;
FIG. 4 is a schematic diagram of a client according to one embodiment of the present invention;
FIG. 5 is a diagram illustrating a structure of a code rate adjustment unit according to an embodiment of the invention;
fig. 6 is a schematic structural diagram of a code rate adjustment unit according to another embodiment of the invention;
fig. 7 is a schematic structural diagram of a code rate adjustment unit according to yet another embodiment of the invention;
fig. 8 is a schematic structural diagram of a video server according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of a video bitrate adjustment system according to an embodiment of the invention.
Detailed Description
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 only a part of the embodiments of the present invention, and not all of the embodiments. 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 relative arrangement of the components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless specifically stated otherwise.
Meanwhile, it should be understood that the sizes of the respective portions shown in the drawings are not drawn in an actual proportional relationship for the convenience of description.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not limiting. Thus, other examples of the exemplary embodiments may have different values.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
Fig. 1 is a flowchart illustrating a video encoding method according to an embodiment of the present invention. As shown in fig. 1, the method comprises the steps of:
step 102, the video server splits the original video stream into a main code stream and a superimposable code stream.
Here, the original video stream may be split into a main stream and a superimposable stream by the video encoder. The main code stream is a code stream suitable for the requirements of the main stream user and the network conditions. The superimposable codestreams may include, but are not limited to, codestreams for increasing video sharpness, codestreams for providing higher redundancy, and the like (as shown in fig. 2). For example, a code stream for increasing video sharpness may be obtained by a variable rate coding technique. As another example, a code stream for providing higher redundancy may be obtained by a Forward Error Correction (FEC) coding technique to adapt to different network conditions.
The video definition can be improved after the main code stream is overlapped with the code stream for increasing the video definition, for example, the video code rate is improved from 480P to 720P, and the like. After the main code stream and the code stream for providing higher redundancy are superimposed, network packet losses of different degrees, such as 1% packet loss rate, 5% packet loss rate, and the like, can be overcome.
It should be noted that the types of the superimposable code streams may be increased or deleted according to actual situations, so as to meet more personalized requirements of users.
And step 104, the video server respectively packages the main code stream and the superposable code stream into different multicast channels in the carrier network.
Referring to fig. 2, for example, the main code stream and the superimposable code stream may be respectively encapsulated into different multicast channels in the carrier network through a network encoder, and each superimposable code stream may correspond to a different multicast channel. In one embodiment, the multicast channel address corresponding to the main code stream and the multicast channel address corresponding to the superimposable code stream may be associated with each other, that is, the address of the main channel and the addresses of the multicast channel 1-1, the multicast channel 1-2, the multicast channel 2-1, and the multicast channel 2-2 may be associated with each other. For example, a preset algorithm (e.g., a hash algorithm) may be used to map a keyword (e.g., type, code rate, etc.) of the superimposable code stream into an individual numerical value, and then add the numerical value to the multicast channel address corresponding to the main code stream, so as to obtain the multicast channel address of each superimposable code stream.
After the network layer coding is completed, the video program can provide service for the user.
In this embodiment, an application layer coding technology is combined with a network layer multicast technology, a video stream of an application layer is split, and then the split code streams are respectively mapped to different multicast channels, so that dynamic adjustment of distributed video code rates can be realized at a client.
The method for adjusting the video bitrate by the client is described below.
Fig. 3 is a flowchart illustrating a video bitrate adjustment method according to an embodiment of the invention. As shown in fig. 3, the method includes:
step 302, the client requests to join or leave the multicast channel corresponding to the superposable code stream from the carrier network to adjust the video code rate of the played video. Here, the played video may include a main stream or may include a main stream and a superimposable stream. The main code stream and the superposable code stream are encapsulated to different multicast channels in the carrier network. In one embodiment, the superimposable streams may include one or more streams for increasing video definition, each stream for increasing video definition corresponding to a different multicast channel for increasing video definition at different levels. In another embodiment, the superimposable codestream may include one or more codestreams providing higher redundancy; each code stream for providing higher redundancy corresponds to a different multicast channel for providing redundancy of different degrees. It should be understood that the superimposable code stream is not limited to the above two types of code streams, and in other embodiments, the superimposable code stream may also include other types of code streams according to actual situations.
For example, the video currently played by the client only includes the main code stream, and the client may acquire the corresponding superimposable code stream by requesting to join the multicast channel corresponding to the superimposable code stream to the carrier network, for example, after the client joins the multicast channel 1-1 shown in fig. 2, the video code rate may be increased from 480P to 720P, and the video played at this time includes the main code stream and the superimposable code stream corresponding to the multicast channel 1-1.
For another example, the video currently played by the client includes the main code stream and the superimposable code stream corresponding to the multicast channel 1-1 shown in fig. 2, and the client may discard the corresponding superimposable code stream by requesting to leave the multicast channel corresponding to the superimposable code stream from the carrier network, for example, after the client leaves the multicast channel 1-1 shown in fig. 2, the video code rate is reduced from 720P to 480P, and the video played at this time only includes the main code stream.
In the embodiment, the client can adjust the video code rate of the played video by adding or leaving the multicast channel corresponding to the superposable code stream, the video code rate adjusting method does not need the intervention of a video server, the accuracy and the real-time performance are better, the burden of the video server is greatly reduced, and the expandability of large-scale video service can be effectively improved.
In practical application, the client can be triggered to adjust the video code rate in different modes.
In a triggering mode, the client can respond to the requirement of the user on the video code rate to request the load network to join or leave the multicast channel corresponding to the superposable code stream so as to adjust the video code rate of the played video.
For example, in response to a user's demand for increased video definition, the client may determine one or more streams to be acquired for increasing video definition, and request the bearer network to join a multicast channel corresponding to the streams to be acquired for increasing video definition. In response to the requirement of the user for reducing the video definition, the client determines one or more code streams to be discarded for increasing the video definition, and requests the multicast channel corresponding to the code stream to be discarded for increasing the video definition to leave the multicast channel.
For example, referring to fig. 2, assuming that the current video bitrate is 480P, if the user requests to increase the video bitrate to 720P, the client may determine the superimposable bitstream to be obtained accordingly, and then may request to join the corresponding multicast channel 1-1. Here, after determining the superimposable code stream to be acquired, the client may determine, according to a preset algorithm (e.g., a hash algorithm), a multicast channel corresponding to the superimposable code stream to be acquired, and then request to join the determined multicast channel; or, the client may pre-store multicast channels corresponding to different superimposable code streams sent by the server, and may directly request to join the corresponding multicast channels after determining the superimposable code streams to be acquired. If the user continues to request that the video bitrate be increased to 1080P, the client can request to join the multicast channel 1-2 again.
In another triggering mode, the client can automatically request the bearer network to join or leave the multicast channel corresponding to the superposable code stream according to the monitored network quality so as to adjust the video code rate of the played video.
In one particular implementation, the client may determine a target video bitrate corresponding to the video sharpness matched to the network quality; if the target video code rate is greater than the current video code rate, the client determines a code stream to be acquired for increasing the video definition according to the difference between the target video code rate and the current video code rate, and requests a bearer network to join a multicast channel corresponding to the code stream to be acquired for increasing the video definition; and if the target video code rate is smaller than the current video code rate, the client determines the code stream to be discarded for increasing the video definition according to the difference between the target video code rate and the current video code rate, and requests the multicast channel corresponding to the code stream to be discarded for increasing the video definition to leave the bearer network.
In another specific implementation manner, the client may compare the network packet loss rate with a preset value; if the network packet loss rate is greater than the preset value, the client determines one or more code streams to be acquired for providing higher redundancy according to the network packet loss rate, and requests the bearer network to join a multicast channel corresponding to the code streams to be acquired for providing higher redundancy; after the client joins the multicast channel corresponding to the code stream to be acquired for providing higher redundancy, if the network packet loss rate becomes smaller than or equal to a preset value, the client requests the bearer network to leave the multicast channel corresponding to the joined code stream for providing higher redundancy.
The two triggering modes can trigger the adjustment of the video code rate only by each client according to the user requirements and the network quality of the client, the mode can better adapt to the user personalized requirements and the network environment, the video server is not needed to monitor the requirements of each user and the network environment, the pressure of the video server is greatly reduced, and the expandability of the video server is improved.
In the present specification, the embodiments are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same or similar parts in the embodiments are referred to each other. For the client and server embodiments, since they basically correspond to the method embodiments, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiments.
Fig. 4 is a schematic structural diagram of a client according to an embodiment of the present invention. As shown in fig. 4, the client may include a code rate adjustment unit 401, configured to request the bearer network to join or leave a multicast channel corresponding to the superimposable code stream, so as to adjust a video code rate of a played video, where the played video may include a main code stream or may include a main code stream and a superimposable code stream.
The client of the embodiment can adjust the video code rate of the played video by adding or leaving the multicast channel corresponding to the superposable code stream, the video code rate adjusting method does not need server intervention, has better accuracy and real-time performance, greatly reduces the burden of the server, and can effectively improve the expandability of large-scale video service.
In one implementation, the code rate adjustment unit 401 may be specifically configured to request, in response to a request of a user for a video code rate, to join or leave a multicast channel corresponding to a superimposable code stream to a bearer network, so as to adjust the video code rate for playing a video; or automatically requesting to join or leave a multicast channel corresponding to the superposable code stream from the carrier network according to the monitored network quality so as to adjust the video code rate of the played video. Each client can trigger the adjustment of the video code rate according to the user requirements and the network quality of the client, the method can better adapt to the user personalized requirements and the network environment, the video server is not needed to monitor the requirements of each user and the network environment, the pressure of the video server is greatly reduced, and the expandability of the video server is improved. Fig. 5 is a schematic structural diagram of a code rate adjustment unit according to an embodiment of the invention. Fig. 6 is a schematic structural diagram of a code rate adjustment unit according to another embodiment of the present invention. In the embodiments shown in fig. 5 and 6, the superimposable streams may include one or more streams for increasing video definition, each stream for increasing video definition corresponding to a different multicast channel for increasing video definition at different levels.
As shown in fig. 5, the bitrate adjustment unit 401 may include a requirement analysis module 411 and a multicast request module 421.
The demand analysis module 411 is used for responding to the demand of the user for increasing the video definition, and determining one or more code streams for increasing the video definition to be acquired; one or more codestreams for increasing video sharpness to be discarded are determined in response to a user demand for decreasing video sharpness. The multicast request module 421 is configured to request the bearer network to join a multicast channel corresponding to the acquired code stream for increasing video definition; and requesting the carrier network to leave the multicast channel corresponding to the code stream to be discarded for increasing the video definition.
As shown in fig. 6, the rate adjustment unit 401 may include a network quality analysis module 431, a code stream determination module 441, and a multicast request module 451.
The network quality analysis module 431 is configured to determine a target video bitrate corresponding to the video sharpness matching the network quality. The code stream determining module 441 is configured to determine, if the target video code rate is greater than the current video code rate, a code stream to be acquired for increasing video definition according to a difference between the target video code rate and the current video code rate; and if the target video code rate is smaller than the current video code rate, determining a code stream to be discarded for increasing the video definition according to the difference between the target video code rate and the current video code rate. The multicast request module 451 is configured to request the bearer network to join a multicast channel corresponding to the code stream to be acquired for increasing video definition; and requesting the carrier network to leave the multicast channel corresponding to the code stream to be discarded for increasing the video definition.
Fig. 7 is a schematic structural diagram of a code rate adjustment unit according to yet another embodiment of the invention. In this embodiment, the superimposable codestream includes one or more codestreams for providing higher redundancy; each code stream for providing higher redundancy corresponds to a different multicast channel for providing redundancy of different degrees.
As shown in fig. 7, the bitrate adjustment unit 401 may include a network quality analysis module 461, a bitstream determination module 471 and a multicast request module 481.
The network quality analysis module 461 is configured to compare the network packet loss rate with a preset value. The code stream determining module 471 is configured to determine, according to the network packet loss rate, one or more code streams to be acquired for providing higher redundancy, if the network packet loss rate is greater than a preset value. The multicast request module 481 is configured to request the bearer network to join the multicast channel corresponding to the code stream to be acquired for providing higher redundancy, and after the client joins the multicast channel corresponding to the code stream to be acquired for providing higher redundancy, if the network packet loss rate becomes smaller than or equal to a preset value, the client requests the bearer network to leave the multicast channel corresponding to the code stream to be added for providing higher redundancy.
Fig. 8 is a schematic structural diagram of a video server according to an embodiment of the present invention. As shown in fig. 8, the video server may include a splitting unit 801 and an encapsulating unit 802. The splitting unit 801 is configured to split the original video stream into a main stream and a superimposable stream. The encapsulating unit 802 is configured to encapsulate the main stream and the superimposable stream into different multicast channels in the bearer network, respectively. In one embodiment, the superimposable code streams may include a code stream for increasing video definition and a code stream for providing higher redundancy, each superimposable code stream corresponding to a different multicast channel. In one embodiment, the multicast channel addresses of the main code stream and the superimposable code stream may be correlated.
Fig. 9 is a schematic structural diagram of a video bitrate adjustment system according to an embodiment of the invention. As shown in fig. 9, the video bitrate adjustment system can include a client 901 according to any of the above embodiments and a video server 902 according to any of the above embodiments.
In the embodiment, the video server splits the video stream of the application layer into the main stream and the superposable stream, and then maps the split streams to different multicast channels respectively, and the client can adjust the video code rate of the played video by adding or leaving the multicast channel corresponding to the superposable stream. Those of ordinary skill in the art will understand that: all or part of the steps for implementing the method embodiments may be implemented by hardware related to program instructions, and the program may be stored in a computer readable storage medium, and when executed, the program performs the steps including the method embodiments; and the aforementioned storage medium includes: various media that can store program codes, such as ROM, RAM, magnetic or optical disks.
The video code rate adjusting method and the video coding method provided by the invention are suitable for but not limited to the field of video live broadcast.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to practitioners skilled in this art. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.

Claims (6)

1. A method for adjusting video bitrate, comprising:
the client automatically requests the carrier network to join or leave a multicast channel corresponding to the superposable code stream according to the monitored network quality so as to adjust the video code rate of the played video;
the played video comprises a main code stream or comprises the main code stream and the superposable code stream;
wherein the superimposable code stream comprises a plurality of code streams for increasing video definition and a plurality of code streams for providing higher redundancy, wherein:
each code stream for increasing video definition corresponds to different multicast channels and is used for increasing video definition in different degrees;
each code stream for providing higher redundancy corresponds to different multicast channels and is used for providing redundancy of different degrees;
the client automatically requests a bearer network to join or leave a multicast channel corresponding to the superposable code stream according to the monitored network quality so as to adjust the video code rate of the played video, and the method comprises the following steps:
the client compares the network packet loss rate with a preset value;
if the network packet loss rate is greater than the preset value, the client determines one or more code streams to be acquired for providing higher redundancy according to the network packet loss rate, and requests the bearer network to join a multicast channel corresponding to the code streams to be acquired for providing higher redundancy;
after the client joins the multicast channel corresponding to the code stream to be acquired for providing higher redundancy, if the network packet loss rate becomes smaller than or equal to a preset value, the client requests the bearer network to leave the multicast channel corresponding to the joined code stream for providing higher redundancy.
2. The method of claim 1, wherein the client automatically requesting to join or leave a multicast channel corresponding to the superimposable code stream to the carrier network according to the monitored network quality to adjust a video bitrate of playing the video comprises:
the client determines a target video code rate corresponding to the video definition matched with the network quality;
if the target video code rate is greater than the current video code rate, the client determines a code stream to be acquired for increasing the video definition according to the difference between the target video code rate and the current video code rate, and requests a bearer network to join a multicast channel corresponding to the code stream to be acquired for increasing the video definition;
and if the target video code rate is smaller than the current video code rate, the client determines the code stream to be discarded for increasing the video definition according to the difference between the target video code rate and the current video code rate, and requests the multicast channel corresponding to the code stream to be discarded for increasing the video definition to leave the bearer network.
3. A client, comprising:
the code rate adjusting unit is used for automatically requesting the carrier network to join or leave a multicast channel corresponding to the superposable code stream according to the monitored network quality so as to adjust the video code rate of the played video;
the played video comprises a main code stream or comprises the main code stream and the superposable code stream;
wherein the superimposable code stream comprises a plurality of code streams for increasing video definition and a plurality of code streams for providing higher redundancy, wherein:
each code stream for increasing video definition corresponds to different multicast channels and is used for increasing video definition in different degrees;
each code stream for providing higher redundancy corresponds to different multicast channels and is used for providing redundancy of different degrees;
the code rate adjustment unit includes:
the network quality analysis module is used for comparing the network packet loss rate with a preset value;
the code stream determining module is used for determining one or more code streams to be acquired for providing higher redundancy according to the network packet loss rate if the network packet loss rate is greater than a preset value;
and the multicast request module is used for requesting the bearer network to join the multicast channel corresponding to the code stream to be acquired for providing higher redundancy, and after the client side joins the multicast channel corresponding to the code stream to be acquired for providing higher redundancy, if the network packet loss rate becomes smaller than or equal to a preset value, the client side requests the bearer network to leave the multicast channel corresponding to the code stream to be joined for providing higher redundancy.
4. The client of claim 3,
the network quality analysis module is also used for determining a target video code rate corresponding to the video definition matched with the network quality;
the code stream determining module is further used for determining the code stream to be acquired for increasing the video definition according to the difference between the target video code rate and the current video code rate if the target video code rate is greater than the current video code rate; if the target video code rate is smaller than the current video code rate, determining a code stream to be abandoned for increasing the video definition according to the difference between the target video code rate and the current video code rate;
the multicast request module is also used for requesting the load network to join a multicast channel corresponding to the code stream which is to be acquired and used for increasing the video definition; and requesting the carrier network to leave the multicast channel corresponding to the code stream to be discarded for increasing the video definition.
5. A video bitrate adjustment system, comprising: the client and video server of any of claims 3-4, the video server comprising:
the splitting unit is used for splitting the original video stream into a main code stream and a superposable code stream;
the packaging unit is used for respectively packaging the main code stream and the superposable code stream to different multicast channels in a bearing network;
wherein the superimposable code stream comprises a plurality of code streams for increasing video definition and a plurality of code streams for providing higher redundancy, wherein:
each code stream for increasing video definition corresponds to different multicast channels and is used for increasing video definition in different degrees;
each code stream for providing higher redundancy corresponds to a different multicast channel for providing redundancy of different degrees.
6. The system of claim 5, wherein the multicast channel addresses of the main stream and the superimposable stream are correlated.
CN201610846851.7A 2016-09-23 2016-09-23 Video code rate adjusting method, device and system, video coding method and server Active CN107872684B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610846851.7A CN107872684B (en) 2016-09-23 2016-09-23 Video code rate adjusting method, device and system, video coding method and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610846851.7A CN107872684B (en) 2016-09-23 2016-09-23 Video code rate adjusting method, device and system, video coding method and server

Publications (2)

Publication Number Publication Date
CN107872684A CN107872684A (en) 2018-04-03
CN107872684B true CN107872684B (en) 2020-02-28

Family

ID=61750747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610846851.7A Active CN107872684B (en) 2016-09-23 2016-09-23 Video code rate adjusting method, device and system, video coding method and server

Country Status (1)

Country Link
CN (1) CN107872684B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110572780B (en) * 2018-06-06 2021-10-22 成都鼎桥通信技术有限公司 Method, device, equipment and medium for adjusting transmission rate of video group call service

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453639A (en) * 2007-11-29 2009-06-10 展讯通信(上海)有限公司 Encoding, decoding method and system for supporting multi-path video stream of ROI region
CN101778104A (en) * 2009-12-29 2010-07-14 常州中流电子科技有限公司 System and method for playing stream media by using self-adaption bandwidth
CN102204268A (en) * 2011-05-31 2011-09-28 华为技术有限公司 Method and device for direct broadcast multi-code switching
CN103327416A (en) * 2013-07-19 2013-09-25 西安电子科技大学 Multicast method for scalable video coding (SVC) video in wireless local area network
CN104869473A (en) * 2015-05-18 2015-08-26 梅红兵 Video distribution network system integrating Internet and radio and television network

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101330436B (en) * 2007-06-19 2014-04-30 上海贝尔阿尔卡特股份有限公司 Method and device for transmitting adjustable multicast multimedia service data
CN101777960B (en) * 2008-11-17 2013-08-14 华为终端有限公司 Audio encoding method, audio decoding method, related device and communication system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453639A (en) * 2007-11-29 2009-06-10 展讯通信(上海)有限公司 Encoding, decoding method and system for supporting multi-path video stream of ROI region
CN101778104A (en) * 2009-12-29 2010-07-14 常州中流电子科技有限公司 System and method for playing stream media by using self-adaption bandwidth
CN102204268A (en) * 2011-05-31 2011-09-28 华为技术有限公司 Method and device for direct broadcast multi-code switching
CN103327416A (en) * 2013-07-19 2013-09-25 西安电子科技大学 Multicast method for scalable video coding (SVC) video in wireless local area network
CN104869473A (en) * 2015-05-18 2015-08-26 梅红兵 Video distribution network system integrating Internet and radio and television network

Also Published As

Publication number Publication date
CN107872684A (en) 2018-04-03

Similar Documents

Publication Publication Date Title
US20210127151A1 (en) Distributed multi-datacenter video packaging system
US10298971B2 (en) Encoding optimization using bitrate range comparisons for encoded segments
US11824912B2 (en) Systems and methods for frame duplication and frame extension in live video encoding and streaming
US20140297804A1 (en) Control of multimedia content streaming through client-server interactions
GB2492538A (en) A device specific, adaptive bit-rate method for streaming audio video content
KR20150008087A (en) Method and apparatus for providing a plurality of transcoded content streams
KR20160106701A (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
US20150341634A1 (en) Method, apparatus and system to select audio-video data for streaming
US10019448B2 (en) Methods and systems for providing file data for media files
US10432989B2 (en) Transmission apparatus, transmission method, reception apparatus, receiving method, and program
CN111193936B (en) Video streaming transmission method and device, electronic equipment and computer readable storage medium
He et al. View-dependent streaming of dynamic point cloud over hybrid networks
CN107872684B (en) Video code rate adjusting method, device and system, video coding method and server
US20200053411A1 (en) Content presentation system and content presentation method, and program
Zeng et al. TVSR‐OR: Tile‐based 360‐degree video streaming over real time streaming protocol with optimized read
US20210160474A1 (en) System and Method for Preloading Multi-View Video
CN108271040B (en) Method and device for playing video
EP2779663A2 (en) System and method for adapting content delivery
CN109982113A (en) A kind of video file processing method and processing device
KR102349451B1 (en) The method for transmitting or receiving multimedia and apparatus thereof
Kim et al. Context-aware multimedia quality adaptation for smart streaming
US20240106882A1 (en) Methods and systems for packaging and sending content
KR20140047203A (en) Method and apparatus for providing adaptively video service
WO2023071468A1 (en) Live broadcasting method, content distribution service device, and storage medium
Kamiss et al. Mpeg-Dash System via HTTP2 Protocol with HEVC Encoder for Video Streaming Services

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