CN112291620A - Video playing method and device, electronic equipment and storage medium - Google Patents

Video playing method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112291620A
CN112291620A CN202011003962.4A CN202011003962A CN112291620A CN 112291620 A CN112291620 A CN 112291620A CN 202011003962 A CN202011003962 A CN 202011003962A CN 112291620 A CN112291620 A CN 112291620A
Authority
CN
China
Prior art keywords
code rate
video
current
decision
playing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011003962.4A
Other languages
Chinese (zh)
Inventor
关建峰
许长桥
王琛
张珍杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202011003962.4A priority Critical patent/CN112291620A/en
Publication of CN112291620A publication Critical patent/CN112291620A/en
Pending legal-status Critical Current

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/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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44245Monitoring the upstream path of the transmission network, e.g. its availability, bandwidth
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Abstract

The embodiment of the invention provides a video playing method, a video playing device, electronic equipment and a storage medium, wherein the method comprises the following steps: when the current video file is played to a preset code rate decision moment, obtaining the current state information of the current video file, carrying out code rate decision according to a self-adaptive code rate ABR algorithm model, and continuously playing the current video file after code rate switching is carried out when the current video file is played to a corresponding code rate switching frame; the current state information comprises the content information of the current buffer area, the current network throughput information and the current value of the video quality influence factor; the video quality influencing factors comprise playing code rate, video buffering, code rate switching and video time delay. The embodiment of the invention can realize the preset decision time and carry out code rate self-adaptive switching according to the network information at the decision time; the method and the device avoid the defect that the code rate after switching is not suitable for the real-time network condition caused by too far separation of the code rate decision time and the switching time when the code rate switching frames are not aligned in the prior art.

Description

