Video gear determination method and device, equipment, storage medium and program product
By calculating the standard deviation of frame intervals of video stream data and filtering video gaps, the playback lag caused by unstable video streams is solved, and the smoothness of video playback and user viewing experience is improved.
Patent Information
- Application Number
- CN202411437186.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-15
- Publication Date
- 2025-02-14
AI Technical Summary
The existing adaptive file selection algorithm cannot effectively solve the stuttering of video playback caused by unstable video streams, affecting the user's video viewing.
By calculating the frame interval standard deviation of the video stream data corresponding to each video gap, filter out the video gaps whose frame interval standard deviation is less than or equal to the set standard deviation threshold, and determine the target video gap to improve the smoothness of video playback.
Effectively eliminate video levels with poor frame uniformity, avoid sending uneven video streaming data, improve user video playback fluency, reduce playback process lag, and improve user viewing experience.
Smart Images

Figure CN119450061A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of video playback technology, and in particular to a method, device, equipment, storage medium and program product for determining a video gear position. Background Art
[0002] At present, in order to adapt to the device performance and network conditions of different users, the server will transcode the source stream video of the anchor into a variety of different video levels, such as source stream, HD, SD and LD. The bit rate, resolution and encoding method of different video levels are different. In the actual viewing process, an adaptive level selection function will be provided to automatically select the appropriate video level for the user to ensure smooth viewing and clarity.
[0003] In the related technology, the adaptive gear selection algorithm can be mainly divided into three types: bandwidth-based, buffer size-based and hybrid. Among them, the bandwidth-based algorithm mainly selects gears based on the bandwidth value collected and predicted during the playback process; the buffer size-based algorithm mainly selects gears based on the size of the data cached on the viewer side; the hybrid algorithm comprehensively refers to the bandwidth value and cached data. However, the aforementioned adaptive gear selection algorithm selects gears to adapt to the differences and fluctuations in the user's network conditions, and cannot solve the problem of video playback freezes caused by unstable video streams, which can easily affect the user's video viewing experience and needs to be improved. Summary of the invention
[0004] The embodiments of the present application provide a method, apparatus, device, storage medium and program product for determining a video gear, which solves the problem that the existing adaptive gear selection algorithm selects the gear to adapt to the differences and fluctuations in the user's network conditions, but cannot solve the problem of video playback freezes caused by unstable video streams, which easily affects the user's video viewing experience. By accurately evaluating the frame interval fluctuations of the video stream data corresponding to each video gear, the video gears with poor frame uniformity are effectively eliminated, and the uneven video stream data is avoided from being sent down, which can improve the user's video playback smoothness, reduce the freeze during playback, and enhance the user's viewing experience.
[0005] In a first aspect, an embodiment of the present application provides a method for determining a video gear position, the method comprising:
[0006] Obtain video stream data corresponding to each video gear sent by the anchor server, and calculate the frame interval standard deviation of video frames within a preset time length in each of the video stream data;
[0007] Filtering out optional video gears from among the video gears based on the standard deviations of the frame intervals and the set standard deviation thresholds;
[0008] According to the acquired device information and network information corresponding to the viewer end, a target video gear is determined from the optional video gears, and the video stream data corresponding to the target video gear is sent to the viewer end.
[0009] In a second aspect, an embodiment of the present application further provides a video gear position determination device, the device comprising:
[0010] An acquisition module, configured to acquire video stream data corresponding to each video level sent by the anchor server;
[0011] A standard deviation calculation module, configured to calculate a frame interval standard deviation of video frames within a preset time length in each of the video stream data;
[0012] A video gear screening module, configured to screen out optional video gears from each of the video gears based on each of the frame interval standard deviations and a set standard deviation threshold;
[0013] The video gear determination module is configured to determine a target video gear from the optional video gears according to the acquired device information and network information corresponding to the viewer end, and to send video stream data corresponding to the target video gear to the viewer end.
[0014] In a third aspect, an embodiment of the present application further provides a video gear determination device, the device comprising:
[0015] one or more processors;
[0016] a storage device configured to store one or more programs,
[0017] When the one or more programs are executed by the one or more processors, the one or more processors implement the video gear determination method described in the embodiment of the present application.
[0018] In a fourth aspect, an embodiment of the present application further provides a non-volatile storage medium storing computer executable instructions, wherein the computer executable instructions, when executed by a computer processor, are configured to execute the video gear determination method described in the embodiment of the present application.
[0019] In a fifth aspect, an embodiment of the present application further provides a computer program product, which includes a computer program stored in a computer-readable storage medium. At least one processor of the device reads and executes the computer program from the computer-readable storage medium, so that the device executes the video gear determination method described in the embodiment of the present application.
[0020] In the embodiment of the present application, by obtaining the video stream data corresponding to each video gear sent by the anchor server, the frame interval standard deviation of the video frames within the preset duration in each video stream data is calculated; based on the standard deviation of each frame interval and the set standard deviation threshold, the optional video gear is screened out from each video gear; according to the obtained device information and network information corresponding to the audience end, the target video gear is determined from the optional video gear, which is used to send the video stream data corresponding to the target video gear to the audience end. In the above scheme, by calculating the frame interval standard deviation of the video stream data corresponding to different video gears, the frame interval fluctuation of the video stream data corresponding to each video gear can be accurately evaluated, and by determining the video gear with a frame interval standard deviation less than or equal to the set standard deviation threshold as an optional video gear, the video gear with poor frame uniformity can be effectively eliminated, and the target video gear is determined from the optional video gear to avoid sending uneven video stream data, which can improve the user's video playback smoothness, reduce the jamming during the playback process, and enhance the user's viewing experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 A flowchart of a method for determining a video gear position provided in an embodiment of the present application;
[0022] Figure 2 A flowchart of a method for determining a video gear position including a process of selecting an optional video gear position in combination with a buffer threshold provided in an embodiment of the present application;
[0023] Figure 3 A flowchart of a method for determining a video gear position including a process for determining a standard deviation threshold provided in an embodiment of the present application;
[0024] Figure 4 A flowchart of a method for determining a video gear position including a process of determining a standard deviation threshold based on a data correspondence relationship and user experience information provided in an embodiment of the present application;
[0025] Figure 5 A flowchart of a method for determining a video gear position including a process for determining a buffer threshold provided in an embodiment of the present application;
[0026] Figure 6 A structural block diagram of a video gear determination device provided in an embodiment of the present application;
[0027] Figure 7 A schematic diagram of the structure of a video gear determination device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0028] The embodiments of the present application are further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the embodiments of the present application, rather than to limit the embodiments of the present application. It should also be noted that, for ease of description, only parts related to the embodiments of the present application are shown in the accompanying drawings, rather than all structures.
[0029] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described here, and the objects distinguished by "first", "second", etc. are generally of one type, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification and claims represents at least one of the connected objects, and the character " / " generally indicates that the objects associated with each other are in an "or" relationship.
[0030] The video gear determination method provided in the embodiment of the present application can calculate the frame interval standard deviation of the video stream data corresponding to each video gear, screen out the optional video gears in each video gear based on the frame interval standard deviation and the standard deviation threshold, and determine the target video gear from the optional video gears based on the device information and network information corresponding to the audience end, and effectively add the stability evaluation of the video stream to perform adaptive gear selection. Relevant application scenarios may include: indoor live broadcast, outdoor live broadcast, and short video, etc. The several application scenarios listed above are only exemplary and explanatory. In actual applications, the video gear determination method can also be used in video output in other scenarios, and the embodiment of the present application does not limit this.
[0031] In the related art, the adaptive gear selection algorithm improves the user experience by adjusting the bit rate of the pushed video in real time. The gear selection is based on the user's network condition and cache condition. For example, when the network is good, a high bit rate gear is selected to ensure the subjective quality of video viewing. When the network is poor, a low bit rate gear is selected to ensure the smoothness of video viewing and avoid freezes. However, the reasons for user playback freezes are not only the network conditions, but the stability of the video stream is also a key factor affecting the user's playback quality. Due to the possibility of abnormal source stream transcoding, abnormal downlink network or excessive server load, there may be frame loss or frame disorder when the viewer server receives the video frame, affecting the stability of the video stream. For the case of poor stability of the video stream, even if the user's network condition is good and the device performance is high-end, it will cause freezes in the playback process. The freeze can be defined as a playback frame interval greater than 200ms. Based on this, the present application provides a method, device, equipment, storage medium and program product for determining a video gear, aiming to solve the problem that the existing adaptive gear selection algorithm selects gears to adapt to the differences and fluctuations in user network conditions, but cannot solve the problem of video playback freezes caused by unstable video streams, which easily affects the user's video viewing experience.
[0032] In the video gear determination method provided in the embodiment of the present application, the executor of each step can be a computer device, which refers to any electronic device with data calculation, processing and storage capabilities, such as mobile phones, PCs (Personal Computers), tablet computers and other terminal devices, and can also be servers and other devices, which are not limited in the embodiment of the present application.
[0033] Figure 1 The flowchart of a method for determining a video gear position provided in an embodiment of the present application is applied to a viewer server. Figure 1 As shown, the following steps are included:
[0034] Step S101: Obtain video stream data corresponding to each video level sent by the anchor server, and calculate the frame interval standard deviation of video frames within a preset duration in each video stream data.
[0035] Among them, the anchor server can receive the source stream video uploaded by the anchor end, and according to the anchor video quality and audience demand, allocate the received source stream video to the software transcoding group or the hardware transcoding group to realize transcoding of the source stream video to obtain video stream data of different video levels. Among them, the video data of different video levels can be source stream video (whose resolution and frame rate are determined by the network and device performance of the anchor end, and can be video with a vertical resolution greater than 1080p and a bit rate higher than 5Mbps), ultra-high-definition video (can be video with a vertical resolution greater than 1080p and a bit rate higher than 3Mbps encoded by H.264 or H.265 encoding standards), high-definition video (can be video with a vertical resolution greater than 720p and a bit rate higher than 1.5Mbps encoded by H.264 or H.265 encoding standards), medium-quality video (can be video with a vertical resolution greater than 720p and a bit rate higher than 1.5Mbps encoded by H.264 or H.265 encoding standards), and medium-quality video (can be video with a vertical resolution greater than 1080p and a bit rate higher than 3Mbps encoded by H.264 or H.265 encoding standards). It may be a combination of one or more of a video with a vertical resolution greater than 540p and a bit rate higher than 1Mbps encoded using the H.264 or H.265 encoding standard), a low-quality video (which may be a video with a vertical resolution greater than 360 and a bit rate between 500Kbps and 800Kbps encoded using the H.264 or H.265 encoding standard), and an ultra-low-quality video (which may be a video with a vertical resolution greater than 240p and a bit rate between 200Kbps and 500Kbps encoded using the H.264 or H.265 encoding standard), which is not limited in this application. The audience server may subscribe to a video stream in the anchor server and obtain video stream data from the anchor server, which may be a source stream video or a video of other video levels obtained by transcoding based on the source stream video, and receive a video data request from the audience terminal, and send video stream data of the target video level to the audience terminal for video playback. In one embodiment, when the audience server receives the video stream data corresponding to each video gear, it can calculate the frame interval standard deviation based on the video frames within a preset duration. For example, the preset duration can be the most recent 30 seconds. The frame interval standard deviation is the standard deviation of the interval time between two adjacent video frames within the preset duration, which is used to reflect the stability or degree of change of the frame interval in the video stream data. If the frame interval standard deviation is small, it means that the frame interval is relatively stable and the video playback will be smoother. If the frame interval standard deviation is large, it means that the frame interval has large fluctuations, which may cause problems such as stuttering and jumping during video playback. Optionally, the frame interval standard deviation corresponding to each video gear can be updated once per second. The calculation formula for the frame interval standard deviation is as follows:
[0036]
[0037] Where s is the standard deviation of the frame interval, x1,...,x n is the frame interval of the video frame within the preset duration, n is the number of frame intervals, is the frame interval mean.
[0038] In one embodiment, the anchor server can calculate the frame interval standard deviation of the video stream data corresponding to different video gears, and broadcast the frame interval standard deviation to other servers through the application layer transmission protocol. If the audience server does not receive the video stream data, it can receive the frame interval standard deviation broadcast by the anchor server.
[0039] Step S102: Filter out optional video gears from various video gears based on the standard deviations of various frame intervals and a set standard deviation threshold.
[0040] Among them, the standard deviation threshold can be used to determine whether the video stream data corresponding to the video gear meets the stability requirements. In one embodiment, based on the standard deviation of each frame interval and the set standard deviation threshold, the optional video gear is screened out from each video gear. The specific process can be: the video gear that satisfies the frame interval standard deviation less than or equal to the set standard deviation threshold is screened out from each video gear as the optional video gear. Among them, if the frame interval standard deviation is less than or equal to the set standard deviation threshold, it can be regarded as the stability of the video stream data of the corresponding video gear is good, which is conducive to smooth video playback. In the adaptive gear selection process, the aforementioned video gear that satisfies the frame interval standard deviation less than or equal to the set standard deviation threshold can be selected; if the frame interval standard deviation is greater than the set standard deviation threshold, it can be regarded as the stability of the video stream data of the corresponding video gear is poor, which may cause video playback jamming, and it is necessary to prohibit the selection of the aforementioned video gear that satisfies the frame interval standard deviation greater than the set standard deviation threshold in the adaptive gear selection process. Therefore, the video gear that satisfies the frame interval standard deviation less than or equal to the set standard deviation threshold can be preferentially screened out from each video gear, and the part of the video gear is determined as the optional video gear, providing reference information for the subsequent adaptive gear selection process. In one embodiment, the standard deviation thresholds set between different video gears may be the same or different, and may be adaptively set by developers based on user video information, user experience information, etc., and this application does not limit this.
[0041] Step S103: determining a target video gear from the optional video gears according to the acquired device information and network information corresponding to the viewer end, and sending video stream data corresponding to the target video gear to the viewer end.
[0042] Among them, the device information can be device model information, device hardware parameters, etc., which are used to reflect device performance and decoding capabilities, and the network information can be network type, network bandwidth, network indicator information, etc., which are used to reflect the network status of the audience end. In one embodiment, the audience server can obtain the device model information uploaded by the audience end after connecting with it, and the network bandwidth information fed back. When determining the target video gear, the decoding capability of the audience end can be determined according to the device model information, and the candidate video gear that matches the device performance of the audience end is determined from the optional video gear, and the target video gear that adapts to the network status is selected from the candidate video gear in combination with the network bandwidth information. In one embodiment, the audience server can obtain the screen resolution parameter of the audience end, and determine the bandwidth average value by initiating a timed network query to the audience end, and the supportable resolution of the audience end can be determined according to the screen resolution parameter, and the candidate video gear that matches the resolution limit of the audience end is determined from the optional video gear, and the target video gear that adapts to the network status is selected from the candidate video gear in combination with the bandwidth average value. Of course, it is also possible to combine other types of device information or network information, and the buffer size of the audience end, and adaptively select the target video gear from the optional video gear, which is not limited in this application.
[0043] In the above, by obtaining the video stream data corresponding to each video gear sent by the anchor server, the frame interval standard deviation of the video frames within the preset duration in each video stream data is calculated; based on each frame interval standard deviation and the set standard deviation threshold, the optional video gear is screened out from each video gear; according to the obtained device information and network information corresponding to the audience end, the target video gear is determined from the optional video gear, which is used to send the video stream data corresponding to the target video gear to the audience end. In the above scheme, by calculating the frame interval standard deviation of the video stream data corresponding to different video gears, the frame interval fluctuation of the video stream data corresponding to each video gear can be accurately evaluated, and by determining the video gear with a frame interval standard deviation less than or equal to the set standard deviation threshold as an optional video gear, the video gear with poor frame uniformity can be effectively eliminated, and the target video gear is determined from the optional video gear to avoid sending uneven video stream data, which can improve the user's video playback smoothness, reduce the jamming during the playback process, and enhance the user's viewing experience.
[0044] Figure 2 A flowchart of a method for determining a video gear position including a process of selecting an optional video gear position in combination with a buffer threshold is provided in an embodiment of the present application. Figure 2 As shown, the following steps are included:
[0045] Step S201: Obtain video stream data corresponding to each video level sent by the anchor server, and calculate the frame interval standard deviation of video frames within a preset duration in each video stream data.
[0046] Step S202: Filter out, from various video levels, video levels satisfying that the frame interval standard deviation is less than or equal to the sum of a set standard deviation threshold and a corresponding buffer threshold as optional video levels.
[0047] In order to maintain reasonable clarity and smoothness among users with poor equipment, the same standard deviation threshold is set for each video gear, and each video gear is additionally set with a different buffer threshold. The higher the resolution of the video gear, the smaller the corresponding buffer threshold. Therefore, the lower the resolution of the video gear, the less likely it is to be prohibited. The sum of the standard deviation threshold and the buffer threshold can be compared with the frame interval standard deviation. If the frame interval standard deviation is less than or equal to the sum of the set standard deviation threshold and the corresponding buffer threshold, the video gear can be determined as an optional video gear. If the frame interval standard deviation is greater than the sum of the set standard deviation threshold and the corresponding buffer threshold, the video gear can be eliminated to avoid selecting the video gear in the adaptive gear selection process.
[0048] Step S203: determining a target video gear from the optional video gears according to the acquired device information and network information corresponding to the viewer end, and sending video stream data corresponding to the target video gear to the viewer end.
[0049] As described above, by superimposing the buffer threshold on the basis of the standard deviation threshold as the comparison threshold of the frame interval standard deviation, the comparison threshold corresponding to the video level with lower resolution can be reasonably increased, so that the video level with lower resolution is less likely to be eliminated, which is beneficial for most users with poor device performance to maintain video playback at medium clarity level and balance the clarity and smoothness of viewing.
[0050] Figure 3 A flowchart of a method for determining a video level including a process for determining a standard deviation threshold is provided in an embodiment of the present application. Figure 3 As shown, the following steps are included:
[0051] Step S301: Obtain statistics of the sample frame interval standard deviation and user experience information corresponding to the sample audience terminal.
[0052] Among them, in order to reasonably determine the standard deviation threshold, the video stream data corresponding to different video gears of the sample audience during the video viewing process can be collected, and the corresponding sample frame interval standard deviation can be obtained by statistical calculation. In addition, the user experience information of the sample audience can also be counted, and the user experience information can be viewing time, number of freezes, and freeze rate, etc., which are used to reflect whether the user has a good viewing experience, wherein the number of freezes can be the cumulative number of freezes during the user's video viewing process, and the freeze rate can be the ratio of the freeze duration to the total playback time. In one embodiment, the statistically obtained sample frame interval standard deviation and user experience information can be cleared of outliers and missing data can be processed. In one embodiment, the statistically obtained sample frame interval standard deviation and user experience information can also be standardized or normalized to eliminate the influence of dimension and distribution range on the results.
[0053] Step S302: quantize the sample frame interval standard deviation and the user experience information to obtain a data correspondence relationship.
[0054] The quantification process may be to use a correlation analysis method, such as a Pearson correlation coefficient or a Spearman correlation coefficient, to quantify the data correspondence between the sample frame interval standard deviation and the user experience information. For example, the user experience information includes viewing time, number of freezes, and freeze rate. The data correspondence between the sample frame interval standard deviation and the viewing time, freeze rate, and freeze rate may be quantified respectively. The data correspondence is used to describe the degree of linear correlation between the sample frame interval standard deviation and the specific user experience information, which may be helpful in determining the frame interval standard deviation distribution corresponding to a better user experience.
[0055] Step S303: determine a standard deviation threshold based on the data correspondence and user experience information.
[0056] Step S304: Obtain video stream data corresponding to each video level sent by the anchor server, and calculate the frame interval standard deviation of video frames within a preset duration in each video stream data.
[0057] Step S305: Filter out optional video gears from various video gears based on the standard deviations of various frame intervals and the set standard deviation threshold.
[0058] Step S306: Determine a target video gear from the optional video gears according to the acquired device information and network information corresponding to the viewer end, and send video stream data corresponding to the target video gear to the viewer end.
[0059] As mentioned above, by quantifying the relationship between the sample frame interval standard deviation corresponding to the sample audience end and the user experience information, the linear correlation between the sample frame interval standard deviation and the user experience information can be effectively measured, the impact of the sample frame interval standard deviation on the user viewing experience can be reasonably analyzed, and the standard deviation threshold with higher user acceptance can be determined.
[0060] Figure 4 A flowchart of a method for determining a video level including a process of determining a standard deviation threshold based on a data correspondence relationship and user experience information is provided in an embodiment of the present application. Figure 4 As shown, the following steps are included:
[0061] Step S401: Obtain statistics of the sample frame interval standard deviation and user experience information corresponding to the sample audience terminal.
[0062] Step S402: quantize the sample frame interval standard deviation and the user experience information to obtain a data correspondence relationship.
[0063] Step S403: Determine a standard deviation interval that meets a preset optimal experience condition according to the data correspondence relationship.
[0064] Among them, taking the user experience information including viewing time, jam rate and number of jams as an example, satisfying the preset optimal experience condition may be satisfying the longest viewing time, the lowest jam rate and the least number of jams. The first data correspondence relationship between the sample frame interval standard deviation and the viewing time, the second data correspondence relationship between the sample frame interval standard deviation and the jam rate, and the third data correspondence relationship between the sample frame interval standard deviation and the jam rate can be obtained by step S402. Based on the first data correspondence, the first standard deviation interval corresponding to the longest viewing time can be determined. Based on the second data correspondence, the second standard deviation interval that satisfies the lowest jam rate can be determined. Based on the third data correspondence, the third standard deviation interval that satisfies the least number of jams can be determined. In one embodiment, the first standard deviation interval, the second standard deviation interval and the third standard deviation interval can be intersected to obtain a standard deviation interval that satisfies the preset optimal experience condition. In one embodiment, the first standard deviation interval, the second standard deviation interval and the third standard deviation interval can be weighted fused to obtain a standard deviation interval that satisfies the preset optimal experience condition.
[0065] Step S404: perform clustering calculation on the user experience information to obtain a clustering result, and determine a standard deviation threshold based on the clustering result and the standard deviation interval.
[0066] Among them, taking the user experience information including viewing time, freeze rate and freeze number as an example, since the user experience information is clustered, the user experience information can be clustered to obtain a clustering result, and the clustering result can be used to reflect the concentrated distribution of frame interval standard deviation values corresponding to the longest viewing time, the lowest freeze rate and the least freeze number. In one embodiment, the frame interval standard deviation with the highest concentration can be screened out from the standard deviation interval, and added to the preset amplitude value to obtain the standard deviation threshold. For example, the obtained frame interval standard deviation is 45, and the corresponding standard deviation threshold is 55. In one embodiment, the first few frame interval standard deviations with higher concentration can be screened out from the standard deviation interval, and the average is taken to obtain the mean result, and the mean result is added to the preset amplitude value to obtain the standard deviation threshold.
[0067] Step S405: Obtain video stream data corresponding to each video level sent by the anchor server, and calculate the frame interval standard deviation of video frames within a preset duration in each video stream data.
[0068] Step S406: Filter out optional video gears from various video gears based on the standard deviations of various frame intervals and the set standard deviation threshold.
[0069] Step S407: Determine a target video gear from the optional video gears according to the acquired device information and network information corresponding to the viewer end, and send video stream data corresponding to the target video gear to the viewer end.
[0070] As described above, by clustering results corresponding to user experience information and the standard deviation interval that meets the preset optimal experience conditions, the user experience situation can be effectively combined to reasonably determine the standard deviation threshold to ensure the user's video viewing experience.
[0071] Figure 5 A flowchart of a method for determining a video level including a process for determining a buffer threshold is provided in an embodiment of the present application. Figure 5 As shown, the following steps are included:
[0072] Step S501: Obtain the statistical number of freezes and freeze rates at the viewer end, as well as the resolution information of each video level.
[0073] Step S502: input the number of freezes, freeze rate and resolution information into a pre-built multivariate linear regression model to obtain a buffer threshold corresponding to each video level.
[0074] In one embodiment, the expression of the pre-built multiple linear regression model is as follows:
[0075] Y=β0+β1X1+β2X2+β3X3+ε,
[0076] Among them, Y represents the buffer threshold, X1 represents the resolution, X2 represents the number of freezes, X3 represents the freeze rate, β0 represents the preset intercept, β1, β2 and β3 represent the preset regression coefficients, and ε represents the error term. Optionally, in the model training and evaluation stage, the multivariate linear regression model can be trained using a multivariate linear regression algorithm based on the set training set and test set, and the performance of the multivariate linear regression model can be evaluated using indicators such as mean square error, root mean square error, and determination coefficient. In the model optimization and application stage, the influence of each variable on the buffer threshold can be determined by analyzing the size and direction of the regression coefficients, and the multivariate linear regression model can be used for prediction, and the buffer threshold can be dynamically adjusted according to real-time user data.
[0077] Optionally, you can verify based on online AB testing whether the set standard deviation threshold and buffering threshold can improve the user viewing experience, for example, reduce the freeze rate, increase the viewing time, etc., and continuously optimize the standard deviation threshold and buffering threshold based on user feedback information and new video viewing data. Optionally, you can monitor the application effect of the multivariate linear regression model, use the latest user behavior data and feedback information, and regularly retrain the multivariate linear regression model to maintain its accuracy and effectiveness.
[0078] In one embodiment, β0 can be set to 0, β1 is the regression coefficient of resolution, which can be set to -0.05, β2 is the regression coefficient of the number of freezes, which can be set to 0.15, and β3 is the regression coefficient of the freeze rate, which can be set to 0.1. Among them, when β0 is set to 0, it can be regarded as the standard deviation of the predicted buffer threshold of 0 frame intervals when all independent variables (resolution, freeze times, freeze rate) are 0. When β1 is set to -0.05, it can be regarded as the standard deviation of 0.05 frame intervals minus the buffer threshold for each resolution level (for example, from 720p to 1080p). For each resolution level dropped, the buffer threshold increases by 0.05 frame intervals. Therefore, the higher the resolution, the smaller the buffer threshold, that is, the lower the resolution video level is, the less likely it is to be prohibited. When β2 is set to 0.15, it can be regarded as the standard deviation of 0.15 frame intervals for each additional freeze, wherein the number of freezes has a greater impact on the buffer threshold because it directly reflects the unsmoothness of the playback. When β3 is set to 0.1, it can be considered that for every 1% increase in the jam rate, the buffer threshold increases by 0.10 standard deviation of the frame interval. Among them, the jam rate, as one of the indicators of playback smoothness, also has a great impact on the buffer threshold.
[0079] Step S503: Obtain video stream data corresponding to each video level sent by the anchor server, and calculate the frame interval standard deviation of video frames within a preset duration in each video stream data.
[0080] Step S504: Filter out, from various video levels, video levels satisfying that the frame interval standard deviation is less than or equal to the sum of a set standard deviation threshold and a corresponding buffer threshold as optional video levels.
[0081] Step S505: Determine a target video gear from the optional video gears according to the acquired device information and network information corresponding to the viewer end, and send video stream data corresponding to the target video gear to the viewer end.
[0082] As described above, based on the pre-built multivariate linear regression model, the buffer threshold corresponding to each video level can be effectively determined based on the number of freezes, freeze rate and resolution information, so that the audience server can send video stream data of appropriate video levels to the audience terminals under different network environments and equipment conditions, thereby improving the user's viewing experience.
[0083] Figure 6 This is a structural block diagram of a video gear determination device provided in an embodiment of the present application. The device is configured to execute the video gear determination method provided in the above embodiment and has the corresponding functional modules and beneficial effects of the execution method. Figure 6 As shown, the device comprises:
[0084] The acquisition module 101 is configured to acquire video stream data corresponding to each video level sent by the anchor server;
[0085] A standard deviation calculation module 102 is configured to calculate a frame interval standard deviation of video frames within a preset duration in each video stream data;
[0086] The video gear selection module 103 is configured to select optional video gears from various video gears based on the standard deviation of each frame interval and a set standard deviation threshold;
[0087] The video gear determination module 104 is configured to determine a target video gear from the optional video gears according to the acquired device information and network information corresponding to the viewer end, and to send video stream data corresponding to the target video gear to the viewer end.
[0088] In the above, by obtaining the video stream data corresponding to each video gear sent by the anchor server, the frame interval standard deviation of the video frames within the preset duration in each video stream data is calculated; based on each frame interval standard deviation and the set standard deviation threshold, the optional video gear is screened out from each video gear; according to the obtained device information and network information corresponding to the audience end, the target video gear is determined from the optional video gear, which is used to send the video stream data corresponding to the target video gear to the audience end. In the above scheme, by calculating the frame interval standard deviation of the video stream data corresponding to different video gears, the frame interval fluctuation of the video stream data corresponding to each video gear can be accurately evaluated, and by determining the video gear with a frame interval standard deviation less than or equal to the set standard deviation threshold as an optional video gear, the video gear with poor frame uniformity can be effectively eliminated, and the target video gear is determined from the optional video gear to avoid sending uneven video stream data, which can improve the user's video playback smoothness, reduce the jamming during the playback process, and enhance the user's viewing experience.
[0089] In a possible embodiment, the video gear screening module 103 is further configured to:
[0090] The video gears satisfying that the frame interval standard deviation is less than or equal to the set standard deviation threshold are selected from various video gears as optional video gears.
[0091] In a possible embodiment, different buffer thresholds are pre-set for each video level, wherein the higher the resolution of the video level, the smaller the corresponding buffer threshold. The video level screening module 103 is further configured as follows:
[0092] The video gears satisfying that the frame interval standard deviation is less than or equal to the sum of the set standard deviation threshold and the corresponding buffer threshold are selected from various video gears as optional video gears.
[0093] In a possible embodiment, the first threshold determination module is further included, configured to:
[0094] Obtain statistics of the sample frame interval standard deviation and user experience information corresponding to the sample audience end;
[0095] Quantify the sample frame interval standard deviation and user experience information to obtain data correspondence;
[0096] The standard deviation threshold is determined based on the data correspondence and user experience information.
[0097] In a possible embodiment, the threshold determination module is further configured to:
[0098] Determine the standard deviation interval that meets the preset optimal experience conditions based on the data correspondence;
[0099] Clustering calculation is performed on the user experience information to obtain a clustering result, and a standard deviation threshold is determined based on the clustering result and the standard deviation interval.
[0100] In a possible embodiment, a second threshold determination module is further included, configured to:
[0101] Obtain statistics on the number of freezes and freeze rates on the viewer side, as well as resolution information for each video level;
[0102] The number of freezes, freeze rate and resolution information are input into a pre-built multivariate linear regression model to obtain the buffering threshold corresponding to each video level.
[0103] In one possible embodiment, the expression of the multivariate linear regression model is as follows:
[0104] Y=β0+β1X1+β2X2+β3X3+ε,
[0105] Among them, Y represents the buffer threshold, X1 represents the resolution, X2 represents the number of freezes, X3 represents the freeze rate, β0 represents the preset intercept, β1, β2 and β3 represent the preset regression coefficients, and ε represents the error term.
[0106] Figure 7 A schematic diagram of the structure of a video gear determination device provided in an embodiment of the present application, such as Figure 7 As shown, the device includes a processor 201, a memory 202, an input device 203 and an output device 204; the number of processors 201 in the device can be one or more. Figure 7 A processor 201 is taken as an example; the processor 201, memory 202, input device 203 and output device 204 in the device can be connected by a bus or other means. Figure 7 The example of connecting via a bus is taken. The memory 202, as a computer-readable storage medium, can be configured to store software programs, computer executable programs and modules, such as program instructions / modules corresponding to the video gear determination method in the embodiment of the present application. The processor 201 executes various functional applications and data processing of the device by running the software programs, instructions and modules stored in the memory 202, that is, implements the above-mentioned video gear determination method. The input device 203 can be configured to receive input digital or character information, and generate key signal input related to user settings and function control of the device. The output device 204 may include a display device such as a display screen.
[0107] An embodiment of the present application also provides a non-volatile storage medium containing computer executable instructions. When the computer executable instructions are executed by a computer processor, they are configured to execute a video gear determination method described in the above embodiment, which includes: obtaining video stream data corresponding to each video gear sent by the anchor server, calculating the frame interval standard deviation of video frames within a preset duration in each video stream data; screening out optional video gears from each video gear based on each frame interval standard deviation and a set standard deviation threshold; determining a target video gear from the optional video gears based on the acquired device information and network information corresponding to the audience end, and sending the video stream data corresponding to the target video gear to the audience end.
[0108] It is worth noting that in the embodiment of the above-mentioned video gear determination device, the various units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not configured to limit the protection scope of the embodiments of the present application.
[0109] In some possible implementations, various aspects of the method provided in the present application may also be implemented in the form of a program product, which includes a program code. When the program product is run on a computer device, the program code is configured to enable the computer device to execute the steps of the method according to various exemplary implementations of the present application described above in this specification. For example, the computer device may execute the video gear determination method described in the embodiment of the present application. The program product may be implemented in any combination of one or more readable media.
Claims
1. A method for determining a video gear position, applied to a viewer server, characterized in that: include: Obtain video stream data corresponding to each video gear sent by the anchor server, and calculate the frame interval standard deviation of video frames within a preset time length in each of the video stream data; Filtering out optional video gears from among the video gears based on the standard deviations of the frame intervals and the set standard deviation thresholds; According to the acquired device information and network information corresponding to the viewer end, a target video gear is determined from the optional video gears, and the video stream data corresponding to the target video gear is sent to the viewer end.
2. The method for determining the video gear position according to claim 1, characterized in that: The selecting a selectable video gear from each of the video gears based on each of the frame interval standard deviations and a set standard deviation threshold comprises: The video gears satisfying that the frame interval standard deviation is less than or equal to the set standard deviation threshold are screened out from the various video gears as optional video gears.
3. The method for determining the video gear position according to claim 1, characterized in that: Each of the video gears is pre-set with a different buffer threshold, wherein the higher the resolution of the video gear, the smaller the corresponding buffer threshold, and the optional video gear is screened out from each of the video gears based on the standard deviation of each frame interval and the set standard deviation threshold, including: The video gears satisfying that the frame interval standard deviation is less than or equal to the sum of the set standard deviation threshold and the corresponding buffer threshold are screened out from the various video gears as optional video gears.
4. The method for determining the video gear position according to claim 1, characterized in that: Before obtaining the video stream data corresponding to each video level sent by the anchor server, the method further includes: Obtain statistics of the sample frame interval standard deviation and user experience information corresponding to the sample audience end; Quantifying the sample frame interval standard deviation and the user experience information to obtain a data correspondence relationship; A standard deviation threshold is determined based on the data correspondence and the user experience information.
5. The method for determining the video gear position according to claim 4, characterized in that: The determining the standard deviation threshold based on the data correspondence and the user experience information includes: Determine a standard deviation interval that satisfies a preset optimal experience condition according to the data correspondence relationship; A clustering calculation is performed on the user experience information to obtain a clustering result, and a standard deviation threshold is determined based on the clustering result and the standard deviation interval.
6. The method for determining the video gear position according to claim 3, characterized in that: Before obtaining the video stream data corresponding to each video level sent by the anchor server, the method further includes: Obtain statistics on the number of freezes and freeze rates on the viewer side, as well as resolution information for each video level; The number of freezes, the freeze rate, and the resolution information are input into a pre-built multivariate linear regression model to obtain a buffer threshold corresponding to each of the video gears.
7. The method for determining the video gear position according to claim 6, characterized in that: The expression of the multivariate linear regression model is as follows: Y=β0+β1X1+β2X2+β3X3+ε, Among them, Y represents the buffer threshold, X1 represents the resolution, X2 represents the number of freezes, X3 represents the freeze rate, β0 represents the preset intercept, β1, β2 and β3 represent the preset regression coefficients, and ε represents the error term.
8. A video gear determination device, characterized in that: include: An acquisition module, configured to acquire video stream data corresponding to each video level sent by the anchor server; A standard deviation calculation module, configured to calculate a frame interval standard deviation of video frames within a preset time length in each of the video stream data; A video gear screening module, configured to screen out optional video gears from each of the video gears based on each of the frame interval standard deviations and a set standard deviation threshold; The video gear determination module is configured to determine a target video gear from the optional video gears according to the acquired device information and network information corresponding to the viewer end, and to send video stream data corresponding to the target video gear to the viewer end.
9. A video gear determination device, the device comprising: one or more processors; A storage device configured to store one or more programs, when the one or more programs are executed by the one or more processors, enables the one or more processors to implement the video gear determination method described in any one of claims 1-7.
10. A non-volatile storage medium storing computer executable instructions, wherein the computer executable instructions are configured to execute the video gear determination method according to any one of claims 1 to 7 when executed by a computer processor.
11. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the video gear determination method described in any one of claims 1 to 7 is implemented.