CN110430453B - Video multi-code-rate switching processing method and device, electronic equipment and storage medium - Google Patents
Video multi-code-rate switching processing method and device, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN110430453B CN110430453B CN201910803769.XA CN201910803769A CN110430453B CN 110430453 B CN110430453 B CN 110430453B CN 201910803769 A CN201910803769 A CN 201910803769A CN 110430453 B CN110430453 B CN 110430453B
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- current
- video
- fragment
- duration
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 239000012634 fragment Substances 0.000 claims abstract description 125
- 239000000872 buffer Substances 0.000 claims abstract description 86
- 230000003139 buffering effect Effects 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 9
- 239000000523 sample Substances 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 6
- 230000008859 change Effects 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234381—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
-
- 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/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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440281—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
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)
Abstract
The embodiment of the invention discloses a video multi-code rate switching processing method, a device, electronic equipment and a storage medium, wherein the method comprises the following steps: acquiring a first bandwidth of a current fragment in a video; obtaining the effective buffering duration in the buffer area of the video; the effective buffering time length comprises the time length to be played of the buffered video fragments in the video buffer area; determining a second bandwidth of a next fragment according to the first bandwidth and the effective buffer duration; determining the target code rate of the next fragment according to the second bandwidth; and switching the video code rate of the next fragment according to the target code rate. The embodiment of the invention not only can avoid the trouble of manual switching of a user, but also can sense the change of the current network in real time, thereby not only fully utilizing the bandwidth and giving the user experience as high as possible to the client, but also achieving the effect of ensuring the playing smoothness.
Description
Technical Field
The invention relates to the technical field of computers, in particular to a video multi-code-rate switching processing method and device, electronic equipment and a storage medium.
Background
In the field of internet television at present, the following scheme is mainly adopted for video multi-code rate switching:
when a user watches programs, if the user wants to watch programs corresponding to different definitions, namely programs corresponding to different code streams, the common method is that the user judges the current network condition, and selects the corresponding definition in a manual mode through a remote controller according to the current network condition to achieve the purpose of watching the programs with different definitions, and when the network fluctuation is large and the user selects the programs with high definition, the television is easy to frequently enter a buffer state.
The above scheme has the following disadvantages: on one hand, manual switching by a user is needed, and the operation burden of the user is increased; on the other hand, the television is easy to frequently enter a buffer state, so that the user experience of watching is poor.
Disclosure of Invention
Aiming at the problems in the prior art, the embodiment of the invention provides a video multi-rate switching processing method and device, electronic equipment and a storage medium.
In order to solve the above problems, embodiments of the present invention provide the following technical solutions:
in a first aspect, an embodiment of the present invention provides a video multi-rate handover processing method, including:
acquiring a first bandwidth of a current fragment in a video;
obtaining the effective buffering duration in the buffer area of the video; the effective buffering time length comprises the time length to be played of the buffered video fragments in the video buffer area;
determining a second bandwidth of a next fragment according to the first bandwidth and the effective buffer duration;
determining the target code rate of the next fragment according to the second bandwidth;
and switching the video code rate of the next fragment according to the target code rate.
Further, the acquiring the first bandwidth of the current segment in the video specifically includes:
acquiring the average bandwidth of the current fragment in the video;
acquiring a first bandwidth of the current fragment according to the average bandwidth of the current fragment and a third bandwidth of the previous fragment;
the obtaining of the average bandwidth of the current segment in the video specifically includes:
and acquiring the average bandwidth of the current fragment in the video according to the data volume of the current fragment in the video and the downloading time consumption of the current fragment.
Further, the obtaining the average bandwidth of the current segment in the video according to the data size of the current segment in the video and the time consumed for downloading the current segment specifically includes:
obtaining the average bandwidth of the current slice in the video according to the following first relation model:
wherein R iscurrentIs the average bandwidth of the current slice, StotalData offset for actual downloading of current fragment, SstartData offset for the initial download of the current slice, Stotal-SstartFor the data size of the current slice, gamma is a preset influence coefficient, TendFor download end time, TstartFor download start time, Tend-TstartThe downloading of the current fragment is time-consuming.
Further, the obtaining the first bandwidth of the current segment according to the average bandwidth of the current segment and the third bandwidth of the previous segment specifically includes:
obtaining a first bandwidth of the current segment according to the following second relation model:
Rbandwidth=(1-φ)Rbandwidth'+φRcurrent
wherein R isbandwidthIs the first bandwidth of the current slice, Rbandwidth' third Bandwidth of last slice, RcurrentThe average bandwidth of the current fragment is phi which is a preset occupancy coefficient, and the value range of phi is [0, 1 ]]。
Further, the obtaining the effective buffering duration in the buffer area of the video specifically includes:
acquiring the current accumulated downloading time length in the buffer area of the video;
acquiring the consumed playing time length in the buffer area of the video;
determining the effective buffering time length in the buffer area of the video according to the current accumulated downloading time length and the consumed playing time length;
the obtaining of the current accumulated downloading duration in the buffer of the video specifically includes:
acquiring the current accumulated downloading time length in the buffer area of the video according to the following third relation model:
wherein, TtotalFor the current accumulated duration of the download, Ttotal' accumulating the download duration by the last slice, SdownloadIs the actual download size of the current fragment, SfileIs the total data volume of the current slice, TsegmentThe duration of the current fragment.
Further, the determining a second bandwidth of a next segment according to the first bandwidth and the effective buffer duration specifically includes:
determining an influence factor of the effective buffering duration on the next fragment according to the effective buffering duration;
and adjusting the first bandwidth by utilizing the influence factor to obtain a second bandwidth of the next fragment.
Further, the determining, according to the effective buffering duration, an influence factor of the effective buffering duration on a next segment specifically includes:
determining an influence factor of the effective buffer duration on the next fragment according to the following fifth relation model:
wherein, σ is an influence factor, TavailableFor effective buffer duration, TunderflowFor presetting a standard slicing time duration, TsegmentThe time length of the current fragment;
correspondingly, the adjusting the first bandwidth by using the impact factor to obtain a second bandwidth of a next segment specifically includes:
obtaining a second bandwidth of the next slice according to the following sixth relation model:
Rprobe=(1+σ)*Rbandwidth
wherein R isprobeSecond bandwidth for next slice, RbandwidthIs the first bandwidth of the current slice.
In a second aspect, an embodiment of the present invention provides a video multi-rate switching processing apparatus, including:
the first acquisition module is used for acquiring a first bandwidth of a current fragment in a video;
the second obtaining module is used for obtaining the effective buffering duration in the buffer area of the video; the effective buffering time length comprises the time length to be played of the buffered video fragments in the video buffer area;
a first determining module, configured to determine a second bandwidth of a next segment according to the first bandwidth and the effective buffer duration;
a second determining module, configured to determine a target code rate of the next segment according to the second bandwidth;
and the code rate switching module is used for carrying out video code rate switching on the next fragment according to the target code rate.
In a third aspect, an embodiment of the present invention further provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor, when executing the computer program, implements the video multi-rate switching processing method according to the first aspect.
In a fourth aspect, an embodiment of the present invention further provides a non-transitory computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the video multi-rate switching processing method according to the first aspect.
As can be seen from the foregoing technical solutions, in the video multi-rate switching processing method, the apparatus, the electronic device, and the storage medium provided in the embodiments of the present invention, the second bandwidth of the next segment is automatically determined according to the first bandwidth of the current segment in the video and the effective buffering duration in the buffer, the target rate of the next segment is determined according to the second bandwidth of the next segment, and finally, the video rate switching is performed on the next segment according to the target rate of the next segment. It should be noted that the method for automatically determining the second bandwidth of the next segment according to the first bandwidth of the current segment in the video and the effective buffering duration in the buffer area and further performing code rate switching on the next segment according to the second bandwidth of the next segment provided by the embodiment of the present invention can not only eliminate the trouble of manual switching by a user, but also sense the change of the current network in real time, thereby making full use of the bandwidth, providing the user experience as high as possible for the user, and achieving the effect of ensuring the playing smoothness.
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, 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 schematic flow chart of a video multi-rate handover processing method according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a video multi-rate handover processing apparatus according to an embodiment of the present invention;
fig. 3 is a logic block diagram of an electronic device according to an embodiment of the present invention.
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.
Fig. 1 shows a flowchart of a video multi-rate switching processing method according to an embodiment of the present invention, and referring to fig. 1, the video multi-rate switching processing method according to the embodiment of the present invention includes:
step 101: acquiring a first bandwidth of a current fragment in a video;
in this step, the video may be a video currently being played. It should be noted that the video is composed of a plurality of slices, for example, assuming that each slice is 10 seconds long, 20 minutes of video can be divided into 120 slices. The current segment may be a segment currently playing in the video.
In this step, it should be noted that the first bandwidth of the current segment in the video may be an estimated bandwidth corresponding to the current segment, and since the current segment corresponds to a time period (for example, the time period corresponding to the current segment is 22:10:15-22:10:25), the first bandwidth may be a bandwidth corresponding to the time period, and since the current segment includes a played portion of the current segment and an unplayed portion of the current segment, the bandwidth corresponding to the current segment may only be the estimated bandwidth.
In an implementation manner described later in this embodiment, the average bandwidth of the current slice is calculated first, and then the first bandwidth of the current slice is estimated by using the average bandwidth of the current slice and the third bandwidth of the previous slice. Of course, in other implementations, the first bandwidth may also be estimated by using other estimation methods, for example, the first bandwidth may also be estimated according to an average bandwidth of the current slice (in this case, the first bandwidth is the average bandwidth). In addition, for the average bandwidth of the current slice, the following embodiments also give specific obtaining manners. For example, the average bandwidth of the current segment in the video may be calculated according to the data amount of the current segment in the video and the time consumed for downloading the current segment.
In addition, the average bandwidth of the current segment may be obtained in other manners, for example, the average bandwidth corresponding to the played part of the current segment (obtained by calculating the data amount corresponding to the played part of the current segment and the download time consumption corresponding to the played part of the current segment) may be obtained, and then the average bandwidth of the current segment may be calculated according to the ratio of the played part of the current segment to the current segment and the average bandwidth corresponding to the played part of the current segment. For example, if the ratio of the played part of the current segment to the current segment is greater than or equal to one half, the average bandwidth corresponding to the played part of the current segment is used as the average bandwidth of the current segment, and if the ratio of the played part of the current segment to the current segment is less than one half, the average bandwidth corresponding to the played part of the current segment is multiplied by a preset coefficient (e.g., 0.85-0.95) and then used as the average bandwidth of the current segment.
Step 102: obtaining the effective buffering duration in the buffer area of the video; the effective buffering time length comprises the time length of the video fragments which are buffered in the video buffer area and are to be played.
In this step, it should be noted that, in the video playing process, video slices are generally buffered in the buffer area. The duration of the video segment that is not played in the buffer is the effective buffer duration in the buffer.
Step 103: and determining the second bandwidth of the next fragment according to the first bandwidth and the effective buffer duration.
In this step, after the first bandwidth corresponding to the current slice and the effective buffering duration in the buffer area are determined, the second bandwidth corresponding to the next slice can be estimated according to the two parameters. In this step, when determining the second bandwidth of the next segment according to the first bandwidth and the effective buffering duration, an impact factor of the effective buffering duration on the next segment may be determined according to the effective buffering duration, and then the impact factor is used to adjust the first bandwidth to obtain the second bandwidth of the next segment.
Step 104: and determining the target code rate of the next fragment according to the second bandwidth.
In this step, when the target bitrate of the next segment is determined according to the second bandwidth, a bitrate matched with the second bandwidth may be determined according to the second bandwidth, and the bitrate matched with the second bandwidth is used as the target bitrate of the next segment. In addition, the candidate code rate of the next segment may be determined according to the second bandwidth, and then the target code rate of the next segment may be determined according to a comparison result between the candidate code rate of the next segment and the current segment code rate.
Step 105: and switching the video code rate of the next fragment according to the target code rate.
In this step, after the target code rate corresponding to the next segment is determined according to the second bandwidth, video code rate switching is performed on the next segment according to the target code rate, so that bandwidth can be fully utilized, user experience as high as possible is provided for a client, and the effect of guaranteeing playing fluency is achieved.
As can be seen from the above description, in the video multi-rate switching processing method provided in this embodiment, the first bandwidth of the current segment in the video and the effective buffering duration in the buffer area automatically evaluate the second bandwidth of the next segment, so as to select an appropriate rate for switching the rate, thereby achieving the purpose of ensuring the fluency of playing on the basis of fully utilizing the bandwidth.
It can be known from the foregoing technical solutions that, in the video multi-rate switching processing method provided in the embodiments of the present invention, the first bandwidth of the current segment in the video and the effective buffering duration in the buffer automatically determine the second bandwidth of the next segment, then determine the target rate of the next segment according to the second bandwidth of the next segment, and finally perform video rate switching on the next segment according to the target rate of the next segment. It should be noted that the method for automatically determining the second bandwidth of the next segment according to the first bandwidth of the current segment in the video and the effective buffering duration in the buffer area and further performing code rate switching on the next segment according to the second bandwidth of the next segment provided by the embodiment of the present invention can not only eliminate the trouble of manual switching by a user, but also sense the change of the current network in real time, thereby making full use of the bandwidth, providing the user experience as high as possible for the user, and achieving the effect of ensuring the playing smoothness.
Based on the content of the foregoing embodiment, in this embodiment, the step 101 of obtaining the first bandwidth of the current segment in the video may specifically be implemented by:
step 101 a: acquiring the average bandwidth of the current fragment in the video;
step 101 b: and acquiring the first bandwidth of the current fragment according to the average bandwidth of the current fragment and the third bandwidth of the previous fragment.
In this embodiment, a specific determination manner of the first bandwidth is given. In this embodiment, the average bandwidth of the current segment is obtained first, and then the first bandwidth of the current segment is obtained according to the average bandwidth of the current segment and the third bandwidth of the previous segment. It should be noted that the third bandwidth of the previous slice is also obtained in the same calculation manner as the first bandwidth of the current slice, that is, the third bandwidth of the previous slice is obtained according to the average bandwidth of the previous slice and the fourth bandwidth of the previous slice.
In this embodiment, two factors, that is, the average bandwidth of the current segment and the third bandwidth of the previous segment, are considered simultaneously when determining the first bandwidth of the current segment, because if only the average bandwidth of the current segment is considered, there are problems that the current average bandwidth is easily affected by the current transient network jitter and the overall network condition cannot be reflected, so the third bandwidth of the previous segment is introduced on the basis of the first bandwidth of the current segment in this embodiment, and the current overall network condition can be reflected well.
In addition, there are many ways to obtain the average bandwidth, and the above embodiment has described a specific implementation, and the following embodiment will give detailed implementation schemes about this section.
Based on the content of the foregoing embodiment, in this embodiment, the step 101a obtains the average bandwidth of the current segment in the video specifically by the following means:
step 101 a': and acquiring the average bandwidth of the current fragment in the video according to the data volume of the current fragment in the video and the downloading time consumption of the current fragment.
In this embodiment, the average bandwidth of the current segment in the video may be obtained according to the data size of the current segment in the video and the time consumed for downloading the current segment. When the average bandwidth of the current segment in the video is obtained according to the data volume of the current segment in the video and the downloading time consumption of the current segment, the average bandwidth of the current segment may be calculated according to the downloaded data volume of the current segment and the downloading time consumption of the current segment, for example, the average bandwidth of the current segment in the video may be obtained according to the following first relationship model:
wherein R iscurrentIs the average bandwidth of the current slice, StotalData offset for actual downloading of current fragment, SstartData offset for the initial download of the current slice, Stotal-SstartFor the data size of the current slice, gamma is a preset influence coefficient, TendFor download end time, TstartFor download start time, Tend-TstartThe downloading of the current fragment is time-consuming.
In this embodiment, when determining the average bandwidth of the current segment, an influence coefficient is introduced in addition to fully utilizing the data volume of the current segment and the time consumed for downloading the current segment, and the influence of the network jitter during downloading the current segment on the average bandwidth calculation can be adjusted by setting the influence coefficient. Specifically, the value range of the influence coefficient γ is from 0 to 1, and the influence coefficient is used to adjust the influence of the network jitter on the average bandwidth calculation during the current fragmentation download. Preferably, the value of γ is 0.8, that is, 80% of the current fragment downloading amount participates in the operation, so as to reduce the influence of the network jitter on the average bandwidth calculation during the current fragment downloading. Therefore, in the present embodiment, the influence caused by the network jitter at the time of the current fragmented download can be reduced by setting the preset influence coefficient γ.
Based on the content of the foregoing embodiment, in this embodiment, the step 101b obtains the first bandwidth of the current segment according to the average bandwidth of the current segment and the third bandwidth of the previous segment, which may specifically be implemented in the following manner:
obtaining a first bandwidth of the current segment according to the following second relation model:
Rbandwidth=(1-φ)Rbandwidth'+φRcurrent
wherein R isbandwidthIs the first bandwidth of the current slice, Rbandwidth' third Bandwidth of last slice, RcurrentThe average bandwidth of the current fragment is phi which is a preset occupancy coefficient, and the value range of phi is [0, 1 ]]。
In this embodiment, the second relationship model described above may be adopted when the first bandwidth of the current segment is estimated according to the average bandwidth of the current segment and the third bandwidth of the previous segment. The second relation model is analyzed, so that when the first bandwidth of the current fragment is estimated by the second relation model, the preset occupancy coefficient is adopted, and the average bandwidth of the current fragment and the influence degree of the third bandwidth of the previous fragment on the first bandwidth of the current fragment can be changed by adjusting the size of the preset occupancy coefficient. When the preset occupancy coefficient is assigned, the preset occupancy coefficient can be set according to actual needs. In this embodiment, it should be explained that, because only the average bandwidth of the current segment is considered, there is a problem that the current segment is easily affected by transient network jitter and cannot reflect the overall network condition. Therefore, to solve this problem, the present embodiment introduces a preset occupancy coefficient Φ, which ranges from 0 to 1, and this value determines the evaluation sensitivity of the first bandwidth, and the closer the value is to 1, the closer the first bandwidth is to the average bandwidth of the current slice, the more susceptible it is to the current network fluctuation. In practical application, the preset occupancy coefficient can be set to be 0.7, and the value can obtain a good estimation effect after verification, so that the estimation result is not easily influenced by current network fluctuation, and the actual size of the first bandwidth can be reflected more truly.
Therefore, the video multi-rate adaptive dynamic switching method provided by the embodiment considers the whole bandwidth state, so that the influence caused by network jitter can be effectively reduced.
Based on the content of the foregoing embodiment, in this embodiment, the step 102 obtains the effective buffering duration in the buffer area of the video specifically by:
step 102 a: acquiring the current accumulated downloading time length in the buffer area of the video;
step 102 b: acquiring the consumed playing time length in the buffer area of the video;
step 102 c: and determining the effective buffering time length in the buffer area of the video according to the current accumulated downloading time length and the consumed playing time length.
In this embodiment, a specific implementation manner of obtaining the effective buffering duration in the buffer area is provided, and specifically, the current accumulated downloading duration in the buffer area of the video is obtained first, then the consumed playing duration in the buffer area of the video is obtained, and finally the effective buffering duration in the buffer area of the video is determined according to the current accumulated downloading duration and the consumed playing duration.
Wherein, when acquiring the currently accumulated downloading time length in the buffer area of the video, the step 102a may be specifically implemented by:
acquiring the current accumulated downloading time length in the buffer area of the video according to the following third relation model:
wherein, TtotalFor the current accumulated duration of the download, Ttotal' accumulating the download duration by the last slice, SdownloadIs the actual download size of the current slice,Sfileis the total data volume of the current slice, TsegmentThe duration of the current fragment. It will be understood that SdownloadIs the actual download size of the current fragment, SfileThe total data volume of the current fragment is the ratio of the actual downloading time length of the current fragment to the total time length, the actual downloading time length of the current fragment is multiplied by the time length of the current fragment to obtain the playable time length of the actual downloading fragment, and then the accumulated downloading time length of the last fragment is added to obtain the current accumulated downloading time length in the buffer area.
In this embodiment, when determining the current cumulative downloading duration in the buffer area of the video, the method of overlapping the playable duration of the actual downloading segment in the current segment with the cumulative downloading duration of the last segment is adopted, and this iterative processing method is simple and effective, and for each segment, it is only necessary to calculate the playable duration of the actual downloading segment in the current segment. In addition, in the embodiment, when calculating the playable time length of the actual download segment in the current segment, a mode of dividing the actual download amount of the current segment by the total data amount of the current segment is adopted to determine a ratio of the actual download time length of the current segment to the total time length of the current segment, and then the ratio is multiplied by the time length of the current segment, so that a more accurate calculation result of the playable time length of the actual download segment in the previous segment can be obtained.
Correspondingly, the step 102c determines the effective buffering duration in the buffer area of the video according to the current accumulated downloading duration and the consumed playing duration, which can be specifically implemented by the following manner:
determining an effective buffering duration in a buffer of the video according to a fourth relational model:
Tavailable=Ttotal-Tconsume
wherein, TavailableFor effective buffer duration, TtotalFor the current accumulated duration of the download, TconsumeIs the consumed playing time length. Note that T isconsumeAnd TtotalThe reference must be made to the same time base.
In this embodiment, the effective buffering duration is obtained by subtracting the consumed playing duration from the current accumulated downloading duration.
Based on the content of the foregoing embodiment, in this embodiment, the step 103 determines the second bandwidth of the next segment according to the first bandwidth and the effective buffer duration, which may be specifically implemented by the following manner:
step 103 a: determining an influence factor of the effective buffering duration on the next fragment according to the effective buffering duration;
step 103 b: and adjusting the first bandwidth by utilizing the influence factor to obtain a second bandwidth of the next fragment.
In this embodiment, when determining the impact factor of the effective buffering duration on the next segment according to the effective buffering duration, the following method may be specifically implemented:
determining an influence factor of the effective buffer duration on the next fragment according to the following fifth relation model:
wherein, σ is an influence factor, TavailableFor effective buffer duration, TunderflowFor presetting a standard slicing time duration, TsegmentThe time length of the current fragment; the preset standard slicing duration is usually a default slicing duration, such as 10 s.
Correspondingly, the step 103b adjusts the first bandwidth by using the impact factor to obtain the second bandwidth of the next segment, which may be specifically implemented as follows:
obtaining a second bandwidth of the next slice according to the following sixth relation model:
Rprobe=(1+σ)*Rbandwidth
wherein R isprobeSecond bandwidth for next slice, σ is an impact factor, RbandwidthIs the first bandwidth of the current slice.
In this embodiment, the influence factor of the effective buffering duration on the next segment is determined according to the effective buffering duration, and then after the influence factor of the effective buffering duration on the next segment is determined, the first bandwidth of the current segment is modified by using the influence factor, so that a more reasonable and accurate second bandwidth of the next segment is obtained. Therefore, the influence of the buffering playing time length and the first bandwidth on the second bandwidth is considered at the same time, so that the code rate can be adjusted to be more appropriate in time in the downloading process of the next fragment, and the probability of the video falling into the buffer is reduced. In addition, the reference factor of the buffering duration creatively adopted in the embodiment is compared with a code rate adaptive method based on the buffered data volume, and the embodiment replaces the judgment of the buffered data volume with the condition of the buffering duration, because the playable durations of the fragmented buffers with different code rates are different under the same data volume, whether the code rate switching is not accurate is judged from the data volume alone, the buffering duration is used for judgment, the current buffering state can be fed back more accurately, and the code rate can be adjusted in time. Meanwhile, the frequency of code rate switching is reduced by combining the bandwidth calculation of the self-adaptive algorithm, the bandwidth is fully utilized, and better playing experience is provided for clients.
Based on the content of the foregoing embodiment, in this embodiment, the step 104 determines the target bitrate of the next segment according to the second bandwidth, which can be specifically implemented by the following manner:
step 104 a: determining the candidate code rate of the next fragment according to the second bandwidth;
step 104 b: and determining the target code rate of the next fragment according to the comparison result of the candidate code rate of the next fragment and the current fragment code rate.
Based on the content of the foregoing embodiment, in this embodiment, the step 104a determines the candidate bitrate of the next slice according to the second bandwidth, which may be specifically implemented by:
and comparing the second bandwidth with each preset code rate, and selecting the preset code rate which is closest to the second bandwidth and is smaller than the second bandwidth as the candidate code rate of the next fragment.
In this embodiment, the estimated bandwidth of the next segment, that is, the second bandwidth, is compared with each code rate in m3u8, a code rate smaller than the second bandwidth is selected, and then the code rate closest to the second bandwidth is used as the candidate code rate of the next segment, so that the purposes of fully utilizing the bandwidth, giving the user experience as high as possible to the user, and ensuring the fluency of playing are achieved.
Based on the content of the foregoing embodiment, in this embodiment, the step 104b determines the target bitrate of the next segment according to a comparison result between the candidate bitrate of the next segment and the current segment bitrate, which can be specifically implemented in the following manner:
if the candidate code rate of the next fragment is greater than the current fragment code rate, selecting the code rate of the previous level of the current fragment code rate as the target code rate of the next fragment;
and if the candidate code rate of the next fragment is less than or equal to the current fragment code rate, determining the target code rate of the next fragment according to the relation between the candidate code rate of the next fragment and the preset lowest code rate. For example, if the candidate code rate of the next segment is less than or equal to the preset lowest code rate, the preset lowest code rate is used as the target code rate of the next segment, otherwise, the candidate code rate of the next segment is used as the target code rate of the next segment.
In this embodiment, for smooth transition and smooth effect of the picture, when the determined candidate code rate of the next slice is greater than the code rate of the current slice, the code rate of one level above the current code rate is selected as the target code rate of the next slice; and when the determined candidate code rate of the next fragment is smaller than the code rate of the current fragment, selecting the determined candidate code rate of the next fragment as the target code rate of the next fragment. And if the determined candidate code rate of the next fragment is lower than the lowest code rate, selecting the lowest code rate as the target code rate of the next fragment to finish the downloading of the next fragment.
In this embodiment, it should be noted that, for http streaming media protocols of multi-rate slices, such as HLS, DASH, HSS, and the like, the video multi-rate adaptive dynamic switching method provided in this embodiment may sense a current user network change, so as to fully utilize bandwidth and provide as high user experience as possible for a client, and ensure smoothness of playing.
As can be seen from the above description, the video multi-rate switching processing method provided in this embodiment includes two parts of core content, one part is an evaluation method of the first bandwidth corresponding to the current slice, and the other part is a rate adaptive algorithm that takes into account both bandwidth calculation and buffer duration. Therefore, it can be seen that the video multi-rate adaptive dynamic switching method provided by this embodiment improves bandwidth calculation based on the rate adaptive technology of the current bandwidth, considers the overall bandwidth state, reduces the influence caused by network jitter, and makes the calculation result tend to be smooth. Meanwhile, the buffering playing duration is considered, the selection code rate can be adjusted in time, and the probability of trapping in buffering is reduced. Compared with a code rate self-adaptive method based on the buffered data volume, the method for judging the buffered data volume replaces the buffered data volume with the buffered time length condition, because the playable time lengths of the different code rate fragment buffers are different under the same data volume, whether the code rate switching is not accurate is judged from the data volume, the buffered time length is used for judging, the current buffer state can be fed back more accurately, and the code rate can be adjusted in time. Meanwhile, the frequency of code rate switching is reduced by combining the bandwidth calculation of the self-adaptive algorithm, the bandwidth is fully utilized, and better playing experience is provided for clients.
Fig. 2 is a schematic structural diagram of a video multi-rate switching processing apparatus according to an embodiment of the present invention, and referring to fig. 2, the video multi-rate switching processing apparatus according to the embodiment of the present invention includes: a first obtaining module 11, a second obtaining module 12, a first determining module 13, a second determining module 14, and a code rate switching module 15, wherein:
the first obtaining module 11 is configured to obtain a first bandwidth of a current segment in a video;
a second obtaining module 12, configured to obtain an effective buffering duration in a buffer of the video; the effective buffering time length comprises the time length to be played of the buffered video fragments in the video buffer area;
a first determining module 13, configured to determine a second bandwidth of a next segment according to the first bandwidth and the effective buffer duration;
a second determining module 14, configured to determine a target code rate of the next segment according to the second bandwidth;
and a code rate switching module 15, configured to perform video code rate switching on the next segment according to the target code rate.
Since the video multi-rate switching processing apparatus provided in this embodiment may be used to execute the video multi-rate switching processing method described in the foregoing embodiment, because the working principle and the beneficial effect are similar, details are not repeated here, and specific contents may refer to the description of the foregoing embodiment.
Based on the same inventive concept, another embodiment of the present invention provides an electronic device, which specifically includes the following components, with reference to fig. 3: a processor 301, a memory 302, a communication interface 303, and a communication bus 304;
the processor 301, the memory 302 and the communication interface 303 complete mutual communication through the communication bus 304;
the processor 301 is configured to call a computer program in the memory 302, and the processor implements all the steps of the above method when executing the computer program, for example, the processor implements the following steps when executing the computer program: acquiring a first bandwidth of a current fragment in a video; obtaining the effective buffering duration in the buffer area of the video; the effective buffering time length comprises the time length to be played of the buffered video fragments in the video buffer area; determining a second bandwidth of a next fragment according to the first bandwidth and the effective buffer duration; determining the target code rate of the next fragment according to the second bandwidth; and switching the video code rate of the next fragment according to the target code rate.
Based on the same inventive concept, yet another embodiment of the present invention provides a non-transitory computer-readable storage medium having stored thereon a computer program, which when executed by a processor implements all the steps of the above method, for example, the processor implements the following steps when executing the computer program: acquiring a first bandwidth of a current fragment in a video; obtaining the effective buffering duration in the buffer area of the video; the effective buffering time length comprises the time length to be played of the buffered video fragments in the video buffer area; determining a second bandwidth of a next fragment according to the first bandwidth and the effective buffer duration; determining the target code rate of the next fragment according to the second bandwidth; and switching the video code rate of the next fragment according to the target code rate.
In addition, the logic instructions in the memory may be implemented in the form of software functional units and may be stored in a computer readable storage medium when sold or used as a stand-alone product. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment of the present invention. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above-described technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the embodiments or some parts of the embodiments.
In the description of the present invention, it should be noted that the terms "upper", "lower", and the like indicate orientations or positional relationships based on the orientations or positional relationships shown in the drawings, which are merely for convenience in describing the present invention and simplifying the description, and do not indicate or imply that the referred device or element must have a specific orientation, be constructed in a specific orientation, and operate, and thus, should not be construed as limiting the present invention. Unless expressly stated or limited otherwise, the terms "mounted," "connected," and "connected" are intended to be inclusive and mean, for example, that they may be fixedly connected, detachably connected, or integrally connected; can be mechanically or electrically connected; they may be connected directly or indirectly through intervening media, or they may be interconnected between two elements. The specific meanings of the above terms in the present invention can be understood by those skilled in the art according to specific situations.
In addition, in the present invention, terms such as "first" and "second" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present invention, "a plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
Moreover, in the present invention, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
Furthermore, in the description herein, reference to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.
Claims (7)
1. A video multi-rate switching processing method is characterized by comprising the following steps:
acquiring a first bandwidth of a current fragment in a video;
obtaining the effective buffering duration in the buffer area of the video; the effective buffering time length comprises the time length to be played of the buffered video fragments in the video buffer area;
determining a second bandwidth of a next fragment according to the first bandwidth and the effective buffer duration;
determining the target code rate of the next fragment according to the second bandwidth;
performing video code rate switching on the next fragment according to the target code rate;
the obtaining of the effective buffering duration in the buffer area of the video specifically includes:
acquiring the current accumulated downloading time length in the buffer area of the video;
acquiring the consumed playing time length in the buffer area of the video;
determining the effective buffering time length in the buffer area of the video according to the current accumulated downloading time length and the consumed playing time length;
the obtaining of the current accumulated downloading duration in the buffer of the video specifically includes:
acquiring the current accumulated downloading time length in the buffer area of the video according to the following third relation model:
wherein, TtotalFor the current accumulated duration of the download, Ttotal' accumulating the download duration by the last slice, SdownloadIs the actual download size of the current fragment, SfileIs the total data volume of the current slice, TsegmentThe time length of the current fragment;
wherein, the determining the second bandwidth of the next segment according to the first bandwidth and the effective buffering duration specifically includes:
determining an influence factor of the effective buffering duration on the next fragment according to the effective buffering duration;
adjusting the first bandwidth by using the influence factor to obtain a second bandwidth of a next fragment;
wherein, the determining the influence factor of the effective buffering duration on the next segment according to the effective buffering duration specifically includes:
determining an influence factor of the effective buffer duration on the next fragment according to the following fifth relation model:
wherein, σ is an influence factor, TavailableFor effective buffer duration, TunderflowFor presetting a standard slicing time duration, TsegmentThe time length of the current fragment;
correspondingly, the adjusting the first bandwidth by using the impact factor to obtain a second bandwidth of a next segment specifically includes:
obtaining a second bandwidth of the next slice according to the following sixth relation model:
Rprobe=(1+σ)*Rbandwidth
wherein R isprobeSecond bandwidth for next slice, RbandwidthIs the first bandwidth of the current slice.
2. The method for processing video multi-rate switching according to claim 1, wherein the obtaining the first bandwidth of the current segment in the video specifically includes:
acquiring the average bandwidth of the current fragment in the video;
acquiring a first bandwidth of the current fragment according to the average bandwidth of the current fragment and a third bandwidth of the previous fragment;
the obtaining of the average bandwidth of the current segment in the video specifically includes:
and acquiring the average bandwidth of the current fragment in the video according to the data volume of the current fragment in the video and the downloading time consumption of the current fragment.
3. The method for processing video multi-rate switching according to claim 2, wherein the obtaining the average bandwidth of the current segment in the video according to the data size of the current segment in the video and the time consumed for downloading the current segment specifically comprises:
obtaining the average bandwidth of the current slice in the video according to the following first relation model:
wherein R iscurrentIs the average bandwidth of the current slice, StotalData offset for actual downloading of current fragment, SstartData offset for the initial download of the current slice, Stotal-SstartFor the data size of the current slice, gamma is a preset influence coefficient, TendFor download end time, TstartFor download start time, Tend-TstartThe downloading of the current fragment is time-consuming.
4. The method for processing video multi-rate switching according to claim 2 or 3, wherein the obtaining the first bandwidth of the current slice according to the average bandwidth of the current slice and the third bandwidth of the previous slice specifically includes:
obtaining a first bandwidth of the current segment according to the following second relation model:
Rbandwidth=(1-φ)Rbandwidth'+φRcurrent
wherein R isbandwidthIs the first bandwidth of the current slice, Rbandwidth' third Bandwidth of last slice, RcurrentThe average bandwidth of the current fragment is phi which is a preset occupancy coefficient, and the value range of phi is [0, 1 ]]。
5. A video multi-rate handover processing apparatus, comprising:
the first acquisition module is used for acquiring a first bandwidth of a current fragment in a video;
the second obtaining module is used for obtaining the effective buffering duration in the buffer area of the video; the effective buffering time length comprises the time length to be played of the buffered video fragments in the video buffer area;
a first determining module, configured to determine a second bandwidth of a next segment according to the first bandwidth and the effective buffer duration;
a second determining module, configured to determine a target code rate of the next segment according to the second bandwidth;
the code rate switching module is used for carrying out video code rate switching on the next fragment according to the target code rate;
the second obtaining module is specifically configured to:
acquiring the current accumulated downloading time length in the buffer area of the video;
acquiring the consumed playing time length in the buffer area of the video;
determining the effective buffering time length in the buffer area of the video according to the current accumulated downloading time length and the consumed playing time length;
the obtaining of the current accumulated downloading duration in the buffer of the video specifically includes:
acquiring the current accumulated downloading time length in the buffer area of the video according to the following third relation model:
wherein, TtotalFor the current accumulated duration of the download, Ttotal' accumulating the download duration by the last slice, SdownloadIs the actual download size of the current fragment, SfileIs the total data volume of the current slice, TsegmentThe time length of the current fragment;
the first determining module is specifically configured to:
determining an influence factor of the effective buffering duration on the next fragment according to the effective buffering duration;
adjusting the first bandwidth by using the influence factor to obtain a second bandwidth of a next fragment;
the first determining module is further specifically configured to:
determining an influence factor of the effective buffer duration on the next fragment according to the following fifth relation model:
wherein, σ is an influence factor, TavailableFor effective buffer duration, TunderflowFor presetting a standard slicing time duration, TsegmentThe time length of the current fragment;
correspondingly, the adjusting the first bandwidth by using the impact factor to obtain a second bandwidth of a next segment specifically includes:
obtaining a second bandwidth of the next slice according to the following sixth relation model:
Rprobe=(1+σ)*Rbandwidth
wherein R isprobeSecond bandwidth for next slice, RbandwidthIs the first bandwidth of the current slice.
6. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the video multi-rate switching processing method according to any one of claims 1 to 4 when executing the computer program.
7. A non-transitory computer readable storage medium, having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the video multi-rate switching processing method according to any one of claims 1 to 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910803769.XA CN110430453B (en) | 2019-08-28 | 2019-08-28 | Video multi-code-rate switching processing method and device, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910803769.XA CN110430453B (en) | 2019-08-28 | 2019-08-28 | Video multi-code-rate switching processing method and device, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110430453A CN110430453A (en) | 2019-11-08 |
CN110430453B true CN110430453B (en) | 2022-03-25 |
Family
ID=68416469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910803769.XA Active CN110430453B (en) | 2019-08-28 | 2019-08-28 | Video multi-code-rate switching processing method and device, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110430453B (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698262B (en) * | 2020-06-24 | 2021-07-16 | 北京达佳互联信息技术有限公司 | Bandwidth determination method, device, terminal and storage medium |
CN111935361B (en) * | 2020-07-10 | 2021-09-21 | 深圳威尔视觉传媒有限公司 | Video color ring interaction method and device, electronic equipment and storage medium |
CN113055698A (en) * | 2021-03-09 | 2021-06-29 | 百果园技术(新加坡)有限公司 | Video parameter adjusting method, device, equipment and medium |
CN112954409B (en) * | 2021-03-31 | 2023-05-12 | 百果园技术(新加坡)有限公司 | Video downloading method, device, server and storage medium |
CN113099273B (en) * | 2021-04-07 | 2021-12-14 | 中南大学 | Video block replacement method, client, server, system and readable storage medium based on opportunity strategy |
CN115914756B (en) * | 2021-08-12 | 2024-10-18 | 花瓣云科技有限公司 | Video code rate control method and device based on network classification |
CN113891155B (en) * | 2021-09-29 | 2024-04-05 | 百果园技术(新加坡)有限公司 | Video playing gear determining method, video playing method and related devices |
CN114979762B (en) * | 2022-04-12 | 2024-06-07 | 北京字节跳动网络技术有限公司 | Video downloading and transmitting method and device, terminal equipment, server and medium |
CN116112731A (en) * | 2023-02-20 | 2023-05-12 | 北京达佳互联信息技术有限公司 | Video preloading realization method, device, equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10178043B1 (en) * | 2014-12-08 | 2019-01-08 | Conviva Inc. | Dynamic bitrate range selection in the cloud for optimized video streaming |
CN109379632A (en) * | 2018-10-25 | 2019-02-22 | 中国地质大学(武汉) | A kind of progressive switching method of code rate and system of dynamic self-adapting HTTP stream |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8561116B2 (en) * | 2007-09-26 | 2013-10-15 | Charles A. Hasek | Methods and apparatus for content caching in a video network |
CN103338393A (en) * | 2013-06-13 | 2013-10-02 | 西安交通大学 | Video code rate selecting method driven by user experience under HSPA system |
CN104022845A (en) * | 2014-05-30 | 2014-09-03 | 北京高森明晨信息科技有限公司 | Method, apparatus and system for adjusting bit rate of data block |
US20160182594A1 (en) * | 2014-12-19 | 2016-06-23 | Cable Television Laboratories, Inc. | Adaptive streaming |
US9961389B2 (en) * | 2015-12-09 | 2018-05-01 | Ericsson Ab | Recording device space optimization in a multicast adaptive bitrate (MABR) streaming network |
CN109218847B (en) * | 2017-06-30 | 2022-03-04 | 中兴通讯股份有限公司 | Download control method and device and multimedia terminal |
CN108271048B (en) * | 2018-02-09 | 2020-08-07 | 北京邮电大学 | Code rate self-adaptive adjusting device and method considering both throughput and video buffering |
CN109302623B (en) * | 2018-11-01 | 2020-06-09 | 南京大学 | QoE model-based dynamic adaptive video transmission method |
CN109862403B (en) * | 2019-02-19 | 2021-07-27 | 未来电视有限公司 | Adaptive code rate switching method and device, electronic equipment and storage medium |
CN109714631A (en) * | 2019-02-26 | 2019-05-03 | 华南理工大学 | One kind being based on HTTP video flowing dynamic self-adaptation bit-rate selection method |
-
2019
- 2019-08-28 CN CN201910803769.XA patent/CN110430453B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10178043B1 (en) * | 2014-12-08 | 2019-01-08 | Conviva Inc. | Dynamic bitrate range selection in the cloud for optimized video streaming |
CN109379632A (en) * | 2018-10-25 | 2019-02-22 | 中国地质大学(武汉) | A kind of progressive switching method of code rate and system of dynamic self-adapting HTTP stream |
Non-Patent Citations (2)
Title |
---|
一种基于HTTP自适应流的混合码率自适应算法;熊丽荣等;《计算机科学》;20170215(第02期);全文 * |
基于HTTP的动态自适应流技术综述;朱晓晨等;《系统仿真学报》;20131108(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110430453A (en) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110430453B (en) | Video multi-code-rate switching processing method and device, electronic equipment and storage medium | |
CN105163134B (en) | Video coding parameter setting method, device and the video encoder of live video | |
EP2903219A1 (en) | Method, player and terminal for selecting code stream segmentations based on stream media | |
CN102710586B (en) | Streaming media transmission control method, media transmission control method and associated equipment | |
US10110650B2 (en) | Client side stream switching | |
CN109302623B (en) | QoE model-based dynamic adaptive video transmission method | |
CN108184152B (en) | Two-stage client code rate selection method for DASH transmission system | |
US8405773B2 (en) | Video communication quality estimation apparatus, method, and program | |
US20090307368A1 (en) | Stream complexity mapping | |
CN105263037B (en) | A kind of adaptive fluidizing method based on client-cache | |
JP2015511782A (en) | Improved DASH client and receiver with download rate estimator | |
CN102204272A (en) | A processing method after a playing timepoint in streaming media jumps and a device thereof | |
JP2015515173A (en) | Control of HTTP streaming between source and receiver via multiple TCP connections | |
CN105451099B (en) | Video code rate method of adjustment and device | |
CN113411643B (en) | Video quality optimization method, system, electronic equipment and storage medium | |
KR102417732B1 (en) | Quality estimation of adaptive multimedia streaming | |
CN110022498B (en) | Method and device for realizing code rate switching | |
EP2993911A1 (en) | Method and client terminal for receiving a multimedia content split into at least two successive segments, and corresponding computer program product and computer-readable medium | |
EP2656561B1 (en) | Video streaming over data networks | |
EP2656560B1 (en) | A method for delivering video content encoded at one or more quality levels over a data network | |
EP3073736B1 (en) | Method and device for measuring quality of experience of mobile video service | |
JP2005278075A (en) | Dynamic-image correction-factor computer, dynamic-image correction device, method for computing dynamic-image correction factor and dynamic-image correction-factor computing program | |
EP2941857B1 (en) | Site-based server selection | |
JP7318123B2 (en) | Method, system and medium for streaming video content using adaptive buffering | |
WO2014121571A1 (en) | Method and apparatus for context-based video quality assessment |
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 |