Video playing method and device, electronic equipment and storage medium
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a video playing method and apparatus, an electronic device, and a storage medium.
Background
When a user watches the video, the quality of the video can be adjusted in real time according to the network; when the user network is poor, the client may play a video with lower definition. When the video is played, the code rate is adjusted in real time based on the network condition based on an Adaptive code rate selection algorithm ABR (Adaptive Bitrate Streaming, code rate Adaptive technology), so that smooth playing is realized.
The existing video self-adaptive code rate playing is more oriented to an on-demand scene, in the on-demand scene, a video is cached in a server and a Content Delivery Network (CDN) in advance, and I frames with different code rates, which can realize code rate switching, are aligned in the video on-demand scene, so that code rate selection in the on-demand scene can be switched to any other code rate at the same moment of decision (before the I frame); however, for a live broadcast scene, I frames are not aligned, and the existing code rate adaptive playing mode cannot realize code rate selection and then immediately switch in the code rate adaptive selection process in an on-demand scene in the live broadcast scene.
Therefore, how to provide a smooth video playing method suitable for live broadcasting becomes a problem that needs to be solved urgently.
Disclosure of Invention
The embodiment of the invention provides a video playing method, a video playing device, electronic equipment and a storage medium, which are used for solving the defects that the existing code rate self-adaptive playing mode only adapts to the code rate under the on-demand scene, automatically adjusts the code rate according to the network condition and immediately switches the code rate, and the code rate can be self-adaptively adjusted under any video scene.
In a first aspect, an embodiment of the present invention provides a video playing method, including:
acquiring current state information of a current video file when the current video file is played to a preset code rate decision moment;
based on the current state information, making a code rate decision according to an adaptive code rate ABR algorithm model;
based on the code rate decision, when the current video file is played to a code rate switching frame corresponding to the code rate decision, carrying out code rate switching and then continuing to play the current video file;
the current state information comprises current buffer area content information, current network throughput information and current values of video quality influence factors; the video quality influence factors comprise playing code rate, video buffering, code rate switching and video time delay.
According to the video playing method of one embodiment of the present invention, the bit rate decision time is a time between every two preset interval durations in the playing duration of the current video file.
According to the video playing method of an embodiment of the present invention, when the current video file is played to the code rate switching frame corresponding to the code rate decision based on the code rate decision, the method of continuing to play the current video file after performing code rate switching specifically includes:
determining a target code rate based on the code rate decision;
determining a code rate switching frame corresponding to a target code rate based on the target code rate;
and when the current video file is determined to be played to the code rate switching frame corresponding to the target code rate, the current code rate is switched to the target code rate and then the current code rate is continuously played.
According to the video playing method of an embodiment of the present invention, the making of the code rate decision based on the current state information and according to the adaptive code rate ABR algorithm model specifically includes:
according to a Quality of Experience (QoE) algorithm, calculating and obtaining the QoE generated by playing the current video file in the current time slot based on the value of each video Quality influence factor in the current time slot played at the current code rate;
updating the ABR algorithm model based on the QoE at the moment when the current video file is played to a preset code rate decision moment;
and performing code rate decision based on the current state information according to the updated ABR algorithm.
According to the video playing method of an embodiment of the present invention, the updating the ABR algorithm model based on the quality of experience QoE specifically includes:
acquiring historical state information of a video file at a code rate decision moment corresponding to a current code rate;
performing reinforcement learning based on the QoE and the historical state information, and updating the ABR algorithm model;
and the code rate decision time corresponding to the current code rate is the code rate decision time of the last effective code rate decision.
According to a video playing method of an embodiment of the present invention, the method further includes:
and for each type of video quality influence factor, updating the QoE algorithm according to a preset updating strategy based on the corresponding QoE at each moment.
According to a video playing method of an embodiment of the present invention, the method further includes:
after determining that the video buffering exceeds a preset fast playing threshold value based on the content information of the current buffer area, adjusting the playing speed of the current video file to be a preset fast playing multiple of the current playing speed;
and after the video buffer is determined to be lower than a preset slow play threshold value based on the content information of the current buffer area, adjusting the play speed of the current video file to be a preset slow play multiple of the current play speed.
In a second aspect, an embodiment of the present invention provides a video playing apparatus, including:
the acquisition module is used for acquiring the current state information of the current video file when the current video file is played to a preset code rate decision moment;
the decision module is used for making code rate decision according to an adaptive code rate ABR algorithm model based on the current state information;
the playing module is used for continuing playing the current video file after code rate switching is carried out when the current video file is played to a code rate switching frame corresponding to the code rate decision based on the code rate decision;
the current state information comprises current buffer area content information, current network throughput information and current values of video quality influence factors; the video quality influence factors comprise playing code rate, video buffering, code rate switching and video time delay.
In a third aspect, an embodiment of the present invention 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 implements the steps of the video playing method provided in the first aspect when executing the program.
In a fourth aspect, an embodiment of the present invention 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 steps of the video playing method as provided in the first aspect.
According to the video playing method, the video playing device, the electronic equipment and the storage medium provided by the embodiment of the invention, the content information of the buffer area of the current video file, the network throughput information, the current values of the playing code rate, the video buffering, the code rate switching and the video delay are obtained by presetting the code rate decision time, and the code rate decision is carried out; then when the current video file is played to a code rate switching frame corresponding to the code rate decision, carrying out code rate switching and then continuing to play the current video file; the method can realize the preset decision time and carry out code rate self-adaptive switching according to the network information at the decision time; the method and the device avoid the defect that the code rate after switching is not suitable for the real-time network condition caused by too far separation of the code rate decision time and the switching time when the code rate switching frames corresponding to different code rates are not aligned in the prior art.
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 some embodiments of the present invention, and those skilled in the art can also obtain other drawings according to the drawings without creative efforts.
Fig. 1 is a schematic diagram illustrating a GOP partition condition in an on-demand scenario according to an embodiment of the present invention;
fig. 2 is a schematic diagram illustrating GOP partitioning in a live broadcast scenario according to an embodiment of the present invention;
fig. 3 is a schematic flow chart of a video playing method according to an embodiment of the present invention;
fig. 4 is a schematic flow chart of a code rate decision method according to an embodiment of the present invention;
fig. 5 is a schematic diagram illustrating an ABR algorithm updating method according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a learning method under a fixed point memory strategy mode according to an embodiment of the present invention;
FIG. 7 is a flowchart illustrating an implementation of a dynamic rewarding method according to an embodiment of the present invention;
fig. 8 is a schematic diagram of a playing method of a fast-slow playing mechanism according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of a video playing apparatus according to an embodiment of the present invention;
fig. 10 is a schematic structural diagram of a video playing emulator according to an embodiment of the present invention;
fig. 11 is a schematic flowchart of a video playing method according to an embodiment of the present invention;
FIG. 12 is a flowchart illustrating a method for updating the content in the buffer according to an embodiment of the present invention;
fig. 13 is a schematic physical structure 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.
Video services, such as short videos, live broadcasts, etc., which are usually viewed by users on the network, are provided by using "streaming media technology". The streaming media technology adopts a streaming transmission method to transmit media data, so that a user can watch the video without waiting for the completion of the downloading of the video, namely watching the video while watching the video. However, the "side-looking" mode may cause problems, such as video jamming when the user watches high definition video when the network conditions are relatively poor, thereby affecting the video watching experience of the user. According to research, video fluency is the most important point in the process of watching videos for users, and research shows that the users have a high probability of abandoning watching videos due to low definition or video jamming, which causes great loss to video providers.
Current Dynamic Adaptive Streaming over HTTP (DASH) technology solves the above problems to some extent. DASH technology supports that the same media content is divided into media files with different quality levels (e.g., the common definition, high definition, and super definition of the same video) according to a certain rule, so that the client can adjust the quality of the requested media file in real time according to the actual situation (e.g., network bandwidth). Specifically, when the user network is poor, the client may play a video with low definition, so that the user can watch the video smoothly, and when the user network is good, the client may play a video with high definition, so that the user can watch the video with better quality. When selecting videos with different definitions to download and play, a certain strategy needs to be followed, and the strategy is a code rate selection algorithm.
Since the corresponding code rate is adaptively selected according to the current state, the code rate Selection algorithm is also called an Adaptive BitRate Selection (ABR), and the superior code rate Selection algorithm can provide more superior user experience quality.
At present, the code rate selection algorithm is more oriented to on-demand scenes, and relatively few researches are carried out on live scenes. In the on-demand scenario, the video has been cached in the server and CDN in advance, so it is more considered how to let the user view the entire video without perception. Imperceptible means that the user does not disturb watching the video due to an event, e.g. avoiding video jams, avoiding changes in sharpness. As live videos become more popular, people watch live videos in various places (subways, buses and indoor places) through various mobile phone applications (such as Twitch, Aweme and douyuu), and the like, so that the live videos are usually transmitted in a complex network environment. Different from video on demand, live video content needs to be shot in real time, uploaded in real time and transmitted in real time, and in comparison, a shooting and uploading process is added in a live scene, so that the video transmission in the live scene is more rigorous than the video on demand scene. In addition, in some live scenes, such as live game play, live sporting events, etc., there is an additional requirement for low latency. Latency refers to the time difference from "video is captured" until "video is seen by the viewer". Taking live game as an example, if both live broadcast parties have larger time delay, when the game anchor has wonderful operation, the audience can feed back to the anchor after a long time, and the anchor continues to feed back to the audience after receiving the feedback, so that both parties can not immediately obtain the feedback of the other party, the strong interactivity of the live broadcast is greatly damaged, and the enjoyment of watching the live broadcast by the audience is greatly reduced.
Therefore, from the perspective of code rate adaptation, a code rate selection algorithm which can simultaneously ensure that a user can watch videos without perception by reasonably selecting code rates and ensure strong interactivity under live broadcast by maintaining ultra-low time delay has important research significance and application value.
The existing code rate selection algorithm includes: 1) the earliest Rate-Based algorithms; 2) a modified Buffer-Based content (Buffer-Based) algorithm; 3) a code Rate selection algorithm Based on Quality (Quality-Based) provided by a comprehensive Rate-Based and Buffer-Based method; 4) the latest Learning-Based rate selection algorithm.
The Rate-Based ABR strictly depends on the estimated network throughput, if the estimated network throughput is higher, a high-bit-Rate video is selected for downloading, otherwise, a low-bit-Rate video is selected for downloading. The Buffer-Based ABR mainly depends on the content amount which is buffered in the Buffer area of the current client, if the content amount is large, the high-bit-rate video is selected for downloading, and otherwise, the low-bit-rate video is selected for downloading. For Quality-Based ABR, not only depending on a certain index, it establishes a model for evaluating the QoE (Quality of Experience), i.e. a QoE calculation mode, and then selects the code rate that will obtain the highest QoE. For Learning-Based ABR, the algorithm is applied to a machine Learning related technology, and the strategy of selecting the code rate is learned by the algorithm Based on a large amount of data, so that the algorithm is a mainstream method for researching the code rate selection algorithm at present.
(1) Rate-based code rate selection algorithm
The Rate-Based Rate selection algorithm is the earliest algorithm, strictly depends on the estimated network throughput, and considers that when the network throughput is higher, the speed of downloading video blocks is increased, at the moment, the blocks downloading high-Rate videos are not easy to block and can provide high-quality viewing experience for users, so that high-Rate videos are selected for downloading, and otherwise, low-Rate videos are selected for downloading.
In the prior art, a harmonic mean method is adopted to predict throughput, the harmonic mean value of the throughput when the past 5 video blocks are downloaded is used as the predicted throughput, the interaction problem of a plurality of adaptive streaming media players in network competition is considered, and three goals which need to be realized by an algorithm are provided: 1) fairness, that is, when multiple competitors share a bottleneck link, each competitor should obtain fair allocation of network resources; 2) high efficiency, i.e. a single competitor has to select the highest selectable bitrate to maximize the user experience quality; 3) stability, i.e. unnecessary rate switching should be avoided, as this also affects the user experience. Experiments prove that compared with the past results, the fairness of the algorithm is improved by 40%, the stability is improved by 50%, and the performance is improved by 10%.
In the prior art, aiming at the problem of inaccurate throughput prediction, a high-accuracy throughput predictor is designed, and the principle is that a rule is obtained by analyzing network data of a large amount of video services, namely video sessions with similar 'characteristics' usually have the same throughput variation mode. The features include aspects such as the video provider, the network provider, the place of origination of the video request, the point in time at which the video request originated, and the like. When the characteristics of two video sessions are very similar, the network throughput change patterns when the two video sessions occur are also considered to be similar, for example, two classmates watch a video segment on a trembled sound at the same time in the campus network at six o' clock in the evening, and then the throughputs when the two classmates watch the video can be considered to be similar. Similarly, for the current video session, a video session with similar characteristics in the past is found according to the characteristics, and then the throughput change mode of the current video session is predicted according to the throughput change mode of the past video session. Experiments prove that the accuracy of the throughput predictor is improved by 40-50% relative to the past results.
(2) Code rate selection algorithm based on buffer content
The bit rate selection algorithm Based on Buffer-Based content mainly depends on the content which is already buffered in the current Buffer of the client, if the content is more, the playable time is longer, and at the moment, the algorithm can select the time which is more spent to download the video with high bit rate to provide better experience quality for the user. Otherwise, downloading the content of the video with low bit rate to quickly fill the buffer area. The key point of the Buffer-Based method is to keep an appropriate amount of content so that neither a stuck event occurs but a higher quality video is provided.
A typical Buffer-Based method is designed in the prior art, an algorithm always controls the content of a Buffer area to be about 5s to select a code rate, two key parameters, namely reservoir and cushion, are defined, the lowest code rate is selected when the content is lower than the reservoir, the highest code rate is selected when the content is higher than the reservoir and the cushion, and the middle code rate is selected according to a certain strategy under other conditions.
A more excellent Buffer-Based method is designed in the prior art, the performance of obtaining fluency and high code rate simultaneously in practice is achieved by the method Based on the content of a Buffer area, the code rate selection problem is constructed into a utility maximization problem by modeling by using factors such as average code rate, video smoothness and the like, and the algorithm is optimized by applying a Lyapunov theory. In the experimental part, a prior art constructs a theoretically optimal algorithm by using a dynamic programming method, and the algorithm ensures that the theoretical maximum benefit can be obtained, and the method is compared with the algorithm. The experimental results show that in all test sets, the method can achieve 84% -95% of effects under the optimal condition.
(3) Quality-based code rate selection algorithm
Quality-Based rate selection algorithms do not consider only certain factors, such as pursuing only high rates or avoiding video stutter. The algorithm comprehensively considers a plurality of factors and then selects the code rate which can obtain the highest user experience quality.
One prior art proposes a set of control theory models, in which a video playing process is modeled, and a set of QoE standards is set, which totally includes 4 parts: 1) average video playing code rate; 2) averaging the video code rate switching times; 3) buffer time, i.e., video pause time; 4) a time delay is initiated. The average video playing code rate generates positive income, the higher the code rate is, the better the code rate is, the negative income is generated by the average video code rate switching times, the smaller the times are, the better the negative income is generated by the buffering time, the smaller the time is, the better the starting time delay is, the first time the starting time delay is generated is, and the shorter the time delay is, the better the time delay is. According to the set of QoE evaluation standard, two factors of the content amount of the buffer area and the predicted network throughput are comprehensively considered, and the code rate of the highest QoE which can be generated in a future period is selected.
In a prior art, for further optimization of the above algorithm, another algorithm is proposed, and the QoE criteria set by the algorithm include: 1) the code rate is high, and the higher the code rate is, the higher the profit is; 2) low buffering, the less the chucking time, the better; 3) low oscillation, the less code rate switching, the better; 4) high sensitivity, fast response to network events, such as a sudden drop in network throughput to a very low level; 5) high responsiveness, fast response to user events, such as a user suddenly clicking on a new video or dragging a progress bar in an original video; 6) the method has low time delay and has good performance under the requirement of low time delay in a live broadcast environment.
(4) Learning-based code rate selection algorithm
The code rate selection algorithm Based on Learning (Learning-Based) applies machine Learning related technology to make code rate selection more intelligent, and is the mainstream method for researching the code rate selection algorithm at present.
A code rate selection algorithm 'pensieve' based on reinforcement learning is provided in the prior art, and the problem that some algorithms establish a fixed rule based on a simple and inaccurate environment model and cannot cope with different network conditions and QoE targets is solved. Therefore, the algorithm adopts the reinforcement learning technology to train an intelligent model for code rate selection. The model does not select the code rate according to a fixed rule, but makes the best choice according to the actual perceived environmental state. The algorithm is relatively superior to other algorithms under any network condition, and the average QoE is improved by 12-25%.
A new algorithm is provided for the problem of code rate selection in the live broadcast environment in the prior art. In the algorithm, the high-bit-rate video is not equal to the high-quality video, for example, most of the video content is black when the video picture is dark, the bit rate of the video is relatively not important to the user, and the network bandwidth can be saved by downloading the low-bit-rate video. In the algorithm, a deep reinforcement learning model is established to select the code rate according to the perceived video quality and the network state.
The merits of each of the existing code rate selection algorithms are shown in the following table.
Figure BDA0002695254600000111
For the Rate-Based method, the method only depends on the predicted network throughput, and when the network throughput is higher, the algorithm tends to select a high code Rate, and otherwise, a low code Rate is selected. The algorithm is the earliest code rate selection algorithm, has obvious advantages and disadvantages, and has the advantages that the algorithm is simpler to implement because only a single parameter is relied on, and the selection rule is relatively simple and mainly related to the size of the parameter. The method has the disadvantages that the network throughput is difficult to predict, the difficulty in designing a throughput predictor with high accuracy is high, and the algorithm is difficult to adapt to a variable environment due to the fact that the actual network environment is complex and variable.
For the Buffer-Based method, the method mainly depends on the content amount of the Buffer of the current client, and the higher the content amount is, the more the high bit rate is selected, otherwise, the low bit rate is selected. The algorithm has the advantages that the dependent parameters are easy to obtain, the obtained values can be guaranteed to be absolutely accurate, the algorithm is simple to implement, and the algorithm can achieve good performance by theoretically proving that the amount of the dependent contents can be selected. The disadvantages are that the amount of content in the buffer is not enough to select the most suitable code rate, and the adaptability of the algorithm is relatively poor.
For the Quality-Based method, the method mostly considers the network throughput and the content of the buffer area at the same time, and selects the code rate capable of obtaining the maximum QoE. The algorithm has the advantages that the considered factors are relatively comprehensive, the selection is made to consider the whole index rather than the index, and the actual performance is very excellent. The disadvantage is that it still relies on the accuracy of the network throughput prediction, which can perform poorly when the prediction deviates.
For the Learning-Based method, the method uses machine Learning related techniques to make the model intelligent Based on the current environment. The advantage of this type of approach is that the factors considered are very comprehensive and is very adaptive since the feedback is made based on real-time environmental conditions rather than fixed rules. The method has the disadvantages that the algorithm implementation process is very complicated, and the challenge of training excellent models is very large.
By comprehensively considering the advantages and disadvantages of each method, the embodiments of the invention can adopt the reinforcement Learning technology to construct a Learning-Based code rate selection algorithm.
Secondly, when analyzing the video playing and code rate selection process in the on-demand scene in the prior art, in the on-demand scene, the video is usually cached in the CDN server in advance, most of the video frame rates after video encoding will remain the same, at this time, the I frames remain aligned, and the gops (group of picture) are equal in length. For convenience of description, the selectable code rates of the embodiments of the present invention can be fixed to 4 kinds without special description, and from low to high, they are: 500kbps, 850kbps, 1200kbps, 1850 kbps; this is not intended as a limitation on the scheme.
Fig. 1 is a schematic diagram Of a GOP (Group Of Picture, key frame interval) division condition in an on-demand scene according to an embodiment Of the present invention, as shown in fig. 1, where a time axis indicates a video playing time corresponding to a video block, for example, a video block corresponding to time t in the figure, and a playing content corresponding to time t in the entire video content. Since the total playing time of the videos with different code rates is the same, the total length of the time axis in the corresponding graph of the video blocks is also the same. It can be seen that in the bit rate decision process, the state information of the video, such as the current bit rate, the content amount of the buffer, the predicted network throughput, the current delay, and the like, is read first. And then, the read information is used as input to be transmitted to an ABR algorithm for code rate decision, and the ABR algorithm decides the next switching code rate. And then, continuously playing the video until the I frame with the code rate switched is reached, carrying out code rate switching at the moment, and downloading and playing the video block with the corresponding code rate.
Under the condition that GOPs are equal in length, I frames in videos with different code rates are aligned on a time axis scale, which means that the picture content corresponding to each I frame is the same. Rate switching can only be performed at the I frame of the switched rate (the I frame contains all picture information, and the P frame and the B frame contain difference information between different frames), for example, the video with the rate of 500kbps is switched to the video with the rate of 850kbps, and the actual switching position is the I frame of the video with the rate of 850 kbps. Therefore, the code rate selection in the on-demand scenario can be switched to any other code rate at the same time (before the I frame). However, not all videos can be switched to any bitrate at once.
Fig. 2 is a schematic diagram of GOP division in a live broadcast scenario according to an embodiment of the present invention, and as shown in fig. 2, the schematic diagram of GOP division in an on-demand scenario is compared, where the same points include:
1) the total playing time of the videos with different code rates in the live broadcast scene still keeps the same, namely the total length of the 4 code rate videos keeps equal length on the scale of the time axis.
2) Similarly, the video content corresponding to the video frames corresponding to the same time scale axis is the same, for example, the video content corresponding to the video frame corresponding to the time t in the figure is the t-th second of the whole video.
Meanwhile, the difference between the two scenes is also huge, and the difference mainly comprises:
1) the video GOPs in live scenes are unequal. For video blocks of the same code rate, such as 1850kbps in the figure, the length between different GOPs may be different; the corresponding GOP lengths may also be different for different rate video blocks, e.g., 1850kbps and 500 kbps.
2) The I frames of the videos with different code rates are not aligned. Different from the on-demand scene, the video pictures corresponding to the I frames with different code rates are different, so that the code rate can not be selected and then immediately switched like the code rate selection process in the on-demand scene. In summary, in some scenarios, for example, a live stream with a low latency requirement, there is a situation where video frame rates are different, which directly causes the phenomenon that I frames are not aligned between different bitrate versions of the same video. When the code rate selection algorithm based on the rules is used, the I frames are not aligned and cannot cause any influence, and under the scene of using the reinforcement learning training code rate selection algorithm model, the I frames are not aligned and can bring about very serious problems, the training effect is directly poor, and the model effect is even not better than that of the common code rate selection algorithm.
Therefore, the main inventive concept of each embodiment of the invention is as follows: by presetting the code rate decision time, switching is carried out at the corresponding code rate switching frame after the code rate decision is carried out, instead of adopting the I frame corresponding to the current code rate to carry out the decision in the prior art, the defect that the state of the real-time network is not matched after the code rate switching is caused by waiting for the I frame corresponding to the target code rate in the prior art is avoided.
Fig. 3 is a schematic flow chart of a video playing method according to an embodiment of the present invention, as shown in fig. 3, the method includes the following steps:
step 300, when the current video file is played to a preset code rate decision moment, acquiring the current state information of the current video file;
specifically, a code rate decision time can be preset, and a code rate decision is performed at the code rate decision time; it is understood that the present embodiment proposes a State Point (SP); decision Point (DP); rate Switching Point (SWP), and the like. The state point SP refers to a time point when the video state information is acquired, that is, the adaptive code rate ABR algorithm can make a decision according to the video state information at the state point.
The decision point DP is the time point at which a code rate decision is made, i.e. the next code rate to be switched can be selected at the decision point. In this embodiment, a decision Point may be preset in advance, and the decision Point may be flexibly set according to characteristics such as the length of a video file or the arrangement condition of an I frame, and after a decision is made at a decision Point DP, a code rate Switching may be performed at a Switching Point (SWP), so that the target code rate is adapted to a real-time network state, a current cache, and the like after being switched.
The code rate switching point SWP refers to a time point when the code rate is actually switched, and after a decision is made, the code rate switching point is at the position of the I frame of the switched code rate because the code rate is switched only at the position of the I frame of the switched code rate.
Step 310, based on the current state information, making a code rate decision according to an adaptive code rate ABR algorithm model;
specifically, after the current state information of the current video file is obtained, the adaptive code rate ABR algorithm model can be input based on the current state information, and a code rate decision is output, wherein a target decision obtained by the code rate decision is an optimal target code rate selected by the ABR algorithm according to the current state information, so that the user experience of the user when playing the video is optimal.
Step 320, based on the code rate decision, when the current video file is played to a code rate switching frame corresponding to the code rate decision, performing code rate switching and then continuing to play the current video file;
specifically, after the code rate decision is made and the optimal target code rate is obtained, when the current video file is played to a code rate switching frame corresponding to the target code rate, namely the latest I frame corresponding to the target code rate, code rate switching can be performed, and the current video file is continuously played at the target code rate;
specifically, in a live scene, a video is not cached well in advance, but a picture is shot in real time and then uploaded to a server, and then the picture is uploaded to a client through the server. Compared with the video transmission process in the on-demand scene, the video transmission process in the live scene has the process of taking more pictures and uploading the pictures to a server, wherein the pictures need to be uploaded to each CDN node from the server. That is, during transmission, after being shot, the video is encoded into the bit rates of different videos, and then the large amount of video data is transmitted, which obviously consumes much time. Due to strong interactivity with users in some scenes, such as live competition in sports events, live competition in spring and evening, red envelope grabbing in spring and evening, and the like, extremely low time delay is often needed, which is a great difference between live scenes and on-demand scenes in demand. In order to shorten the delay in the live scene, the transmission delay can be reduced, that is, the transmission speed can be increased by improving the protocol (such as TCP). Therefore, in this embodiment, in order to shorten the time delay, the basic unit of video playing may be changed from the block level to the frame level.
The current state information comprises current buffer area content information, current network throughput information and current values of video quality influence factors; the video quality influence factors comprise playing code rate, video buffering, code rate switching and video time delay.
Specifically, for the specific low delay requirement under the live stream, based on the design idea of the user experience quality model in the prior art, the delay can also be used as an important factor for evaluating the user experience quality, and a buffering threshold mechanism, a profit limitation mechanism, a frame skipping penalty mechanism and the like are additionally added, that is, the code rate decision is jointly influenced by simultaneously considering the current buffering condition, the current network throughput and other conditions and video quality influence factors such as the playing code rate, video buffering, code rate switching, video delay and other information during the code rate decision, and a more comprehensive code rate decision method is realized.
According to the video playing method provided by the embodiment of the invention, the content information of the buffer area, the network throughput information, the playing code rate, the video buffering, the code rate switching and the current value of the video time delay of the current video file are obtained through presetting the code rate decision time, and the code rate decision is carried out; then when the current video file is played to a code rate switching frame corresponding to the code rate decision, carrying out code rate switching and then continuing to play the current video file; the method can realize the preset decision time and carry out code rate self-adaptive switching according to the network information at the decision time; the method and the device avoid the defect that the code rate after switching is not suitable for the real-time network condition caused by too far separation of the code rate decision time and the switching time when the code rate switching frames corresponding to different code rates are not aligned in the prior art.
Optionally, on the basis of the foregoing embodiment, the code rate decision time is a time between every two preset interval durations in the playing duration of the current video file.
Specifically, in order to make the decision point closer to the actual rate switching point and ensure that the network fluctuation can be quickly switched to other rates, the embodiment may set that the decision is made at regular intervals, which is short enough, and the decision needs to be made multiple times in one GOP, for example, the preset interval may be set to 0.5 s.
Fig. 4 is a schematic flow chart of a code rate decision method according to an embodiment of the present invention, as shown in fig. 4, T1,T2,…,T7A decision point is indicated, representing that the ABR algorithm can be invoked to make one rate selection at this time. The interval between any two adjacent decision points can be set to 0.5s, so that the code rate decision can be ensured to be made every 0.5 s. Video initial download 850kbps code rate, at T1The time of day makes a selection to continue downloading 850 kbps. During the A-B time period, the video is continuously played for 850kbps, if a certain time period (such as T)2-T3) Network fluctuation occurs, and the video can be rapidly positioned at T3Sensing network state information at any moment and making corresponding code rate selectionAnd then successfully switches to the low code rate at time B. Similarly, in the C-D period, the video may be switched to a high bitrate quickly to provide the user with higher video quality, perhaps due to good network conditions and sufficient content in the buffer.
It should be noted that there may be some decision points that are invalid, such as T2The decision of the moment will be T3The decision of the moment is covered. Decision invalidation in this embodiment occurs only in special cases, and invalidation of some decision points is just to ensure that decisions of other more suitable decision points take effect. E.g. T2The decision is invalid because there is T3Decision exists, and T3The time is relatively closer to the code rate switching, so that more accurate code rate selection is easier to be made.
Optionally, on the basis of the foregoing embodiment, when the current video file is played to a bitrate switching frame corresponding to the bitrate decision based on the bitrate decision, performing bitrate switching and then continuing to play the current video file specifically includes:
determining a target code rate based on the code rate decision;
determining a code rate switching frame corresponding to a target code rate based on the target code rate;
and when the current video file is determined to be played to the code rate switching frame corresponding to the target code rate, the current code rate is switched to the target code rate and then the current code rate is continuously played.
Specifically, the code rate switching positions corresponding to different code rates, i.e., I frames, are not aligned, so that after a code rate decision is made at a code rate decision point, a target code rate can be determined, then a code rate switching frame to be switched can be determined according to the target code rate, and when the current video file is played to the code rate switching frame corresponding to the target code rate, the current code rate can be switched to the target code rate and then the video file is played continuously.
Optionally, on the basis of the foregoing embodiment, the making a code rate decision according to an adaptive code rate ABR algorithm model based on the current state information specifically includes:
according to the QoE algorithm, based on the value of each video quality influence factor in the current time slot played at the current code rate, calculating to obtain the QoE generated by playing the current video file in the current time slot;
updating the ABR algorithm model based on the QoE at the moment when the current video file is played to a preset code rate decision moment;
and performing code rate decision based on the current state information according to the updated ABR algorithm.
Specifically, the quality of experience QoE algorithm in this embodiment is oriented to a low-latency live broadcast scenario, and involves four factors, which are video playing bit rate, video buffering time, video bit rate switching frequency, and video playing latency. The specific design concept is as follows: the video playing code rate provides forward benefits, and the higher the playing code rate is, the higher the benefits are.
The video buffering time provides negative income, the longer the buffering time is, the higher the punishment is, and with buffering threshold value mechanism, when once buffering time surpassed and set for the threshold value, then think that the user has more can abandon to watch the video, punishment value can be higher this moment. For example, the buffering time threshold is set to 4s, and the penalty of buffering the video 4s at a time is higher than the penalty of buffering 1s at 4 times.
In this embodiment, the video bitrate switching provides two different gains, the low bitrate provides a positive gain to the high bitrate switching, the high bitrate provides a negative gain to the low bitrate switching, and a gain limiting mechanism is attached, that is, the more the low bitrate is switched to the higher bitrate, the higher the gain is. It can be considered that the code rate has 4 levels (1,2,3,4), and the larger the number represents the higher the code rate, the more benefit from switching from the code rate of level 1 to the code rate of level 2 should be greater than the benefit from switching from the code rate of level 3 to the code rate of level 4. This is because the gain from changing video from unclear to clear should be greater than the gain from changing video from clear to very clear.
In this embodiment, negative gains are provided by video playing time delay, and the larger the time delay between the server and the client is, the higher the penalty is. The time delay refers to the time difference between the video pictures when the video pictures are shot until a user sees the video pictures, and a frame skipping punishment mechanism is attached, when the time delay reaches a certain threshold, the strong interactivity in the live broadcast scene can be seriously damaged, in this case, the video playing pictures can directly skip to the vicinity of the latest pictures, which represents that the gains brought by a plurality of frame playing code rates can be directly lacked when the integral QoE is calculated, so that the low time delay is an important factor for obtaining high QoE in the live broadcast environment.
Based on the above four design ideas, the QoE model can be defined as:
Figure BDA0002695254600000181
where N represents the total number of frames of the video, QnCode rate, T, representing the playing of the nth frame of videonThe playing time of the nth frame of video is indicated because the playing time of each frame may be different due to the different frame lengths. RnAnd R represents a threshold value in a buffer threshold value mechanism, and if the buffer time exceeds the threshold value, a larger penalty is obtained. Ln represents the time delay when the nth frame of video is downloaded, L represents a threshold value in a frame skipping mechanism, and if the time delay exceeds the threshold value, a frame skipping event occurs, so that a greater penalty is generated. f. ofR() Representing the video buffer penalty value calculated from the buffer threshold mechanism. f. ofS() Representing the code rate switching penalty value calculated according to the yield limiting mechanism. f. ofL() Representing the delay penalty value calculated from the frame hopping mechanism. p is a radical ofQ,pR,pS,pLRespectively, the gain factor for the corresponding parameter.
That is, the quality of experience QoE generated by playing the current video file in the current time period may be calculated and obtained based on the value of each video quality influence factor in the QoE model in the current time period in which the video file is played at the current bitrate according to the quality of experience QoE algorithm.
Specifically, the embodiment of the present invention further provides a Learning Point (LP); the concept of Training Mode (TM), wherein the learning point LP is a concept specific to the case of using the reinforcement learning method, and generally represents a time point when the algorithm model learns the reward of the previous action. The training mode TM refers to training logic under different scenes and is uniquely determined by a quadruple consisting of a state point, a decision point, a code rate switching point and a learning point. The quadruples are different, and the corresponding training patterns are also different.
Fig. 5 is a schematic diagram of an ABR algorithm updating method according to an embodiment of the present invention, as shown in fig. 5, first, when a video starts to be played, each state information of the video may be initialized, for example, the content amount of a buffer area is set to be empty. The first selected code rate can then be initialized, since the first code rate is not dependent on the ABR algorithm, as determined by the user according to the scene selection. At this time, the analog video playing process can be started through the state information of the video and the selected code rate, in the process, each state information in the video changes, for example, the content amount of the buffer area increases or the video has a buffering event, and a new set of video state information is obtained at this time. And finally, the information can be used as input to an ABR algorithm, the corresponding code rate is selected, and then the video playing process is continuously simulated according to the new state information and the new code rate, and the process is circulated until the video playing is finished. The training process may additionally add calculation of reward value, wherein QoE may be calculated by status information of video, and in the basic training model, QoE value is usually directly used as reward value in reinforcement learning. And the reward value is learned through a deep neural network, and then the ABR algorithm is updated.
Namely, after the QoE is obtained, the ABR algorithm model can be updated based on the quality of experience QoE when the current video file is played to the preset code rate decision moment; and performing code rate decision based on the current state information according to the updated ABR algorithm.
Optionally, on the basis of the foregoing embodiment, the updating the ABR algorithm model based on the quality of experience QoE specifically includes:
acquiring historical state information of a video file at a code rate decision moment corresponding to a current code rate;
performing reinforcement learning based on the QoE and the historical state information, and updating the ABR algorithm model;
and the code rate decision time corresponding to the current code rate is the code rate decision time of the last effective code rate decision.
In particular, the reinforcement learning task may be described using a Markov Decision Process (MPD); since the real environment is very complex, the probability of transition from one state to the next state is not only related to the current state, but also related to many previous states, which results in the environment transition model being too complex to model, so the embodiment can simplify the interaction process of the agent and the environment into a markov process, that is, the probability of transition to the next state S { t +1} is assumed to be related to the last state St only and not to the previous state St; the Agent of the Agent is in Environment, the state space is S, each state S (S belongs to S) is the description of the Environment sensed by the Agent, the action which can be taken by the Agent forms an action space A, if a certain action a (a belongs to A) acts on the current state S, the state transfer function P enables the Environment to be transferred from the current state S to another state S' according to a certain probability P, and the Agent obtains the instant reward of R from the Environment.
It is understood that, in this embodiment, the quality of experience QoE may be transmitted to the neural network as an immediate rewarded reward for updating the ABR algorithm in reinforcement learning.
Specifically, in the training process, if the current video file is not played to the preset bit rate decision time, the video can be played as usual and the corresponding video state information and QoE generated during playing can be calculated. If the current video file is played to the preset code rate decision time, the video state information calculated at the previous time can be used as input and transmitted to an ABR algorithm, the ABR algorithm selects a proper code rate according to the state information, then the accumulated QoE generated in the previous video block is used as reward and transmitted to a neural network, the neural network updates an algorithm model according to the reward value, and then the corresponding video block can be downloaded according to the decided code rate and played.
The video state information calculated at the previous moment is the video state information corresponding to the code rate decision moment of the last effective code rate decision.
It can be understood that the present embodiment provides a fixed-point memory strategy, which can memorize the state information of a specific location and then use the memorized state information as a training strategy for decision learning. In the fixed point memory strategy mode, the position of the decision point is preset (for example, one decision point appears every 0.5 s), but the positions of the state point, the code rate switching point and the learning point are not determined yet.
FIG. 6 is a schematic diagram of a learning method under a fixed point memory strategy mode according to an embodiment of the present invention, as shown in FIG. 6, T1The decision of the moment is valid, so T1The decision point of the moment is a special decision point, and the used state information is SpStateInfo. When the video continues to play until it switches to 500kbps, T can not be fully calculated1QoE generated by decision of time of day, then using T1And the state information at the moment and the QoE generated by decision are learned, so that accurate learning can be achieved. Since the switch to 500kbps is due to T2The decision of the moment is effective, so T2The state information of the moment can be used as SpStateInfo for next learning, and the rest is done until the training is finished, each actually effective decision point can be learned, and only the effective decision point can be learned.
Optionally, on the basis of the foregoing embodiment, the method further includes:
and for each type of video quality influence factor, updating the QoE algorithm according to a preset updating strategy based on the corresponding QoE at each moment.
Specifically, the principle of the dynamic rewarding method is as follows: the calculation mode of the reward function is dynamically adjusted in the training process according to a certain rule, so that the training convergence is quicker, the training result is more accurate, and a more excellent training model is obtained. According to the basic theory of reinforcement learning, the model changes to a more optimal direction according to the setting mode of the reward function in the training process, namely, the reward value with a positive high value is obtained as far as possible. However, as the reward function varies, the direction of model training will also vary. Since the quality of experience QoE algorithm is used as a calculation method of the reward function in this embodiment, the quality of experience QoE algorithm may be updated by history of QoE of each type of video quality influencing factor in this embodiment.
In the reinforcement learning training process, if the calculated reward value is negative, the next selection deviates from the previous selection to a certain extent, and otherwise, if the calculated reward value is positive, the next selection is close to the previous selection. If a large delay is generated when Qn is selected for a certain code rate, and the result obtained by calculating the reward value by the QoE algorithm is negative, the neural network can learn the feedback, and avoid causing high delay in the subsequent decision as much as possible. If no time delay related parameter exists in the QoE algorithm, namely the neural network does not learn the influence caused by the time delay, the finally trained model is insensitive to the time delay. In a live broadcast scene, time delay is very critical, and in the existing reinforcement learning, a trained model is not sensitive to time delay completely.
Therefore, in order for a QoE model to become sensitive to a certain video quality influencing factor, the influencing factor may be added to the QoE algorithm, and to adjust the sensitivity of the QoE algorithm to a certain influencing factor, a coefficient of the influencing factor may be adjusted in the QoE algorithm.
Fig. 7 is a schematic flow chart illustrating an implementation process of a dynamic rewarding method according to an embodiment of the present invention, and as shown in fig. 7, the implementation process of the dynamic rewarding method includes:
1) because the QoE is acquired by frames in the training process, the QoE value Pen generated when each frame is played under the influence of each video quality (playing code rate, video buffering, code rate switching and video time delay) can be acquired firstlyp
2) Calculating the total penalty value S (P) of each factor in the past K framesp,K);
3) Judging the size S (P) of the total punishment valuepK) whether the penalty threshold Thre is exceededpenIf not, the next operation is not carried out;
4) calculating the penalty ratio R of each factorp
5) Judging punishment ratio RpWhether the ratio threshold is exceeded
Figure BDA0002695254600000221
If the value exceeds the preset value, the updating strategy U (p) is adoptedp) And updating the penalty coefficient, and if the penalty coefficient is not exceeded, not performing operation.
In this embodiment, for p types of penalties, the total penalty value calculation method is:
Figure BDA0002695254600000222
wherein, S (P)pK) represents the total penalty value that p classes produce over the past K frames. When the penalty value is too large, the corresponding penalty coefficient is changed, the standard criterion for judging whether the penalty value is too large is determined according to the proportion of the current class penalty value in the total penalty value, and the calculation mode of the total penalty values T (K) of all the classes is as follows:
Figure BDA0002695254600000231
penalty ratio R for penalty of p kindspThe calculation method is as follows:
Figure BDA0002695254600000232
when updating specific parameters of each video quality influence factor in the QoE model, the variation constant C can be setpWhen the penalty coefficient needs to be updated, the change constant of the corresponding proportion can be added according to the size of the penalty proportion. In this embodiment, the coefficient adjustment may be performed after the penalty ratio is greater than a threshold, and this threshold may be referred to as a ratio threshold
Figure BDA0002695254600000233
Therefore, for the penalty factor p in the QoE modelR,pS,pLIn other words, p is definedp∈(pR,pS,pL) The update strategy is:
Figure BDA0002695254600000234
optionally, on the basis of the foregoing embodiment, the method further includes:
after determining that the video buffering exceeds a preset fast playing threshold value based on the content information of the current buffer area, adjusting the playing speed of the current video file to be a preset fast playing multiple of the current playing speed;
and after the video buffer is determined to be lower than a preset slow play threshold value based on the content information of the current buffer area, adjusting the play speed of the current video file to be a preset slow play multiple of the current play speed.
Specifically, in order to effectively control the time delay at a lower level, a fast and slow play mechanism may be introduced in the embodiment of the present invention, and fig. 8 is a schematic diagram of a playing method of the fast and slow play mechanism provided in the embodiment of the present invention, as shown in fig. 8, the fast play may control the time delay to a certain extent, so as to prevent the time delay from being too large. For example, if it is determined that the video buffer exceeds the preset fast play threshold based on the current buffer content amount information, that is, the buffer content amount reaches a certain degree, fast play may occur, for example, the play speed is adjusted to be 1.05 times or the video content set for 1s is actually played for only 0.95s, so that the content amount in the buffer may be consumed quickly. Slow-playing can prevent stuck to a certain extent, and slow-playing can occur when the video buffer is determined to be lower than a preset slow-playing threshold value based on the content information of the current buffer area, that is, when the content of the buffer area is less, for example, the video content with the playing speed adjusted to 0.95 or set to 1s is actually played for only 1.05s, so that the content in the buffer area is slowly consumed, and the purpose of preventing stuck is achieved.
According to the video playing method, the video playing device, the electronic equipment and the storage medium provided by the embodiment of the invention, the content information of the buffer area of the current video file, the network throughput information, the current values of the playing code rate, the video buffering, the code rate switching and the video delay are obtained by presetting the code rate decision time, and the code rate decision is carried out; then when the current video file is played to a code rate switching frame corresponding to the code rate decision, carrying out code rate switching and then continuing to play the current video file; the method can realize the preset decision time and carry out code rate self-adaptive switching according to the network information at the decision time; the method and the device avoid the defect that the code rate after switching is not suitable for the real-time network condition caused by too far separation of the code rate decision time and the switching time when the code rate switching frames corresponding to different code rates are not aligned in the prior art.
In the following, the video playing apparatus provided in the embodiment of the present invention is described, and the video playing apparatus described below and the video playing method described above may be referred to correspondingly.
Fig. 9 is a schematic structural diagram of a video playing apparatus according to an embodiment of the present invention, as shown in fig. 9, the apparatus includes: an obtaining module 910, a decision module 920 and a playing module 930. Wherein:
the obtaining module 910 is configured to obtain current state information of a current video file when the current video file is played to a preset code rate decision time; the decision module 920 is configured to perform a code rate decision according to an adaptive code rate ABR algorithm model based on the current state information; the playing module 930 is configured to, based on the code rate decision, perform code rate switching and then continue to play the current video file when the current video file is played to a code rate switching frame corresponding to the code rate decision.
Specifically, the video playing apparatus obtains the current state information of the current video file by the obtaining module 910 when the current video file is played to the preset code rate decision time; then, based on the current state information, a decision module 920 makes a code rate decision according to an adaptive code rate ABR algorithm model; finally, based on the code rate decision, when the current video file is played to a code rate switching frame corresponding to the code rate decision, the playing module 930 performs code rate switching and then continues to play the current video file.
The video playing device provided by the embodiment of the invention acquires the buffer area content information, the network throughput information, the playing code rate, the video buffering, the code rate switching and the current value of the video time delay of the current video file through presetting the code rate decision time, and performs the code rate decision; then when the current video file is played to a code rate switching frame corresponding to the code rate decision, carrying out code rate switching and then continuing to play the current video file; the method can realize the preset decision time and carry out code rate self-adaptive switching according to the network information at the decision time; the method and the device avoid the defect that the code rate after switching is not suitable for the real-time network condition caused by too far separation of the code rate decision time and the switching time when the code rate switching frames corresponding to different code rates are not aligned in the prior art.
The embodiment of the invention also constructs a video simulator which takes the video frame as a basic scheduling unit. Fig. 10 is a schematic structural diagram of a video playing simulator according to an embodiment of the present invention, as shown in fig. 10, the simulator is driven by data, loads pre-prepared video data and network data, and is designed completely according to the rule of normal video playing. The ABR algorithm module is separated from the video simulator, when the ABR algorithm is called, the video simulator transmits all current state information serving as input parameters to the ABR algorithm module, then the ABR algorithm module returns the corresponding code rate, the video simulator continues downloading and playing the corresponding code rate, and the process is repeated until the video playing is finished. The video simulator comprises 4 modules in total, namely a data loading module, a parameter setting module, a video playing module and a QoE calculating module, and the module division is specifically shown in FIG. 4. The following describes the 4 modules, respectively.
(1) Data loading module and parameter setting module
The data loading module is used for reading external data, namely video data and network data. The whole simulator is driven by two data files, wherein the video data is used for simulating the attribute of the played video, and the network data is used for simulating the network throughput change condition in the video playing process.
The video data includes: 1) when each video frame reaches the CDN, the frame can be downloaded by the client only after the video frame is transmitted to the CDN from the server; 2) the size of each video frame describes the data volume of each video frame, and the bit is a unit; 3) the frame rate of each video frame determines the actual playing time. The network data includes: 1) a timestamp identifying a current time; 2) the network throughput represents an average network throughput at a corresponding time.
The parameter setting module is used for initializing a series of optional parameters, and comprises the following steps: 1) the selectable code rates correspond to different code rate selection algorithms, the number of the selectable code rates considered in the design is different from the actual value, and different code rates can be set according to different scenes; 2) and the initial code rate can be set when the video is played because the algorithm has no state information when running at the beginning and the ABR algorithm cannot output the code rate. Setting the initial code rate to be the lowest level in some scenes to quickly fill a buffer area so as to enable the video to start playing, and setting the initial code rate to be a higher level in some scenes when the high-quality video needs to be kept; 3) and the QoE model is set as an optional parameter to facilitate training models in other scenes by considering different scenes and different QoE calculation modes selected during training. 4) Other parameters. The module also comprises other necessary parameters, such as the number of characteristic parameters in reinforcement learning and the size of the action space, which need to be selected according to the actual situation.
(2) Video playing module
The video playing module is used for simulating the actual playing of the video, and the change process of each internal state information is carried out in the video playing module.
Fig. 11 is a flowchart illustrating a video playing method according to an embodiment of the present invention, wherein for a video frame, the downloading and playing process is as shown in fig. 11; in this flow, each piece of key state information is:
(1) whether a video frame arrives. In a live environment, the client can download the video frames only after the video frames uploaded from the server successfully reach the CDN, and this variable may be used to describe whether the video frames may be downloaded.
(2) Video download time. For each video frame, the data size of the video frame is determined according to the information in the video file, the average network throughput at the current moment is determined according to the current time and the network data file, and then the video downloading time is calculated according to the data volume and the average network throughput.
(3) And video playing time. For each video frame, the accumulated playing time for complete playing depends on the video frame rate. However, due to the existence of the fast and slow play mechanism, the actual play time needs to be calculated according to the fast and slow play mechanism.
(4) Video buffering time. The video buffering time can be determined according to the calculated video downloading time and the size of the content amount of the previous buffering area, if the video downloading time is smaller than the buffering content amount, the buffering time is 0, otherwise, the video buffering time is a difference value of the video downloading time and the buffering content amount.
(5) Buffer content amount. And determining the content amount of the current buffer area according to the video downloading time and the content amount of the previous buffer area. If the buffer content is empty, the video is stuck. There are many situations in how the amount of buffer content is updated, since it is likely that the video frames have not yet reached the CDN. Fig. 12 is a flowchart illustrating a method for updating the content amount in the buffer according to an embodiment of the present invention, and as shown in fig. 12, no matter whether a new frame arrives at the CDN, the video is always in a playing state, so that the size of the content amount in the buffer is changed at any time. When the content size of the buffer area is 0, a pause event occurs, the video stops playing, and the time for stopping playing is called buffer time.
If a frame exists in the CDN, the delegate can download new content into the buffer. If no frame exists in the CDN, the buffer cannot be filled with new content, and there is a difference between the two cases in the buffer content amount update methods. In addition, the manner of determining whether a stuck event occurs and calculating the corresponding buffering time may be different according to different situations. If a new content needs to be downloaded, the content amount in the buffer area can be compared according to the downloading time, and if the downloading time is longer, a pause event occurs. If no new content can be downloaded, the time for the next frame to reach the CDN should be compared with the buffer content amount, and if the time for the next frame to reach the CDN is longer, this will happen, otherwise, the last logic (to download new content) is entered for determination.
(6) The current time delay. Latency refers to the time interval between the capture of a video frame by the device to the actual viewing of the frame by the user. But in this embodiment the time for the default video to upload to the server and then to the CDN is ignored. The time delay in this embodiment may be defined as a time interval between when the video reaches the CDN and when the video is actually played.
(7) The current code rate. Refers to the code rate of the downloaded video, and depends on the output of the ABR algorithm.
(8) And (5) code rate switching. Refers to the difference between the currently selected code rate and the last selection.
(9) Whether the next frame is an I-frame. Since the code rate can only be switched at the frame I, the ABR algorithm can be called when the next frame is the frame I.
(10) The current time. The time that the current simulator is running can be used to determine whether a video frame arrives and to obtain the network throughput at the corresponding time.
The parameters are calculated for a single video frame, and a complete video contains a large number of video frames, so that the state information is in a constantly changing process in the whole playing process, and the last change can influence the output of the ABR algorithm, thereby influencing the next change.
Fig. 13 is a schematic entity structure diagram of an electronic device according to an embodiment of the present invention, and as shown in fig. 13, the electronic device may include: a processor (processor)1310, a communication Interface (Communications Interface)1320, a memory (memory)1330 and a communication bus 1340, wherein the processor 1310, the communication Interface 1320 and the memory 1330 communicate with each other via the communication bus 1340. The processor 1310 may call logic instructions in the memory 1330 to perform a video playback method comprising:
acquiring current state information of a current video file when the current video file is played to a preset code rate decision moment;
based on the current state information, making a code rate decision according to an adaptive code rate ABR algorithm model;
based on the code rate decision, when the current video file is played to a code rate switching frame corresponding to the code rate decision, carrying out code rate switching and then continuing to play the current video file;
the current state information comprises current buffer area content information, current network throughput information and current values of video quality influence factors; the video quality influence factors comprise playing code rate, video buffering, code rate switching and video time delay.
In addition, the logic instructions in the memory 1330 may be implemented in software functional units and 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.
In another aspect, an embodiment of the present invention further provides a computer program product, where the computer program product includes a computer program stored on a non-transitory computer-readable storage medium, the computer program includes program instructions, and when the program instructions are executed by a computer, the computer can execute a video playing method provided by the above-mentioned method embodiments, where the method includes:
acquiring current state information of a current video file when the current video file is played to a preset code rate decision moment;
based on the current state information, making a code rate decision according to an adaptive code rate ABR algorithm model;
based on the code rate decision, when the current video file is played to a code rate switching frame corresponding to the code rate decision, carrying out code rate switching and then continuing to play the current video file;
the current state information comprises current buffer area content information, current network throughput information and current values of video quality influence factors; the video quality influence factors comprise playing code rate, video buffering, code rate switching and video time delay.
In yet another 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 is implemented by a processor to execute a video playing method provided in the foregoing embodiments, and the method includes:
acquiring current state information of a current video file when the current video file is played to a preset code rate decision moment;
based on the current state information, making a code rate decision according to an adaptive code rate ABR algorithm model;
based on the code rate decision, when the current video file is played to a code rate switching frame corresponding to the code rate decision, carrying out code rate switching and then continuing to play the current video file;
the current state information comprises current buffer area content information, current network throughput information and current values of video quality influence factors; the video quality influence factors comprise playing code rate, video buffering, code rate switching and video time delay. 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 present embodiment. 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.
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 (10)

1. A video playback method, comprising:
acquiring current state information of a current video file when the current video file is played to a preset code rate decision moment;
based on the current state information, making a code rate decision according to an adaptive code rate ABR algorithm model;
based on the code rate decision, when the current video file is played to a code rate switching frame corresponding to the code rate decision, carrying out code rate switching and then continuing to play the current video file;
the current state information comprises current buffer area content information, current network throughput information and current values of video quality influence factors; the video quality influence factors comprise playing code rate, video buffering, code rate switching and video time delay.
2. The video playing method according to claim 1, wherein the bit rate decision time is a time between every two preset interval durations in the playing duration of the current video file.
3. The video playing method according to claim 1, wherein based on the bitrate decision, when the current video file is played to a bitrate switching frame corresponding to the bitrate decision, performing bitrate switching and then continuing to play the current video file specifically includes:
determining a target code rate based on the code rate decision;
determining a code rate switching frame corresponding to a target code rate based on the target code rate;
and when the current video file is determined to be played to the code rate switching frame corresponding to the target code rate, the current code rate is switched to the target code rate and then the current code rate is continuously played.
4. The video playing method according to claim 1, wherein based on the current state information, a code rate decision is made according to an adaptive code rate ABR algorithm model, specifically comprising:
according to the QoE algorithm, based on the value of each video quality influence factor in the current time slot played at the current code rate, calculating to obtain the QoE generated by playing the current video file in the current time slot;
updating the ABR algorithm model based on the QoE at the moment when the current video file is played to a preset code rate decision moment;
and performing code rate decision based on the current state information according to the updated ABR algorithm.
5. The video playing method according to claim 4, wherein said updating the ABR algorithm model based on the quality of experience QoE specifically comprises:
acquiring historical state information of a video file at a code rate decision moment corresponding to a current code rate;
performing reinforcement learning based on the QoE and the historical state information, and updating the ABR algorithm model;
and the code rate decision time corresponding to the current code rate is the code rate decision time of the last effective code rate decision.
6. The video playback method of claim 5, wherein the method further comprises:
and for each type of video quality influence factor, updating the QoE algorithm according to a preset updating strategy based on the corresponding QoE at each moment.
7. The video playback method of claim 1, wherein the method further comprises:
after determining that the video buffering exceeds a preset fast playing threshold value based on the content information of the current buffer area, adjusting the playing speed of the current video file to be a preset fast playing multiple of the current playing speed;
and after the video buffer is determined to be lower than a preset slow play threshold value based on the content information of the current buffer area, adjusting the play speed of the current video file to be a preset slow play multiple of the current play speed.
8. A video playback apparatus, comprising:
the acquisition module is used for acquiring the current state information of the current video file when the current video file is played to a preset code rate decision moment;
the decision module is used for making code rate decision according to an adaptive code rate ABR algorithm model based on the current state information;
the playing module is used for continuing playing the current video file after code rate switching is carried out when the current video file is played to a code rate switching frame corresponding to the code rate decision based on the code rate decision;
the current state information comprises current buffer area content information, current network throughput information and current values of video quality influence factors; the video quality influence factors comprise playing code rate, video buffering, code rate switching and video time delay.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the steps of the video playback method according to any of claims 1 to 7 are implemented when the program is executed by the processor.
10. A non-transitory computer-readable storage medium, on which a computer program is stored, the computer program, when being executed by a processor, implementing the steps of the video playback method according to any one of claims 1 to 7.
CN202011003962.4A 2020-09-22 2020-09-22 Video playing method and device, electronic equipment and storage medium Pending CN112291620A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011003962.4A CN112291620A (en) 2020-09-22 2020-09-22 Video playing method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011003962.4A CN112291620A (en) 2020-09-22 2020-09-22 Video playing method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN112291620A true CN112291620A (en) 2021-01-29

Family

ID=74421952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011003962.4A Pending CN112291620A (en) 2020-09-22 2020-09-22 Video playing method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112291620A (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113905257A (en) * 2021-09-29 2022-01-07 北京字节跳动网络技术有限公司 Video code rate switching method and device, electronic equipment and storage medium
CN114007113A (en) * 2021-11-01 2022-02-01 迪爱斯信息技术股份有限公司 Video code rate self-adaptive adjusting method and device
CN114025190A (en) * 2021-11-03 2022-02-08 北京达佳互联信息技术有限公司 Multi-code rate scheduling method and multi-code rate scheduling device
CN114040257A (en) * 2021-11-26 2022-02-11 深圳大学 Self-adaptive video stream transmission playing method, device, equipment and storage medium
CN114040230A (en) * 2021-11-08 2022-02-11 北京达佳互联信息技术有限公司 Video code rate determining method and device, electronic equipment and storage medium thereof
CN114630150A (en) * 2022-02-17 2022-06-14 儒安物联科技集团有限公司 Video stream ABR algorithm adaptive to user diversity
CN114915850A (en) * 2022-04-22 2022-08-16 网易(杭州)网络有限公司 Video playing control method and device, electronic equipment and storage medium
CN114979799A (en) * 2022-05-20 2022-08-30 北京字节跳动网络技术有限公司 Panoramic video processing method, device, equipment and storage medium
CN115052190A (en) * 2022-06-08 2022-09-13 上海哔哩哔哩科技有限公司 Video playing method and device
CN115278349A (en) * 2022-07-21 2022-11-01 北京邮电大学 Method for processing dragging watching video under wireless communication environment
CN115396732A (en) * 2022-08-11 2022-11-25 深圳海翼智新科技有限公司 Audio and video data packet transmission method and device, electronic equipment and storage medium
WO2024041365A1 (en) * 2022-08-25 2024-02-29 中兴通讯股份有限公司 Video decision bit rate determination method, apparatus, storage medium and electronic apparatus

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120206610A1 (en) * 2011-02-11 2012-08-16 Beibei Wang Video quality monitoring
CN102802089A (en) * 2012-09-13 2012-11-28 浙江大学 Shifting video code rate regulation method based on experience qualitative forecast
CN103929364A (en) * 2014-05-07 2014-07-16 北京邮电大学 Method and device for controlling intelligently collaborative multi-path transmission of receiving end
CN105763896A (en) * 2016-05-12 2016-07-13 山东大学 Multi-user dynamic self-adapting video code rate allocation system
CN105933727A (en) * 2016-05-20 2016-09-07 中山大学 Video stream transcoding and distributing method applied to live game video streaming platform
CN108833996A (en) * 2018-07-03 2018-11-16 湖北大学 Service node selection, update and code rate adaptive approach in distributed DASH system
CN109729437A (en) * 2017-10-30 2019-05-07 中国电信股份有限公司 Streaming media self-adapting transmission method, terminal and system
CN109996087A (en) * 2019-03-21 2019-07-09 武汉大学 A kind of code rate adaptive approach and device towards net cast based on finite state machine
CN110087109A (en) * 2019-04-19 2019-08-02 中国科学院信息工程研究所 Video code rate adaptive approach and device
CN110248247A (en) * 2019-06-12 2019-09-17 深圳市大数据研究院 Embedded dynamic video control method for playing back and device based on network throughput

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120206610A1 (en) * 2011-02-11 2012-08-16 Beibei Wang Video quality monitoring
CN102802089A (en) * 2012-09-13 2012-11-28 浙江大学 Shifting video code rate regulation method based on experience qualitative forecast
CN103929364A (en) * 2014-05-07 2014-07-16 北京邮电大学 Method and device for controlling intelligently collaborative multi-path transmission of receiving end
CN105763896A (en) * 2016-05-12 2016-07-13 山东大学 Multi-user dynamic self-adapting video code rate allocation system
CN105933727A (en) * 2016-05-20 2016-09-07 中山大学 Video stream transcoding and distributing method applied to live game video streaming platform
CN109729437A (en) * 2017-10-30 2019-05-07 中国电信股份有限公司 Streaming media self-adapting transmission method, terminal and system
CN108833996A (en) * 2018-07-03 2018-11-16 湖北大学 Service node selection, update and code rate adaptive approach in distributed DASH system
CN109996087A (en) * 2019-03-21 2019-07-09 武汉大学 A kind of code rate adaptive approach and device towards net cast based on finite state machine
CN110087109A (en) * 2019-04-19 2019-08-02 中国科学院信息工程研究所 Video code rate adaptive approach and device
CN110248247A (en) * 2019-06-12 2019-09-17 深圳市大数据研究院 Embedded dynamic video control method for playing back and device based on network throughput

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113905257A (en) * 2021-09-29 2022-01-07 北京字节跳动网络技术有限公司 Video code rate switching method and device, electronic equipment and storage medium
CN114007113A (en) * 2021-11-01 2022-02-01 迪爱斯信息技术股份有限公司 Video code rate self-adaptive adjusting method and device
CN114007113B (en) * 2021-11-01 2023-12-01 迪爱斯信息技术股份有限公司 Video code rate self-adaptive adjusting method and device
CN114025190A (en) * 2021-11-03 2022-02-08 北京达佳互联信息技术有限公司 Multi-code rate scheduling method and multi-code rate scheduling device
CN114040230B (en) * 2021-11-08 2024-03-29 北京达佳互联信息技术有限公司 Video code rate determining method and device, electronic equipment and storage medium thereof
CN114040230A (en) * 2021-11-08 2022-02-11 北京达佳互联信息技术有限公司 Video code rate determining method and device, electronic equipment and storage medium thereof
CN114040257B (en) * 2021-11-26 2023-06-13 深圳大学 Self-adaptive video stream transmission playing method, device, equipment and storage medium
CN114040257A (en) * 2021-11-26 2022-02-11 深圳大学 Self-adaptive video stream transmission playing method, device, equipment and storage medium
CN114630150A (en) * 2022-02-17 2022-06-14 儒安物联科技集团有限公司 Video stream ABR algorithm adaptive to user diversity
CN114915850A (en) * 2022-04-22 2022-08-16 网易(杭州)网络有限公司 Video playing control method and device, electronic equipment and storage medium
CN114915850B (en) * 2022-04-22 2023-09-12 网易(杭州)网络有限公司 Video playing control method and device, electronic equipment and storage medium
CN114979799A (en) * 2022-05-20 2022-08-30 北京字节跳动网络技术有限公司 Panoramic video processing method, device, equipment and storage medium
CN115052190A (en) * 2022-06-08 2022-09-13 上海哔哩哔哩科技有限公司 Video playing method and device
CN115052190B (en) * 2022-06-08 2024-04-02 上海哔哩哔哩科技有限公司 Video playing method and device
CN115278349A (en) * 2022-07-21 2022-11-01 北京邮电大学 Method for processing dragging watching video under wireless communication environment
CN115278349B (en) * 2022-07-21 2023-05-23 北京邮电大学 Method for processing drag watching video under wireless communication environment
CN115396732A (en) * 2022-08-11 2022-11-25 深圳海翼智新科技有限公司 Audio and video data packet transmission method and device, electronic equipment and storage medium
CN115396732B (en) * 2022-08-11 2024-02-02 深圳海翼智新科技有限公司 Audio and video data packet transmission method and device, electronic equipment and storage medium
WO2024041365A1 (en) * 2022-08-25 2024-02-29 中兴通讯股份有限公司 Video decision bit rate determination method, apparatus, storage medium and electronic apparatus

Similar Documents

Publication Publication Date Title
CN112291620A (en) Video playing method and device, electronic equipment and storage medium
KR102472155B1 (en) How to Broadcast Streaming Content in a Peer to Peer (P2P) Network
CN110248247B (en) Embedded dynamic video playing control method and device based on network throughput
CN111901642B (en) Real-time video code rate self-adaptive control method and system based on reinforcement learning
Miller et al. Adaptation algorithm for adaptive streaming over HTTP
CN108833996B (en) Service node selection, update and code rate self-adaption method in distributed DASH system
US8346959B2 (en) Client-controlled adaptive streaming
CN112953922B (en) Self-adaptive streaming media control method, system, computer equipment and application
CN107135411B (en) Method for adjusting video code rate and electronic equipment
CN105263037B (en) A kind of adaptive fluidizing method based on client-cache
CN111031387B (en) Method for controlling video coding flow rate of monitoring video sending end
CN112437321B (en) Adaptive code rate calculation method based on live broadcast streaming media
CN108833995B (en) Transmission method of self-adaptive streaming media in wireless network environment
CN110708578A (en) Video code rate self-adaptive adjusting method
CN114040257A (en) Self-adaptive video stream transmission playing method, device, equipment and storage medium
CN112866756B (en) Code rate control method, device, medium and equipment for multimedia file
Xiao et al. Traffic-aware rate adaptation for improving time-varying QoE factors in mobile video streaming
WO2014066975A1 (en) Methods and systems for controlling quality of a media session
CN114173132A (en) Adaptive bit rate selection method and system for dynamic bit rate video
Nguyen et al. Network-aware prefetching method for short-form video streaming
EP3664456A1 (en) Apparatus and method for playing streamed media
CN112333456B (en) Live video transmission method based on cloud edge protocol
CN114900706B (en) Live video stream transmission adaptive scheduling method based on extended video coding
Hu et al. Scene aware smooth playout control for portable media players over random VBR channels
CN113411628B (en) Code rate self-adaption method and device of live video, electronic equipment and readable medium

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210129