Video playback methods, devices, equipment and storage media
By utilizing historical bitrate adjustment information and weight values in the cache queue to calculate and determine the starting playback level of the video, the problem of inaccurate playback caused by dependence on network speed in existing technologies is solved, achieving a balance between video playback smoothness and clarity, and improving the user experience.
Patent Information
- Application Number
- CN202211361756.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-02
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2042-11-02
AI Technical Summary
The existing video playback selection method relies on network speed, which makes it impossible to accurately balance the smoothness and clarity of video playback, thus affecting the user's viewing experience.
By using the bitrate adjustment information of historically played videos in the set cache queue, the target starting position of the video to be played is determined. The adjustment weight value in the bitrate adjustment information is used for weighted calculation to determine the target bitrate and starting position, ensuring accurate selection of the video without relying on network speed.
It enables precise selection of video playback start times, ensuring a balance between smoothness and clarity even when network speed cannot be accurately obtained, thereby improving the user viewing experience and expanding its applicability.
Smart Images

Figure CN115842937B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of video processing technology, and in particular to video playback methods, apparatus, devices, and storage media. Background Technology
[0002] With the development of internet technology and the widespread use of mobile devices, streaming video viewing has become an indispensable part of people's daily entertainment. When playing streaming video, to achieve a balance between video clarity and smoothness, it's necessary to select an appropriate video bitrate to minimize download time or reduce playback stuttering, thereby optimizing the user's viewing experience.
[0003] For streaming video, the choice of video bitrate is mainly reflected in the video quality selection at the start of video playback. For example, multiple different playback quality levels can be set. When playing a certain video, the appropriate starting playback level can be selected to play the video through the playback quality corresponding to that level, thereby achieving a balance between clarity and smoothness in video playback.
[0004] In existing video playback selection implementations, the determination of the playback start file mainly depends on network speed. However, in practical applications, there are situations where network speed is unavailable, making it difficult to obtain the accurate network speed when the video file is playing. This affects the accuracy of the playback start file selection, and there is an inability to balance clarity and smoothness, which affects the user's viewing experience. Summary of the Invention
[0005] This disclosure provides a video playback method, apparatus, device, and storage medium to achieve precise selection of video playback start-up.
[0006] In a first aspect, embodiments of this disclosure provide a video playback method, the method comprising:
[0007] Responding to the start playback selection operation of the video to be played;
[0008] Based on the bitrate adjustment information of the historical videos played in the set cache queue, the target starting playback level corresponding to the video to be played is determined. The bitrate adjustment information includes the adjusted bitrate of the corresponding historical videos and the adjustment weight value of the adjusted bitrate.
[0009] When the playback conditions of the video to be played are met, the video to be played is played at the playback quality corresponding to the target starting playback level.
[0010] Secondly, embodiments of this disclosure also provide a video playback device, the device comprising:
[0011] The operation response module is used to respond to the start playback selection operation of the video to be played;
[0012] The gear selection module is used to determine the target starting gear corresponding to the video to be played based on the bitrate adjustment information of the historically played videos cached in the set cache queue.
[0013] The video playback module is used to play the video to be played at the playback quality corresponding to the target starting playback level when the playback conditions of the video to be played are met.
[0014] Thirdly, embodiments of this disclosure also provide an electronic device, the electronic device comprising:
[0015] One or more processors;
[0016] Storage device for storing 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 playback method provided in any aspect of the embodiments of this disclosure.
[0018] Fourthly, embodiments of this disclosure also provide a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform a video playback method provided in any aspect of embodiments of this disclosure.
[0019] This disclosure provides a video playback method, apparatus, device, and storage medium. The video playback method first responds to a playback selection operation for a video to be played; then, based on bitrate adjustment information of historically played videos cached in a set cache queue, it determines the target playback quality level corresponding to the video to be played; finally, when the playback conditions of the video to be played are met, the video is played at the playback quality corresponding to the target playback quality level. This technical solution, before playing a video, can determine the playback quality level of the video to be played based on bitrate adjustment information of historically played videos, without relying on network speed, through a triggered playback selection operation. This achieves precise video playback selection, ensuring a balance between smooth playback and clarity when the selected playback quality is used to play the video. This technical solution decouples the determination of the starting playback slot from the available network speed at the time of slot selection, making it more suitable for scenarios where network speed is not readily available. By determining the starting playback slot, it ensures an effective balance between video playback smoothness and clarity, improving the user's video viewing experience and expanding the scope of application of this technical solution. Attached Figure Description
[0020] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.
[0021] Figure 1 This is a flowchart illustrating a video playback method provided in an embodiment of the present disclosure;
[0022] Figure 2 This is a schematic flowchart of another video playback method provided in an embodiment of the present disclosure;
[0023] Figure 3 This is a flowchart illustrating the implementation of target bitrate determination in the video playback method provided in this embodiment.
[0024] Figure 4 This is a schematic diagram of the structure of a video playback device provided in an embodiment of the present disclosure;
[0025] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0026] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0027] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0028] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0029] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0030] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0031] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0032] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.
[0033] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.
[0034] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0035] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0036] Figure 1 This is a flowchart illustrating a video playback method provided in an embodiment of the present disclosure. This embodiment is applicable to situations where playback quality is selected when a video starts playing. The method can be executed by a video playback device, which can be implemented in software and / or hardware. Optionally, it can be implemented by an electronic device as the execution terminal, such as a mobile terminal, a PC, or a server.
[0037] It is known that video playback can be achieved through short video playback software or multimedia players, such as short video playback software. Generally, the main factors affecting the user's viewing experience during video playback are the clarity and smoothness of the playback content. To ensure a balance between smoothness and clarity during video playback, a suitable playback level can be determined at the beginning of the video playback, i.e., a playback level selection can be performed, and the video will be played at the playback quality corresponding to that playback level. Existing playback level selection methods mainly rely on network speed. If an accurate network speed cannot be obtained, the accuracy of the playback level selection cannot be guaranteed, thus affecting the balance between smoothness and clarity during video playback. Based on this, the video playback method provided in this embodiment can accurately determine the playback level at the beginning of the video playback, ensuring a balance between smoothness and clarity.
[0038] like Figure 1 As shown in the embodiments of this disclosure, a video playback method may specifically include the following steps:
[0039] S101, responding to the start playback selection operation of the video to be played.
[0040] It's important to know that after activating the video playback function, a playback form can be displayed in a certain area of the screen. The playback form can contain multiple videos to be played. The display format for each video can be the video name or key frames of the video. In addition, the video information of each video can also include the video stream fetch address information.
[0041] In this embodiment, the videos played in the video playback application can be considered streaming media data, and the streaming media data required to present each video can be stored in a streaming media database on the server side. The videos included in the playback form can be recommended videos selected by the server from the streaming media database through a certain filtering strategy, or videos pre-selected by the user to watch. Generally, the videos in the streaming media database can be divided or labeled according to different types, and the provided video type and other tag information can be used by the user to select or understand video information.
[0042] In this embodiment, the video to be played can be considered as the next video to be played after the currently playing video in the playlist or playtable. Specifically, after a video in the playlist or playtable finishes playing, the next video can be played automatically, or a video pre-selected by the user can be played. Therefore, before playing the next video or the pre-selected video, the next video or the pre-selected video can be recorded as a video to be played. The timing for playing the video to be played can be that the currently playing video finishes playing; or, when a playback trigger request for the next video is received while the currently playing video is playing.
[0043] In this embodiment, before playing the video to be played, a playback selection process needs to be initiated by responding to the corresponding playback selection operation for that video. This playback selection operation can be considered as triggering a playback quality selection process when the video starts playing. The timing of this playback selection operation can be the moment when the currently playing video finishes playing; it can be a point in time before the current video ends playing, such as 3 seconds remaining; or it can be the moment when the viewer selects a video to be played. Upon reaching the set timing, the playback selection operation for the video to be played can be automatically triggered.
[0044] In this embodiment, this step can receive the playback selection operation and trigger the execution of the playback selection function logic related to the video to be played by responding to the playback selection operation. For example, the execution of the playback selection function logic can be considered as selecting the target quality from a set of multiple quality levels.
[0045] S102. Based on the bitrate adjustment information of the historical videos played in the set cache queue, determine the target starting playback level corresponding to the video to be played, wherein the bitrate adjustment information includes the adjusted bitrate of the corresponding historical videos played, and the adjustment weight value of the adjusted bitrate.
[0046] In this embodiment, a cache queue can be pre-set to cache video bitrate adjustment information. The video corresponding to the bitrate adjustment information in the cache queue can be recorded as a historical playback video, which can be considered as having completed video playback before the video to be played.
[0047] In this embodiment, each bitrate adjustment information cached in the set cache queue may include the adjusted bitrate of the corresponding video and the adjustment weight value corresponding to the adjusted bitrate. The adjusted bitrate can be considered as the playback bitrate that is more suitable for playing the video after the corresponding video has finished playing, based on the relevant playback parameters during the video playback process; the adjustment weight value can be considered as a measure of the playback adaptability when playing the corresponding video using the adjusted bitrate. The higher the adjustment weight value, the more suitable the adjusted bitrate is for playing the corresponding video.
[0048] It's important to note that the starting playback level of a video determines its playback quality. Different starting playback levels correspond to different playback qualities, which can be categorized as Level 1, Level 2, Level 3, etc. Playback quality can be described as smooth, clear, high definition, or even ultra-high definition. Furthermore, different playback qualities can also be considered as corresponding to different resolutions; for example, clear, high definition, and ultra-high definition correspond to 540P, 720P, and 1080P resolutions, respectively.
[0049] It is known that determining the target playback tier for a video is often based solely on the network speed at the time the playback tier selection operation is triggered, which determines the bitrate of the video and, based on the bitrate, the playback tier. However, if the network speed cannot be accurately obtained after responding to the playback tier selection operation, the existing method becomes unusable.
[0050] This step, after responding to the playback selection operation, considers using the bitrate adjustment information of videos already played within a historical period prior to the video to be played to determine the playback selection. Simultaneously, the playback selection point determined based on the bitrate adjustment information relative to the video to be played is recorded as the target playback selection point.
[0051] For example, as one implementation, this step can obtain the bitrate adjustment information of each historical video in the cache queue after responding to the playback selection operation. By comparing the sum of the adjustment weight values of each adjusted bitrate in the bitrate adjustment information with the set weight threshold, it can be determined whether the bitrate adjustment information in the cache queue has reference significance.
[0052] As described above, if the comparison determines that the bitrate adjustment information is not meaningful, a pre-set bitrate can be directly used as the playback bitrate of the video to be played, and the starting playback level adapted to this playback bitrate can be recorded as the target starting playback level. If the bitrate adjustment information is meaningful, the bitrate can be weighted by the adjustment weight values of each adjusted bitrate, and then the playback bitrate of the video to be played can be further determined based on the obtained weighted value, and the starting playback level adapted to this playback bitrate can be recorded as the target starting playback level.
[0053] The weighting method for adjusting the bitrate can be average weighting, for example, by determining the product of each adjusted bitrate and its corresponding adjustment weight value and adding them together to obtain the sum of the products. This sum of products and the sum of each adjustment weight value can be used as the determined weight value. Alternatively, this embodiment can use median weighting for weighting calculation. For example, the bitrate adjustment information in the buffer queue can be sorted according to the adjustment weight value, and then the median of the adjustment weight value can be determined. The adjusted bitrate corresponding to the median can be used as the determined weight value.
[0054] As described above, one way to determine the playback bitrate of the video to be played by weighting the values in this step can be described as follows: the weighted value can be multiplied by a pre-set parameter, and the result of the multiplication can be compared with a pre-set upper limit bitrate value. The smaller of the two can be taken as an intermediate result. Then, the intermediate result can be compared with a pre-set lower limit bitrate value, and the larger of the two can be taken as the final playback bitrate.
[0055] In this embodiment, the target starting position of the video to be played can be selected from a set number of starting positions. Different starting positions are matched with different bitrate ranges. After determining the playback bitrate of the video to be played in the above manner, the starting position matching the playback bitrate can be located. Finally, the matching starting position can be used as the target starting position of the video to be played.
[0056] S103. When the playback conditions of the video to be played are met, the video to be played is played at the playback quality corresponding to the target start-up level.
[0057] This embodiment, through the above steps, can determine the corresponding playback threshold before playing a video. This step allows for video playback based on the playback quality corresponding to the determined target playback threshold, when the playback conditions of the video are met. The playback conditions for the video can be that the playback timing for the video has been met, such as the completion of the currently playing video, or that the viewer has triggered playback of the video to be played.
[0058] In this embodiment, the network speed and buffering time of the device performing video playback can affect the video playback bitrate. The higher the video playback bitrate, the clearer the video playback, i.e., the higher the resolution required, but it will affect the smoothness. The lower the playback bitrate, the lower the clarity of the video playback, and the lower the resolution required, but it can ensure the smoothness of the video.
[0059] This embodiment can pre-set the association between bitrate and starting playback level. Different starting playback levels correspond to different playback quality (resolution), which is equivalent to indirectly establishing the association between playback bitrate and resolution. Thus, after determining the bitrate suitable for video playback, the starting playback level that matches the bitrate can be determined. Then, when playing the video with the playback quality corresponding to the starting playback level, the balance between video smoothness and clarity during playback can be guaranteed.
[0060] This disclosure provides a video playback method that, before playing a video, can determine the starting playback level of the video based on bitrate adjustment information of historically played videos, without relying on network speed, through a triggered start-up selection operation. This achieves precise video start-up selection, ensuring a balance between playback smoothness and clarity when the selected playback quality is used. This embodiment decouples the start-up selection from the available network speed at the time of selection, making it more suitable for scenarios where network speed is limited. By ensuring an effective balance between video playback smoothness and clarity through the determined start-up level, it improves the user's video viewing experience and expands the scope of application of this technical solution.
[0061] Figure 2 This is a schematic diagram of another video playback method provided in an embodiment of this disclosure, such as... Figure 2 As shown, the video playback method may specifically include the following steps:
[0062] S201, Responding to the start playback selection operation of the video to be played.
[0063] For example, when the timing for generating the start-up selection operation of the video to be played is met, the start-up selection operation can be triggered. This step is used to respond to the start-up selection operation and enter the execution state of the start-up selection function logic of the video to be played.
[0064] It should be noted that the following S202 to S204 provide an expanded description of the target start-up bid.
[0065] S202. Obtain the bitrate adjustment information of each historical video cached in the cache queue, and determine the sum of the adjustment weights of the adjustment weight values in each bitrate adjustment information.
[0066] For example, the historical videos associated with the cached bitrate adjustment information in the cache queue can be considered as videos played within a certain period before the video to be played. Specifically, for each historical video, the bitrate adjustment information can be determined after playback is complete, and then cached in the cache list according to a given caching method.
[0067] In this embodiment, each bitrate adjustment information may preferably include the adjusted bitrate of the corresponding historically played video and the adjustment weight value of the adjusted bitrate. The adjusted bitrate can be considered as a playback bitrate more suitable for playing the historically played video, and the adjustment weight value of the adjusted bitrate can be used to characterize the adaptability of the adjusted bitrate as a playback bitrate. This embodiment can determine the adjusted bitrate of the video based on the playback attribute information of the associated video during actual playback.
[0068] Similarly, this embodiment can also determine the adjustment weight value of the adjusted bitrate based on the playback attribute information of the video and the selected weight determination method. The weight determination method can be selected based on a pre-set reference benchmark. The reference benchmark can be the download time or the download size of the associated video; different reference benchmarks correspond to different weight determination methods.
[0069] This step can obtain the bitrate adjustment information in the cache list after responding to the start playback selection operation of the video to be played, and can extract the adjustment weight value from each bitrate adjustment information. Finally, the sum of the weight values of each adjustment weight value can be determined. In this embodiment, the sum of the weight values is recorded as the sum of adjustment weights.
[0070] S203. Based on the comparison result between the sum of the adjustment weights and the set minimum effective weight threshold, determine the target bitrate corresponding to the video to be played.
[0071] In this step, the sum of the adjustment weights obtained above can be compared with the minimum effective weight threshold. Different methods can be used to determine the target bitrate of the video to be played based on the comparison results. The minimum effective weight threshold can be understood as the lower limit for determining the validity of bitrate adjustment information in the cache list; the target bitrate can be considered as the playback bitrate that can be used when the video to be played.
[0072] For example, when the sum of the adjustment weights is lower than the minimum effective weight threshold, it can be considered that there is not enough data in the cache list to serve as a basis for selection, that is, the bitrate adjustment information does not have any reference significance for selecting the starting file; only when the sum of the adjustment weights is equal to or greater than the minimum effective weight threshold, the bitrate adjustment information in the cache list has any reference significance for determining the starting file.
[0073] In this embodiment, as one way to implement the target bitrate, the preset baseline bitrate can be directly used as the target bitrate when the sum of the adjustment weights is lower than the minimum effective weight threshold. As another way to implement it, the target bitrate can be determined by the bitrate adjustment information included in the cache list when the sum of the adjustment weights is equal to or greater than the minimum effective weight threshold. For example, the adjusted bitrates in the bitrate adjustment information can be weighted and calculated, and the final target bitrate can be determined based on the bitrate value obtained after weighting.
[0074] Based on the above embodiments, Figure 3 This is a flowchart illustrating the implementation of target bitrate determination in a video playback method provided in this embodiment. Figure 3 As shown, in this embodiment of the disclosure, determining the target bitrate of the video to be played based on the comparison result of the sum of the adjustment weights and the set minimum effective weight threshold can be specifically optimized as follows:
[0075] S2031. Obtain the minimum effective weight threshold.
[0076] In this embodiment of the disclosure, a pre-set minimum effective weight threshold is obtained.
[0077] S2032. Determine whether the sum of the adjustment weights is less than the minimum effective weight threshold. If yes, execute S2033; otherwise, execute S2034.
[0078] Specifically, the sum of the above adjustment weights is compared with the minimum effective weight threshold. If the sum of the adjustment weights is less than the minimum effective weight threshold, step 2033 is executed; if the sum of the adjustment weights is greater than or equal to the minimum effective weight threshold, step 2034 is executed.
[0079] S2033. The set base bitrate is used as the target bitrate of the video to be played.
[0080] In this embodiment, the baseline bitrate is equivalent to a pre-set empirical value, which can be determined based on historical experience and can serve as the most basic playback bitrate for video playback. In this embodiment, the bitrate adjustment information cached in the cache list does not have reference value for bitrate determination; that is, when the determination in S2032 is true, the baseline bitrate is directly used as the target bitrate through this step.
[0081] S2034. Determine the weighted value of each adjusted bitrate and the corresponding adjustment weight value, and determine the target bitrate corresponding to the video to be played based on the weighted value.
[0082] Based on the above determination, when performing this step, a weighted average of the adjusted bitrate and the adjusted weight value can be performed. This weight value represents a bitrate value. In this embodiment, the weighted value can be directly used as the target bitrate of the video to be played. However, to ensure the accuracy of the target bitrate determination, this step can be used to perform a secondary adjustment on the weighted value, and the bitrate data obtained after the secondary adjustment can be used as the target bitrate.
[0083] As one implementation method, the weighted calculation can be achieved by averaging the adjusted bitrate and the corresponding adjustment weight value, or by using the median of the adjustment weight values. After weighted calculation, a weighted value representing the bitrate data can be obtained. The secondary adjustment of this weighted value may involve pre-set bitrate adjustment parameters, as well as pre-set minimum bitrate thresholds and maximum bitrate thresholds. By adjusting the weighted value using the bitrate adjustment parameters and each bitrate threshold, a playback bitrate suitable for the video to be played can ultimately be obtained; in this embodiment, this is denoted as the target bitrate.
[0084] The above-described technical solution in this embodiment effectively determines the target bitrate, ensuring its accuracy and practicality. It provides basic data for determining the subsequent playback selection logic, enabling a more accurate playback selection based on the target bitrate determined by this technical solution, thereby better ensuring a balance between smoothness and clarity during the playback of the video to be played.
[0085] Furthermore, as one implementation of S2034, this embodiment of the present disclosure can specifically optimize the determination of the weighted value of each adjusted bitrate and the corresponding adjustment weight value, and the determination of the target bitrate corresponding to the video to be played based on the weighted value as follows:
[0086] a1) According to the weighting rules corresponding to the preset weighting identifier, the adjustment bit rate and the corresponding adjustment weight value are weighted to obtain the weighted value.
[0087] In this embodiment of the disclosure, there can be multiple ways to perform weighted value calculation. Different weighting methods can be preset with a weighting identifier. In actual calculation, the specific weighting method used can be determined by the preset weighting identifier.
[0088] It should be noted that in the implementation of the method provided by this technology, a weighting identifier representing the weighting method can be pre-assigned a value. If the weighting method corresponding to the assigned weighting identifier is a weighted average, this step can use the average weighting method to calculate the weighted value; if the assigned weighting method represents a weighted median, this step can use the median weighting method to calculate the weighted value. This step can obtain the weighted value after weighting calculation.
[0089] For example, assuming the value of the currently obtained weighted identifier is 0, it can be assumed that the weighted average value has been pre-selected as the current weighting method. In this case, each adjusted bitrate in the bitrate adjustment information can be multiplied by the corresponding adjustment weight value, and the ratio of the result of the multiplication to the sum of the adjustment weight values can be used as the weighting value of this step.
[0090] Following the above description, assuming that the value of the currently obtained weighted identifier is 1, it can be assumed that the weighted median has been pre-selected as the current weighting method. At this time, the bitrate adjustment information can be sorted in ascending order of adjustment weight values, and the median can be determined based on the sorted adjustment weight values. Finally, the bitrate corresponding to the median can be used as the weighting value.
[0091] b1) Determine the product of the weighted value and the set secondary adjustment parameter, and take the minimum value between the product value and the set upper limit of bit rate as the candidate bit rate.
[0092] In this embodiment, the secondary adjustment parameter can be a preset parameter value or a parameter value determined by some calculation based on some other parameters. Specifically, the secondary adjustment parameter can be used to adjust the weighting value to achieve secondary adjustment of the bitrate information obtained in the process of determining the target bitrate.
[0093] One implementation approach is to consider the secondary adjustment parameters as being determined through calculations using certain given parameters. These parameters, involved in determining the secondary adjustment parameters, can be related to the video duration of the video to be played, specifically including: adjustment amounts related to video duration, main adjustment parameters associated with video duration, maximum adjustment parameter thresholds, and minimum adjustment thresholds. Based on the above parameters, one method for determining the secondary adjustment parameters can be described as follows:
[0094] 1) Calculate the ratio of the adjustment amount to the video duration, and determine the sum of this ratio and the main adjustment parameter, which is denoted as the first parameter;
[0095] 2) Use the maximum value between the first parameter and the minimum adjustment threshold as the second parameter;
[0096] 3) Use the minimum value between the second parameter and the maximum adjustment threshold as the secondary adjustment parameter.
[0097] In this embodiment, the upper limit of bitrate is also a pre-set parameter value used to limit the maximum bitrate that can be used during video playback, which can be determined based on historical experience. This step can be performed by selecting the minimum value from the product of the weighted value and the secondary adjustment parameter after obtaining the product. It is understood that both the upper limit of bitrate and the weighted value can be considered as data representing the bitrate, and the product of the weighted value and the secondary adjustment parameter can also be considered as data representing the bitrate. Therefore, the minimum value selected from the product and the upper limit of bitrate is also used to represent the bitrate. In this embodiment, this minimum value is recorded as the candidate bitrate.
[0098] c1) The maximum value among the set lower limit bitrate and the candidate bitrates is determined as the target bitrate of the video to be played.
[0099] In this embodiment, the lower bitrate limit is also a preset parameter value used to limit the minimum bitrate that can be used when playing the video. It can also be determined based on historical experience. This step compares the preset lower bitrate limit with the above candidate bitrates, and the maximum value of the two is determined as the target bitrate of the video to be played.
[0100] The above-described technical solution in this embodiment obtains the target bitrate by adjusting the weighted bitrate through the upper and lower limit parameters of the selected bitrate. This ensures that when there is sufficient bitrate adjustment information from historically played videos, an effective target bitrate for determining the starting playback level can be calculated, thus guaranteeing the accuracy of the target bitrate determination.
[0101] S204. Determine the target starting playback level corresponding to the video to be played based on the target bitrate.
[0102] In this embodiment, after determining the target bitrate through the above steps, this step determines the starting playback level corresponding to the target bitrate based on the pre-set correlation between bitrate and level, thereby determining the starting playback level that matches the video to be played as the target starting playback level.
[0103] Furthermore, as one implementation of S204, the target starting playback level corresponding to the video to be played can be determined based on the target bitrate, specifically optimized as follows:
[0104] a2) Search the pre-set bitrate-level relationship table, which includes at least one binary relationship group, and each binary relationship group includes a bitrate range and a corresponding start-up level.
[0105] In this embodiment, the bitrate-price relationship table can be understood as a table showing the relationship between different bitrate ranges and different price levels. A binary relationship group can be understood as containing the relationship between bitrate ranges and price levels. A bitrate range can be understood as grouping bitrates within a certain numerical range into one category. The starting playback price level can be understood as the price level at which video playback is triggered.
[0106] Specifically, the relationship between bitrate and tier can be determined. The maximum and minimum bitrate values for different tiers can be identified. Based on these maximum and minimum values, a bitrate range can be formed. A binary relationship can then be established between this bitrate range and the bitrate. Since video playback involves multiple tiers, multiple binary relationship groups can be created. Based on these multiple binary relationship groups, a bitrate-tier relationship table can be formed. This bitrate-tier relationship table is stored in memory. The processor can retrieve a pre-set bitrate-tier relationship table. When the target bitrate is obtained, it can be searched within the bitrate-tier relationship table.
[0107] b2) The starting position corresponding to the bitrate range of the target bitrate is taken as the target starting position of the video to be played.
[0108] Specifically, you can look up the bitrate-bitrate relationship table to find the bitrate range of the target bitrate, and then determine the bitrate corresponding to that bitrate range, and use that bitrate as the target starting bitrate for the video to be played.
[0109] For example, the bitrate-level relationship table can be as follows: when the level is 1, the bitrate range is 128Kb / s-512Kb / s; when the level is 2, the bitrate range is 512Kb / s-1Mb / s; when the level is 3, the bitrate range is 1Mb / s-2Mb / s; when the level is 4, the bitrate range is 2Mb / s-3.5Mb / s; and when the level is 5, the bitrate range is 3.5Mb / s-5Mb / s.
[0110] As described above, when responding to the start playback selection operation of the video to be played, if the target bitrate is determined to be 0.7Mb / s according to the above steps, it can be determined that the bitrate range corresponding to 0.7Mb / s in the bitrate-bitrate relationship table is 512Kb / s-1Mb / s. Assuming that the bitrate range corresponds to the bitrate 2, where the playback quality corresponding to bitrate 2 is standard definition quality, this embodiment can use bitrate 2 as the start playback position to play the video to be played, which is equivalent to playing the video to be played in standard definition quality.
[0111] Similarly, it is understandable that if the target bitrate determined by the above method is 1.2Mb / s, and 1.2Mb / s corresponds to a bitrate range of 1Mb / s-2Mb / s in the bitrate-bitrate relationship table, and the bitrate range corresponds to 3 bits, if the playback quality corresponding to bitrate 3 is high-definition quality, bitrate 3 can be used as the starting bitrate for the video to be played, which is equivalent to playing the video in high-definition quality.
[0112] The above-described technical solution in this embodiment can improve the efficiency of bitrate selection by using a bitrate-bitrate relationship table. At the same time, each binary relationship group corresponds the bitrate range with the meaning of the starting bitrate, avoiding the inaccuracy problem of the existing method of determining the starting bitrate based on a single parameter.
[0113] S205. When the playback conditions of the video to be played are met, the video to be played is played at the playback quality corresponding to the target starting playback level.
[0114] It is known that different playback thresholds have different preset playback quality, and the resolution of different playback quality varies. In this embodiment, when the currently playing video has finished playing, it can be determined that the playback conditions of the video to be played are met. Therefore, this step can be used to play the video to be played based on the playback quality corresponding to the target playback threshold.
[0115] In the above technical solution, before playing a video, a start-up selection operation is triggered to determine the start-up quality of the video based on the bitrate adjustment information of each historically played video cached in the cache queue. This is achieved by using historical parameters such as the adjusted bitrate and corresponding adjustment weight values within the bitrate adjustment information. This determines the appropriate playback quality for the video. This solves the problem of inaccurate results when determining the start-up quality based on a single parameter, and also addresses the issue of determining the start-up location in scenarios where network speed is crucial but cannot be accurately obtained. The method in this embodiment achieves precise video start-up selection, ensuring a balance between smoothness and clarity when playing the video using the selected playback quality, thus improving the user's video viewing experience.
[0116] As a first optional embodiment of this embodiment, based on the above embodiment, the following is further added: when the bitrate adjustment information determination condition is met, the target analysis video is determined, and the target bitrate adjustment information of the target analysis video is determined.
[0117] Based on the above description, it can be seen that each bitrate adjustment information included in the cache list corresponds to a different historical playback video, and its specific value can be determined after each historical playback video has finished playing. This embodiment, based on the above embodiment, further provides the implementation steps for determining the bitrate adjustment information.
[0118] Specifically, in this first optional embodiment, the execution of the bitrate adjustment information determination step needs to meet the relevant bitrate adjustment information determination conditions. The bitrate adjustment information determination conditions may be that a video has been detected as completed. In this embodiment, the video that meets the bitrate adjustment information determination conditions can be determined as the target analysis video.
[0119] It is understood that this embodiment does not specifically limit the execution order of the bitrate adjustment information determination step. As long as a video is detected to have finished playing or a video is detected to have finished downloading during the execution of the method provided in this embodiment, the execution of this determination step can be considered triggered. For example, one possible situation is that after the execution of S103 above is completed, that is, after the playback of the video to be played is completed, or after the download of the video to be played is completed during the playback of the video to be played, the bitrate adjustment information determination condition is equivalent to being met. At this time, the video to be played can be regarded as a target analysis video, and the bitrate adjustment information of the video to be played can be determined through this step. In this embodiment, the bitrate adjustment information determined for the video to be played can be recorded as the target bitrate adjustment information.
[0120] In this embodiment, the specific implementation of determining the bitrate adjustment information for a target analysis video can be described as follows: First, obtain the playback attribute information involved in the playback of the target analysis video. The playback attribute information may include the playback duration of the video, the playback bitrate used during playback, the download duration spent downloading the target analysis video, the start-up buffer duration corresponding to the streaming media data buffer list when the video starts playing, and the receive buffer duration corresponding to the streaming media data buffer list when the video ends playing.
[0121] As described above, by obtaining the playback attribute information of the target video and combining it with the pre-set adjustment bitrate calculation formula and adjustment weight value calculation formula, the adjustment bitrate and corresponding adjustment weight value of the target video can be determined. Thus, bitrate adjustment information containing the adjustment bitrate and adjustment weight value is obtained and recorded as target bitrate adjustment information.
[0122] The above-described technical solution of this embodiment adds the determination of target bitrate adjustment information, specifically defining the timing of its determination. Bitrate adjustment information is a key step in the video playback method provided in this embodiment. Only by ensuring the accuracy of bitrate adjustment information can the accuracy of the starting playback level determined based on the bitrate adjustment information be better guaranteed. The above-described technical implementation of this embodiment provides effective basic data for starting playback selection.
[0123] Furthermore, as one implementation method, determining the target analysis video and the target bitrate adjustment information of the target analysis video when the bitrate adjustment information determination conditions are met can be optimized into the following steps:
[0124] a3) If a video download is completed or a video playback ends, determine that the current bitrate adjustment information determination condition is met, and identify the currently downloaded or played video as the target analysis video.
[0125] In this embodiment, a designated detection thread can continuously monitor the video playback status, detecting whether the video has finished playing or downloaded completely. This step considers the bitrate adjustment information determination condition met when the detection thread detects that a video has finished downloading or playing, and then identifies it as the target video for analysis.
[0126] In this embodiment, videos that meet the bitrate adjustment information determination conditions can be identified as target analysis videos. It should be noted that the execution of the bitrate adjustment information determination operation in this embodiment is not limited by other logical steps in this embodiment; this bitrate adjustment information determination operation is applicable to any video that meets the bitrate adjustment information determination conditions.
[0127] b3) Based on the playback attribute information of the target analysis video, determine the target adjustment bitrate of the target analysis video and the target adjustment weight value of the target adjustment bitrate.
[0128] In this embodiment, playback attribute information can be considered as the information values of various attributes involved in video playback, including but not limited to: playback duration, playback bitrate, download duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration. In this embodiment, the playback attribute information of the video can be obtained by detecting the information values corresponding to various attribute parameters during video playback.
[0129] For a target analysis video, it has an actual playback bitrate during playback. However, the playback bitrate used during playback may not be the most suitable bitrate for playback. For example, using this bitrate may cause stuttering or unclear playback. This embodiment can determine a more suitable bitrate for video playback by combining the playback attribute information corresponding to the playback attributes during playback after the target analysis video has finished downloading or playback has ended. This bitrate can be recorded as the adjusted bitrate for the video. Simultaneously, an adjustment weight value can be determined for this adjusted bitrate based on the playback attribute information to characterize its suitability as a playback bitrate.
[0130] In this embodiment, there is a relationship between the adjusted bitrate and the actual playback bitrate. This relationship can be determined by combining the values of adjustment parameters, upper bitrate limit parameters, and lower bitrate limit parameters with the playback bitrate. The upper and lower bitrate limit parameters are preset parameters. The adjustment parameters can be determined by combining playback duration, start buffer duration, end buffer duration, stutter duration, and pause duration with a given calculation expression. The determined adjusted bitrate corresponding to the target video can be denoted as the target adjusted bitrate.
[0131] In this embodiment, after determining the adjustment bitrate, it is necessary to determine the adjustment weight value of the adjustment bitrate based on the playback duration, download duration, and stuttering duration or playback bitrate, combined with the calculation expressions under different weight determination methods. This adjustment weight value, relative to the target adjustment bitrate, can be denoted as the target adjustment weight value.
[0132] c3) The target adjusted bitrate and the target adjusted weight value are used as the target bitrate adjustment information of the target analysis video.
[0133] In this embodiment, the above-described technical solution utilizes playback attribute information from the associated video playback process to determine bitrate adjustment information. This determined bitrate adjustment information can then be used to determine the starting playback selection for subsequent unplayed videos. The entire technical implementation is equivalent to predicting subsequent execution logic based on prior information. Without relying on network speed, this method better determines the starting playback selection, thereby better ensuring a balance between smoothness and clarity during video playback.
[0134] Based on the above optimizations, the embodiments of this disclosure can specifically optimize the determination of the target adjustment bitrate of the target analysis video and the target adjustment weight value of the target adjustment bitrate according to the playback attribute information of the target analysis video as follows:
[0135] b31) Obtain the playback attribute information of the target analysis video, including: playback duration, playback bitrate, download duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration.
[0136] This embodiment can obtain playback attribute information through this step. The playback duration in the playback attribute information can be considered the actual video length; the playback bitrate can be considered the actual bitrate used during video playback; and the download duration can be considered the time required to download the video. If the video download is completed before the video playback ends, the download duration can be considered the actual download duration; if the video playback ends before the download is complete, the download duration is equivalent to the playback duration at which the video playback ended.
[0137] As described above, the start-up buffer duration can be considered as the buffer duration corresponding to the buffered streaming media data in the streaming media data buffer list at the start of playback of the target analysis video; the end-up buffer duration can be considered as the buffer duration corresponding to the buffered streaming media data in the streaming media buffer list at the end of playback of the target analysis video, or at the time when the video download is completed. The stutter duration can be considered as the cumulative stutter duration during playback of the target analysis video; the pause duration can be considered as the cumulative pause duration during playback of the target analysis video.
[0138] b32) Determine the adjustment parameters based on at least one of the following: playback duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration.
[0139] One way to implement this step can be described as follows: by considering the streaming media data of how much buffering time was performed during the video playback stage through the start-up buffering time and end-of-play buffering time; or by considering the specific impact time of human intervention or its own playback conditions during the video playback stage through the stuttering time and pause time.
[0140] Then, by combining the buffer duration and specific impact duration during video playback with given parameters (such as buffer parameters) and parameter value calculation expressions, an adjustment parameter value can be determined. Afterwards, a parameter information can be used to determine whether this adjustment parameter value can be used as the final adjustment parameter. If so, the adjustment parameter value can be considered the final adjustment parameter; otherwise, a parameter value can be selected as the final adjustment parameter according to a chosen strategy. The selection strategy can be to select information that meets the conditions from the determined adjustment parameter value and a given parameter threshold.
[0141] Specifically, in this embodiment of the disclosure, determining the adjustment parameters based on at least one of the playback duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration can be further optimized through the following steps:
[0142] b321) Determine the duration difference between the end buffer duration and the start buffer duration, and determine the sum of the stutter duration and the pause duration.
[0143] This step is used to obtain two information values: the difference between the end buffer duration and the start buffer duration, which can be used as the duration difference; and the sum of the stutter duration and the pause duration, which can be used as the duration sum.
[0144] (b322) The product of the duration difference and the set cache parameter is recorded as the first product value, and the product of the duration and the set pause / lag parameter is recorded as the second product value.
[0145] In this embodiment of the disclosure, the cache parameter and the pause / lag parameter can be preset hyperparameters. The duration difference is multiplied by the preset cache parameter, and the result is recorded as the first product value. The duration sum is multiplied by the preset pause / lag parameter, and the result is recorded as the second product value.
[0146] (b323) Determine the ratio of the difference between the first product value and the second product value to the download duration, and determine the value of the ratio plus 1 as a candidate adjustment parameter.
[0147] Specifically, the difference is obtained by subtracting the second product value from the first product value. The difference is then divided by the download duration and 1, and the resulting value can be used as a candidate adjustment parameter.
[0148] (b324) If the departure marker position corresponding to the target analysis video is the first set marker value, then the minimum value among the candidate adjustment parameter and the set departure upper limit parameter is determined as the adjustment parameter.
[0149] Specifically, after obtaining the candidate adjustment parameters, check the current value of the departure flag relative to the target analysis video. If the departure flag is at the first set value, it can be considered that the target analysis video has passively slipped out during playback. The first set value can preferably be 1. At this time, the candidate adjustment parameters can be filtered again based on the pre-set departure upper limit parameter. If the candidate adjustment parameter is less than or equal to the departure upper limit parameter, it can be considered as qualified data, and thus the candidate adjustment parameter can be used as the final adjustment parameter. If the candidate adjustment parameter is greater than the departure upper limit parameter, it can be considered that the determined candidate adjustment parameter has no reference significance, and at this time the departure upper limit parameter can be determined as the final adjustment parameter.
[0150] (b325) If the departure flag position corresponding to the target analysis video is empty, or is a second set flag value, then the candidate adjustment parameter is determined as the adjustment parameter.
[0151] This step can be considered as an alternative implementation to b324 described above. It also requires checking the current value of the departure flag set relative to the target analysis video. If the departure flag is currently empty or set to the second set flag value, where the second set flag value is preferably 0, it can be assumed that the target analysis video has not passively slipped out during its playback. In this case, this step can directly determine the candidate adjustment parameter as the final adjustment parameter to participate in the subsequent adjustment of the video playback bitrate.
[0152] Steps b321 to b324 above provide one way to determine the adjustment parameters. They mainly consider the impact of buffer duration and pause duration on the playback bitrate during video playback, thereby determining the adjustment parameters that affect the adjustment bitrate.
[0153] b33) Determine the target adjustable bitrate of the target analysis video based on the playback bitrate, adjustment parameters, and the set upper and lower bitrate parameters.
[0154] In this embodiment, both the upper and lower bitrate limits can be considered as pre-defined parameter values. This embodiment can determine the target adjustable bitrate of the target analysis video by calculating the playback bitrate, adjustment parameters, and the set upper and lower bitrate limits.
[0155] The upper and lower bitrate limits are used to define and regulate the adjustment parameters, ensuring that the parameters used to adjust the bitrate fall within these limits. For example, if the adjustment parameter falls within the range of the upper and lower bitrate limits, then the parameter used to adjust the bitrate can be that adjustment parameter. If the adjustment parameter is less than the lower bitrate limit, then the parameter used to adjust the bitrate can be that lower bitrate limit. If the adjustment parameter is greater than the upper bitrate limit, then the parameter used to adjust the bitrate can be that upper bitrate limit.
[0156] In this embodiment, the parameters determined above for determining the adjustment bitrate can be recorded as target adjustment parameters. The relationship between the adjustment bitrate and the playback bitrate of the target analysis video can be expressed as: the product of the target adjustment bitrate and the playback bitrate is the target adjustment bitrate.
[0157] Specifically, in this embodiment of the disclosure, determining the target adjustable bitrate of the target analysis video based on the playback bitrate, adjustment parameters, and the set upper and lower bitrate limits can be further optimized as follows:
[0158] b331) The minimum value between the adjustment parameter and the upper limit bit rate parameter is determined as the intermediate adjustment parameter.
[0159] For example, this step compares the adjusted bitrate with the upper limit bitrate parameter. Only parameter values that do not exceed the upper limit bitrate parameter can be used to determine the adjusted bitrate. Therefore, this step can first determine the minimum value of the two as the intermediate adjustment parameter.
[0160] b332) The maximum value of the lower bit rate limit parameter and the intermediate adjustment parameter is determined as the target adjustment parameter.
[0161] For example, this step compares the lower bitrate limit parameter with the intermediate adjustment parameter. Only parameter values that are not lower than the lower bitrate limit parameter can be used to determine the bitrate adjustment. Therefore, this step can first determine the maximum value of the two as the target adjustment parameter to be used for final bitrate adjustment.
[0162] (b333) The product of the playback bitrate and the target adjustment parameter is determined as the target adjustment bitrate of the target analysis video.
[0163] For example, the relationship between the adjusted bitrate and the playback bitrate can be the product of the playback bitrate and the target adjustment parameter. Therefore, this step can determine the target adjusted bitrate of the target analysis video as the product of the playback bitrate and the target adjustment parameter.
[0164] Steps b331 to b333 above provide one way to determine the target adjustment bitrate. It mainly considers the limitation of the adjustment parameter range on the target adjustment parameter, as well as the relationship between the playback bitrate and the target adjustment parameter, so as to effectively determine the adjustment bitrate that is more suitable for the playback of the target analysis video.
[0165] b34) Based on the playback duration, download duration, and stuttering duration or playback bitrate, and in conjunction with the set weight determination method, determine the target adjustment weight value of the target adjustment bitrate.
[0166] In the implementation of determining the target bitrate adjustment information corresponding to the target analysis video, after determining the target adjustment bitrate, it is necessary to further combine the playback attribute information to determine the target adjustment weight value, so as to characterize the suitability of the target adjustment bitrate for video playback.
[0167] In this embodiment, the suitability of the target adjustment bitrate for video playback can be considered from two dimensions: video download time and video download size. The method for determining the adjustment weight values differs for each dimension. For example, under the video download time dimension, the impact of download duration, buffering duration, and playback duration on the adjustment weight value can be considered; under the video download size dimension, the impact of download duration, playback duration, and playback bitrate on the adjustment weight value can be considered.
[0168] Specifically, in this embodiment of the disclosure, the step of determining the target adjustment weight value of the target adjustment bitrate based on the playback duration, download duration, and stuttering duration or playback bitrate, combined with a set weight determination method, can be further optimized into the following steps:
[0169] b341) Obtain the set weight and determine the marker value.
[0170] In this embodiment of the disclosure, the dimension used to adjust the weight determination can be characterized by a weight determination marker. Different weight determination marker values can characterize different adjustment weight determination dimensions, wherein the weight determination marker value can be given in advance.
[0171] (b342) If the weight determination marker value represents the determination based on the download time, then the sum of the download duration and the stutter duration is taken as the time consumption duration, and the minimum value between the time consumption duration and the playback duration is determined as the target adjustment weight value of the target adjustment bitrate.
[0172] In this embodiment, if the dimension represented by the obtained weight determination marker value is determined based on download time, then this step can be used to determine the target adjustment weight value. Specifically, the download duration and stuttering duration during video playback can be used as the total download time. Considering the limitations of video playback duration on video download characteristics, this embodiment can use the minimum value between the total download time and the playback duration as the target adjustment weight value for the target bitrate under the video download time dimension.
[0173] (b343) If the weight determination marker value represents the determination based on the download size, then the minimum value of the download duration and the playback duration is multiplied by the playback bitrate, and the product value is determined as the target adjustment weight value of the target adjustment bitrate.
[0174] In this embodiment, if the dimension represented by the obtained weight determination marker value is determined based on the download size, then this step can be used to determine the target adjustment weight value. Specifically, the download duration and playback duration during video playback can be compared, and the minimum of the two determines the video playback attribute. Therefore, the minimum of the two can be multiplied by the playback bitrate to serve as the target adjustment weight value for the target bitrate under the video download size dimension.
[0175] The above technical solution in this embodiment provides a specific implementation for determining bitrate adjustment information. The entire technical implementation provides technical support for the bitrate adjustment information required in determining the start-up playback file selection. This enables the start-up playback file selection operation provided in this embodiment to be effectively performed without relying on network speed, thereby better ensuring the balance between smoothness and clarity in video playback.
[0176] As a second optional embodiment of this embodiment, it can be further optimized and added based on the above embodiment: the target analysis video is used as a new historical playback video, and the target bitrate adjustment information of the target analysis video is updated to the cache queue.
[0177] As can be seen, after determining the target bitrate adjustment information relative to the target video through the above steps, it is necessary to further cache the target bitrate adjustment information in a cache list for use in determining the starting playback file for subsequent videos. Specifically, in this embodiment, the target video for which the target bitrate adjustment information has been determined can be recorded as a new historical playback video, and then the target bitrate adjustment information can be cached in a cache queue according to appropriate caching constraints. Furthermore, the above steps can be considered an iterative process; as long as a new historical playback video exists and the corresponding adjustment bitrate weight value is determined, the bitrate adjustment information can be updated in the cache queue through this step.
[0178] It should be noted that the cache queue does not allow unlimited addition of bitrate adjustment information. It must ensure that after adding bitrate adjustment information, the cache list can still meet a certain set condition. This condition can be referred to as the cache constraint. The cache constraint can be that the total number of bitrate adjustment information contained in the cache queue is not greater than a set value; or it can be that the sum of the adjustment weight values of the bitrate adjustment information contained in the cache queue is not greater than a set threshold.
[0179] Therefore, in the optional embodiment, when implementing the caching of target bitrate adjustment information into the cache queue, the earliest cached bitrate adjustment information can be deleted from the cache queue to ensure that the total number after adding the target bitrate adjustment information is still not greater than the set value; or, the adjustment weight value in the earliest cached bitrate adjustment information can be deleted or changed to ensure that the sum of the adjustment weight values in the cache queue after adding the target bitrate adjustment information is still not greater than the set threshold.
[0180] It should be noted that the method used to cache target bitrate adjustment information varies depending on the different limiting conditions set for the cache list. The bitrate adjustment information caching implemented in this embodiment through steps a4 to d4 below can be considered as a caching strategy proposed with the limiting condition that the sum of the adjustment weight values in the cache queue is not greater than a set threshold.
[0181] Specifically, as one implementation method under such limited conditions, this optional embodiment can further optimize the update of the target bitrate adjustment information of the target analysis video to the cache queue as follows:
[0182] a4) Obtain the bitrate adjustment information of each historically played video already contained in the cache queue, and record them as historical bitrate adjustment information.
[0183] In this embodiment, this step can directly obtain the bitrate adjustment information of each historical video that has been cached in the cache queue. In order to facilitate differentiation, the obtained bitrate adjustment information is recorded as historical bitrate adjustment information.
[0184] b4) Determine the sum of the weight values of the adjustment weight values in each of the historical bitrate adjustment information.
[0185] This step can determine the sum of the weight values of each adjustment weight based on the historical bitrate adjustment information obtained above.
[0186] c4) Determine the sum of the weight values and the sum of the target adjustment weight values in the target bitrate adjustment information, and record it as the target weight sum.
[0187] This step can further add the target adjustment weight value from the target bitrate adjustment information to the sum of the weight values, thereby obtaining the target weight sum.
[0188] d4) Update the target bitrate adjustment information to the cache queue according to the target weight and the set adjustment threshold.
[0189] In this embodiment, the set adjustment threshold can be considered as a conditional threshold set relative to the sum of the adjustment weight values. In this step, the comparison results between the target weight sum and the set adjustment threshold are different, and the methods used to update the target bitrate adjustment information to the cache queue are different.
[0190] For example, if the target weight sum is less than or equal to the set adjustment threshold, it can be assumed that the sum of the adjustment weight values after caching the target bitrate adjustment information to the cache queue will not be greater than the set adjustment threshold. In this case, the target bitrate adjustment information can be directly cached to the cache queue.
[0191] As described above, if the sum of the target weights is greater than the set adjustment threshold, it can be assumed that the sum of the adjustment weights after caching the target bitrate adjustment information to the cache queue is greater than the set adjustment threshold. In this case, it is necessary to delete or change the adjustment weights in the cache queue, and then cache the target bitrate adjustment information to the cache queue again, so that the sum of the adjustment weights after caching the target bitrate adjustment information to the cache queue can still satisfy the condition that the sum of the adjustment weights is not greater than the set adjustment threshold.
[0192] Specifically, the implementation of deleting or changing the adjustment weight value in the cache queue can be achieved by taking the earliest bitrate adjustment information added to the cache queue as the operation object, and then providing specific operation logic based on the comparison between the adjustment weight value in the operation object and the part exceeding the set adjustment threshold. The operation logic can be to directly delete the operation object, update the adjustment weight value in the operation object, or take the bitrate adjustment information adjacent to the operation object as the new operation object and repeat the above operation logic.
[0193] The above-described technical solution in this embodiment provides a specific implementation of updating bitrate adjustment information to the cache queue. The entire implementation process requires ensuring that the information contained in the cache queue meets certain limiting conditions. The dynamic updating of the cache queue information implemented through this technical solution ensures the timeliness of the information contained in the cache queue, thereby guaranteeing the effectiveness of using the information contained in the cache queue to determine the start-up selection.
[0194] Based on the above optimizations, the present disclosure embodiment can specifically optimize the updating of the target bitrate adjustment information to the cache queue according to the target weight and the set adjustment threshold as follows:
[0195] d41) Obtain the set adjustment threshold.
[0196] The threshold setting can be a pre-set empirical threshold.
[0197] d42) Determine whether the target weight is less than or equal to the set adjustment threshold. If yes, proceed to step d43; otherwise, proceed to step d44.
[0198] This step is equivalent to determining whether the cache queue meets the limiting conditions. If the target weight is less than or equal to the set adjustment threshold, it can be considered that the cache queue still meets the limiting conditions after adding the target bitrate adjustment information, and step d43 can be executed; otherwise, it can be considered that the limiting conditions are not met after adding the target bitrate adjustment information, and step d44 needs to be executed.
[0199] d43) Add the target bitrate adjustment information to the tail of the cache queue.
[0200] This step allows you to directly add the target bitrate adjustment information to the tail of the cache queue.
[0201] d44) Determine the difference between the target weight and the set adjustment threshold, denoted as the weight difference, and update the target bitrate adjustment information to the cache queue according to the weight difference.
[0202] This step requires calculating the difference between the target weight and the set adjustment threshold, and recording it as the weight difference. This weight difference can be considered as the portion of the sum of the adjustment weight values in the cache queue that exceeds the set adjustment threshold after the target bitrate adjustment information is added.
[0203] This step can update the target bitrate adjustment information based on the weight difference and the bitrate adjustment information at the head of the cache queue. The weight difference can be equal to, greater than, or less than the head adjustment weight value in the queue bitrate adjustment information. Different comparison results between the weight difference and the head adjustment weight value correspond to different caching methods for updating the target bitrate adjustment information to the cache queue.
[0204] Specifically, in this embodiment of the disclosure, updating the target bitrate adjustment information to the cache queue based on the weight difference can be further optimized to the following steps:
[0205] d441) Obtain the head adjustment weight value from the head bitrate adjustment information of the cache queue.
[0206] For example, this step obtains the bitrate adjustment information of the head of the cache queue, and can obtain the adjustment weight value in the information, which is denoted as the head adjustment weight value.
[0207] d442) Compare the weight value of the first condition with the weight difference.
[0208] For example, the comparison result includes the head condition weight value being greater than, equal to, or less than the weight difference.
[0209] d443) If the head-of-line adjustment weight value is greater than the weight difference value, then the difference between the head-of-line adjustment weight value and the weight difference value is used as the new head-of-line adjustment weight value in the head-of-line bitrate adjustment information, and the target bitrate adjustment information is added to the tail of the cache queue.
[0210] This step can be considered as the execution logic of one type of comparison result. Under this comparison result, it is not necessary to delete all the bitrate adjustment information at the head of the queue. It is only necessary to update the bitrate adjustment weight value at the head of the queue. Specifically, it can be updated to the difference between the original bitrate adjustment weight value and the weight difference value. After the weight value is updated, the target bitrate adjustment information can be added to the tail of the cache queue.
[0211] d444) If the head-of-line adjustment weight value is equal to the weight difference, then the head-of-line bitrate adjustment information is directly deleted from the cache queue, and the target bitrate adjustment information is added to the tail of the cache queue.
[0212] This step can be considered as another comparison result execution logic. Under this comparison result, it is equivalent to the weight value of the head of the queue being exactly the weight value of the part exceeding the threshold. Therefore, the bitrate adjustment information of the head of the queue can be directly deleted from the cache queue. After that, the target bitrate adjustment information can be added to the tail of the cache queue.
[0213] d445) If the head-of-line adjustment weight value is less than the weight difference value, then the head-of-line bitrate adjustment information is deleted from the cache queue, and the next bitrate adjustment information of the head-of-line bitrate adjustment information is used as the new head-of-line bitrate adjustment information, and the process returns to step d442.
[0214] This step can be considered as another comparison result execution logic. Under this comparison result, it is equivalent to the head-of-line adjustment weight value being smaller than the weight value of the part exceeding the threshold. It is necessary to further consider the weight value that needs to be deleted. Therefore, the head-of-line bitrate adjustment information needs to be deleted. After that, it is necessary to determine the head-of-line adjustment bitrate information and return to step d442 to re-compare the head-of-line weight value and the weight difference.
[0215] The above-described technical solution in this embodiment can maintain a stable value for the weights in the cache queue by updating and replacing the bitrate adjustment information, which facilitates the calculation of new adjustment bitrates to determine accurate adjustment levels.
[0216] The caching of bitrate adjustment information implemented in this embodiment through the following steps a5 to d5 can be considered as a caching strategy proposed with the condition that the total number of bitrate adjustment information contained in the cache queue is not greater than a set value.
[0217] Specifically, as one implementation method under such limited conditions, this optional embodiment can further optimize the update of the target bitrate adjustment information of the target analysis video to the cache queue as follows:
[0218] a5) Obtain the number of historical information items that already contain historical bitrate adjustment information in the cache queue, and add 1 to the number of historical information items as the expected number of information items.
[0219] In this embodiment, this step can directly obtain the bitrate adjustment information of each historical video that has been cached in the cache queue, thereby determining the total number of all bitrate adjustment information. In this embodiment, this total number is recorded as the number of historical information.
[0220] This step can also add 1 to the above-mentioned number of historical information items, as the total number after adding the target bitrate adjustment information, which is denoted as the expected number of information items in this embodiment.
[0221] b5) Determine if the number of expected information items is less than or equal to a set threshold. If yes, proceed to step c5; otherwise, proceed to step d5.
[0222] In this embodiment, the set number threshold can be considered as a conditional threshold relative to the number of information items that the cache queue can hold. In this step, there is a comparison relationship between the expected number of information items and the set number threshold, which can be less than, equal to, or greater than. When it is determined that the expected number of information items is less than or equal to the set number threshold, it can be considered that the number of bitrate adjustment information items contained in the cache queue has not yet reached the limit condition, and thus step c5 can be executed directly. However, when the expected number of information items is greater than the set number threshold, it can be considered that the number of bitrate adjustment information items contained in the cache queue has exceeded the limit condition, and thus step d5 needs to be executed.
[0223] c5) Directly add the target bitrate adjustment information to the tail of the cache queue.
[0224] This step allows you to directly add the target bitrate adjustment information to the tail of the cache queue.
[0225] d5) Delete the head bitrate adjustment information in the cache queue and add the target bitrate adjustment information to the tail of the cache queue.
[0226] However, if the number of bitrate adjustment information items contained in the cache queue has exceeded the limit, and if you want to limit the number of items after adding the target bitrate adjustment information to within the set threshold, you can delete the bitrate adjustment information at the head of the cache queue in this step, and then add the target bitrate adjustment information to the tail of the cache queue.
[0227] The above-described technical solution in this embodiment can maintain a stable value for the number of items in the cache queue by updating and replacing the bitrate adjustment information, which facilitates the calculation of the new adjustment bitrate to determine the accurate level adjustment.
[0228] Figure 4 This is a schematic diagram of the structure of a video playback device provided in an embodiment of this disclosure, as shown below. Figure 4 As shown, the device may include: a response selection module 410, a bitrate adjustment selection module 420, and a playback mode module 430. Among them,
[0229] The operation response module 410 is used to respond to the start playback selection operation of the video to be played;
[0230] The gear selection module 420 is used to determine the target starting gear corresponding to the video to be played based on the bitrate adjustment information of the historical playback videos cached in the set cache queue. The bitrate adjustment information includes the adjusted bitrate of the corresponding historical playback video and the adjustment weight value of the adjusted bitrate.
[0231] The video playback module 430 is used to play the video to be played at the playback quality corresponding to the target start-up level when the playback conditions of the video to be played are met.
[0232] The technical solution provided in this disclosure can determine the starting playback level of a video before playback by triggering a playback selection operation, without relying on network speed, based on the bitrate adjustment information of historically played videos. This achieves precise video playback selection, ensuring a balance between playback smoothness and clarity when the selected playback quality is used. This technical solution decouples the playback selection from the available network speed at the time of selection, making it better suited for scenarios where network speed is limited. By ensuring an effective balance between video playback smoothness and clarity through the determined playback level, it improves the user's video viewing experience and expands the scope of application of this technical solution.
[0233] Furthermore, the gear selection module 420 may include:
[0234] The first acquisition unit is used to acquire bitrate adjustment information of each historically played video cached in the cache queue, and determine the sum of adjustment weights of the adjustment weight values in each bitrate adjustment information.
[0235] The first determining unit is used to determine the target bitrate of the video to be played based on the comparison result between the sum of the adjustment weights and the set minimum effective weight threshold.
[0236] The second determining unit is used to determine the target start-up level corresponding to the video to be played based on the target bitrate.
[0237] Furthermore, the first determining unit may specifically include:
[0238] The first determining subunit is used to set the base bitrate as the target bitrate of the video to be played when the sum of the adjustment weights is less than the minimum effective weight threshold.
[0239] The second determining subunit determines the weighted value of each adjusted bitrate and the corresponding adjusted weight value when the sum of the adjustment weights is greater than or equal to the minimum effective weight threshold, and determines the target bitrate corresponding to the video to be played based on the weighted value.
[0240] Furthermore, the second determined subunit can specifically be used for:
[0241] According to the weighting rules corresponding to the preset weighting identifier, the adjustment bit rate and the corresponding adjustment weight value are weighted to obtain the weighting value;
[0242] Determine the product of the weighted value and the set secondary adjustment parameter, and take the minimum value between the product value and the set upper limit of bit rate as the candidate bit rate;
[0243] The maximum value among the set lower limit bitrate and the candidate bitrates is determined as the target bitrate of the video to be played.
[0244] Furthermore, the first determining unit can specifically be used for:
[0245] Search the pre-set bitrate-price relationship table, which includes at least one binary relationship group, and each binary relationship group includes a bitrate range and a corresponding starting price.
[0246] The starting bit position corresponding to the bit rate range of the target bit rate is taken as the target starting bit position of the video to be played.
[0247] Furthermore, the device also includes: an adjustment information determination module.
[0248] The adjustment information determination module is used to determine the target analysis video and the target bitrate adjustment information of the target analysis video when the bitrate adjustment information determination conditions are met.
[0249] Furthermore, the adjustment information determination module may include:
[0250] The video analysis and determination unit is used to detect when a video has finished downloading or finished playing, determine when the current bitrate adjustment information determination condition is met, and determine the video that has finished downloading or finished playing as the target analysis video.
[0251] The bitrate weight determination unit is used to determine the target adjustable bitrate of the target analysis video and the target adjustment weight value of the target adjustable bitrate based on the playback attribute information of the target analysis video.
[0252] The information aggregation unit is used to use the target adjusted bitrate and the target adjusted weight value as the target bitrate adjustment information of the target analysis video.
[0253] Furthermore, the bitrate weight determination unit may specifically include:
[0254] The attribute acquisition subunit is used to acquire the playback attribute information of the target analysis video. The playback attribute information includes: playback duration, playback bitrate, download duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration.
[0255] The parameter determination subunit is used to determine the adjustment parameters based on the playback duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration.
[0256] The bitrate determination subunit is used to determine the target adjustable bitrate of the target analysis video based on the playback bitrate, adjustment parameters, and set upper and lower bitrate parameters.
[0257] The weight determination subunit is used to determine the target adjustment weight value of the target adjustment bitrate based on the playback duration, download duration, and stutter duration or playback bitrate, combined with the set weight determination method.
[0258] Furthermore, the parameter determination sub-unit can be specifically used for:
[0259] Determine the duration difference between the end buffer duration and the start buffer duration, and determine the sum of the stutter duration and the pause duration;
[0260] The product of the duration difference and the set cache parameter is recorded as the first product value, and the product of the duration and the set pause / lag parameter is recorded as the second product value.
[0261] Determine the ratio of the difference between the first product value and the second product value to the download duration, and determine the value of the ratio plus 1 as a candidate adjustment parameter;
[0262] If the departure marker position corresponding to the target analysis video is the first set marker value, then the minimum value among the candidate adjustment parameter and the set departure upper limit parameter is determined as the adjustment parameter;
[0263] If the departure flag position corresponding to the target analysis video is empty, or is a second set flag value, then the candidate adjustment parameter is determined as the adjustment parameter.
[0264] Furthermore, the rate determination subunit can be specifically used for:
[0265] The minimum value between the adjustment parameter and the upper limit bit rate parameter is determined as the intermediate adjustment parameter;
[0266] The maximum value between the lower bitrate limit parameter and the intermediate adjustment parameter is determined as the target adjustment parameter;
[0267] The product of the playback bitrate and the target adjustment parameter is determined as the target adjustment bitrate of the target analysis video.
[0268] Furthermore, the weight determination sub-unit can be specifically used for:
[0269] Obtain the set weights to determine the tag value;
[0270] If the weight determination marker value represents the determination based on the download time, then the sum of the download duration and the stutter duration is taken as the time consumed, and the minimum value between the time consumed and the playback duration is determined as the target adjustment weight value of the target adjustment bitrate;
[0271] If the weight determination marker value represents the determination based on the download size, then the minimum value between the download duration and the playback duration is multiplied by the playback bitrate, and the product value is determined as the target adjustment weight value of the target adjustment bitrate.
[0272] Furthermore, the device also includes a queue update module.
[0273] The queue update module is used to treat the target analysis video as a new historical playback video and update the target bitrate adjustment information of the target analysis video to the cache queue.
[0274] Furthermore, the queue update module may include:
[0275] The historical information acquisition unit is used to acquire the bitrate adjustment information of each historically played video already contained in the cache queue, and these are respectively denoted as historical bitrate adjustment information.
[0276] The first calculation unit is used to determine the sum of the weight values of the adjustment weight values in each of the historical bitrate adjustment information;
[0277] The second calculation unit is used to determine the sum of the weight values and the target adjustment weight values in the target bitrate adjustment information, and denot it as the target weight sum;
[0278] The cache update unit is used to update the target bitrate adjustment information to the cache queue according to the target weight and the set adjustment threshold.
[0279] Furthermore, updating the cache unit may include:
[0280] The first execution unit is configured to directly add the target bitrate adjustment information to the tail of the cache queue when the target weight sum is less than or equal to the set adjustment threshold; otherwise,
[0281] The second execution unit is used to determine the difference between the target weight sum and the set adjustment threshold when the target weight sum is greater than the set adjustment threshold, record it as the weight difference, and update the target bitrate adjustment information to the cache queue according to the weight difference.
[0282] Furthermore, the second judgment cache subunit can specifically be used for:
[0283] Obtain the head-of-line adjustment weight value from the head-of-line code rate adjustment information of the cache queue;
[0284] Compare the weight value of the first condition with the weight difference;
[0285] If the head-of-line adjustment weight value is greater than the weight difference value, then the difference between the head-of-line adjustment weight value and the weight difference value is used as the new head-of-line adjustment weight value in the head-of-line bitrate adjustment information, and the target bitrate adjustment information is added to the tail of the cache queue.
[0286] If the head-of-line adjustment weight value is equal to the weight difference value, then the head-of-line bitrate adjustment information is directly deleted from the cache queue, and the target bitrate adjustment information is added to the tail of the cache queue.
[0287] If the head-of-line adjustment weight value is less than the weight difference value, the head-of-line bitrate adjustment information is deleted from the cache queue, and the next bitrate adjustment information of the head-of-line bitrate adjustment information is used as the new head-of-line bitrate adjustment information. The comparison operation between the head-of-line adjustment weight value and the weight difference value is then re-executed.
[0288] Furthermore, the queue update module can also be used to include:
[0289] Obtain the number of historical information entries that already contain historical bitrate adjustment information in the cache queue, and increment the number of historical information entries by 1 to obtain the expected number of information entries;
[0290] If the expected number of information items is less than or equal to a set threshold, then the target bitrate adjustment information is directly added to the tail of the cache queue; otherwise,
[0291] Delete the bitrate adjustment information at the head of the cache queue and add the target bitrate adjustment information to the tail of the cache queue.
[0292] The video playback device structure provided in this disclosure can execute the video playback method provided in any embodiment of this disclosure, and has the corresponding functional modules and beneficial effects of executing the method.
[0293] It is worth noting that the various units and modules included in the above-mentioned device are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the protection scope of the embodiments of this disclosure.
[0294] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Reference is made below. Figure 5 It illustrates an electronic device suitable for implementing embodiments of the present disclosure (e.g., Figure 5 The diagram below shows the structure of the terminal device or server 500. The terminal device in this embodiment may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and vehicle terminals (e.g., vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 5 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0295] like Figure 5 As shown, the electronic device 500 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage device 508 into a random access memory (RAM) 503. The RAM 503 also stores various programs and data required for the operation of the electronic device 500. The processing unit 501, ROM 502, and RAM 503 are interconnected via a bus 504. An edit / output (I / O) interface 505 is also connected to the bus 504.
[0296] Typically, the following devices can be connected to I / O interface 505: input devices 506 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 507 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 508 including, for example, magnetic tapes, hard disks, etc.; and communication devices 509. Communication device 509 allows electronic device 500 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 5 An electronic device 500 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0297] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 509, or installed from a storage device 508, or installed from a ROM 502. When the computer program is executed by the processing device 501, it performs the functions defined in the methods of embodiments of this disclosure.
[0298] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0299] The electronic device provided in this embodiment and the video playback method provided in the above embodiments belong to the same inventive concept. Technical details not described in detail in this embodiment can be found in the above embodiments, and this embodiment has the same beneficial effects as the above embodiments.
[0300] This disclosure provides a computer storage medium storing a computer program that, when executed by a processor, implements the video playback method provided in the above embodiments.
[0301] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0302] In some implementations, clients and servers can communicate using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol) and can interconnect with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future-developed networks.
[0303] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0304] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to:
[0305] The aforementioned computer-readable medium carries one or more programs that, when executed by the electronic device, cause the electronic device to: respond to a playback selection operation for a video to be played; determine a target playback level corresponding to the video to be played based on bitrate adjustment information of historically played videos cached in a set cache queue, wherein the bitrate adjustment information includes the adjusted bitrate of the corresponding historically played videos and the adjustment weight value of the adjusted bitrate; and, when the playback conditions of the video to be played are met, play the video to be played at the playback quality corresponding to the target playback level.
[0306] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0307] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0308] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.
[0309] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.
[0310] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0311] According to one or more embodiments of this disclosure, [Example 1] provides a video playback method, the method comprising: responding to a playback selection operation of a video to be played; determining a target playback level corresponding to the video to be played based on bitrate adjustment information of historically played videos cached in a set cache queue, wherein the bitrate adjustment information includes the adjusted bitrate of the corresponding historically played videos and the adjustment weight value of the adjusted bitrate; and playing the video to be played at the playback quality corresponding to the target playback level when the playback conditions of the video to be played are met.
[0312] According to one or more embodiments of this disclosure, [Example 2] provides a video playback method. This method includes further optimization of the bitrate adjustment information, which includes the adjusted bitrate of corresponding historically played videos, and the adjustment weight values of the adjusted bitrate. Specifically, the optimization can be as follows: first, obtain the bitrate adjustment information of each historically played video cached in the cache queue, and determine the sum of the adjustment weight values of each bitrate adjustment information; then, based on the comparison result between the sum of the adjustment weights and a set minimum effective weight threshold, determine the target bitrate corresponding to the video to be played; finally, determine the target starting playback level corresponding to the video to be played based on the target bitrate.
[0313] According to one or more embodiments of this disclosure, [Example 3] provides a video playback method. This method includes further optimization of determining the target bitrate corresponding to the video to be played based on a comparison result of the sum of the adjustment weights and a set minimum effective weight threshold. Specifically, the optimization can be as follows: if the sum of the adjustment weights is less than the minimum effective weight threshold, then a set baseline bitrate is used as the target bitrate of the video to be played; if the sum of the adjustment weights is greater than or equal to the minimum effective weight threshold, then a weighted value is determined for each adjustment bitrate and its corresponding adjustment weight value, and the target bitrate corresponding to the video to be played is determined based on the weighted value.
[0314] According to one or more embodiments of this disclosure, [Example 4] provides a video playback method. This method includes further optimization of determining a weighted value for each of the adjusted bitrates and their corresponding adjustment weights, and determining the target bitrate of the video to be played based on the weighted value. Specifically, the optimization can be as follows: weighting each of the adjusted bitrates and their corresponding adjustment weights according to a weighting rule corresponding to a preset weighting identifier to obtain a weighted value; determining the product of the weighted value and a set secondary adjustment parameter, and using the minimum value between the product value and a set upper bitrate limit as a candidate bitrate; and determining the maximum value between a set lower bitrate limit and the candidate bitrate as the target bitrate of the video to be played.
[0315] According to one or more embodiments of this disclosure, [Example 5] provides a video playback method, which includes further optimization of determining the target start-up level corresponding to the video to be played based on the target bitrate. Specifically, it can be optimized by searching a pre-set bitrate-level relationship table, wherein the bitrate-level relationship table includes at least one binary relationship group, and each binary relationship group includes a bitrate range and a corresponding start-up level; and the start-up level corresponding to the bitrate range in which the target bitrate is located is taken as the target start-up level of the video to be played.
[0316] According to one or more embodiments of this disclosure, [Example Six] provides a video playback method that optimizes the determination of a target analysis video and the determination of target bitrate adjustment information of the target analysis video when the bitrate adjustment information determination conditions are met.
[0317] According to one or more embodiments of this disclosure, [Example Seven] provides a video playback method. This method includes further optimization of determining a target analysis video and its target bitrate adjustment information when bitrate adjustment information determination conditions are met. Specifically, the optimization can be as follows: upon detecting that a video has finished downloading or finished playing, it is determined that the bitrate adjustment information determination conditions are met, and the currently downloaded or played video is identified as the target analysis video; based on the playback attribute information of the target analysis video, a target adjustment bitrate and a target adjustment weight value for the target adjustment bitrate are determined; the target adjustment bitrate and the target adjustment weight value are used as the target bitrate adjustment information for the target analysis video.
[0318] According to one or more embodiments of this disclosure, [Example Eight] provides a video playback method. This method includes further optimization of determining a target adjustable bitrate of the target analyzed video based on playback attribute information of the target analyzed video, and a target adjustment weight value for the target adjustable bitrate. Specifically, the optimization can be as follows: obtaining playback attribute information of the target analyzed video, the playback attribute information including: playback duration, playback bitrate, download duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration; determining adjustment parameters based on the playback duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration; determining a target adjustable bitrate of the target analyzed video based on the playback bitrate, adjustment parameters, and set upper and lower bitrate parameters; and determining a target adjustment weight value for the target adjustable bitrate based on the playback duration, download duration, and stutter duration or playback bitrate, combined with a set weight determination method.
[0319] According to one or more embodiments of this disclosure, [Example Nine] provides a video playback method, which includes further optimization of determining adjustment parameters based on the playback duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration. Specifically, the optimization can be as follows: determining the duration difference between the end-up buffer duration and the start-up buffer duration, and determining the duration sum of the stutter duration and the pause duration; recording the product of the duration difference and a set buffer parameter as a first product value, and recording the product of the duration sum and a set pause / stutter parameter as a second product value; determining the ratio of the difference between the first product value and the second product value to the download duration, and determining the value after adding 1 to the ratio as a candidate adjustment parameter; if the departure flag position corresponding to the target analysis video is a first set flag value, then determining the minimum value among the candidate adjustment parameter and the set departure upper limit parameter as the adjustment parameter;
[0320] If the departure flag position corresponding to the target analysis video is empty, or is a second set flag value, then the candidate adjustment parameter is determined as the adjustment parameter.
[0321] According to one or more embodiments of this disclosure, [Example 10] provides a video playback method, which includes further optimization of determining the target adjusted bitrate of the target analysis video based on the playback bitrate, adjustment parameters, and set upper and lower bitrate parameters. Specifically, the optimization can be as follows: determining the minimum value of the adjustment parameters and the upper bitrate parameter as an intermediate adjustment parameter; determining the maximum value of the lower bitrate parameter and the intermediate adjustment parameter as a target adjustment parameter; and determining the product of the playback bitrate and the target adjustment parameter as the target adjusted bitrate of the target analysis video.
[0322] According to one or more embodiments of this disclosure, [Example 11] provides a video playback method. This method includes further optimization of determining a target adjustment weight value for a target adjustable bitrate based on the playback duration, download duration, and buffer duration or playback bitrate, combined with a set weight determination method. Specifically, the optimization can be as follows: obtaining a set weight determination marker value; if the weight determination marker value indicates that the bitrate is determined based on the download time, then the sum of the download duration and the buffer duration is taken as the time consumed, and the minimum value between the time consumed and the playback duration is determined as the target adjustment weight value for the target adjustable bitrate; if the weight determination marker value indicates that the bitrate is determined based on the download size, then the minimum value between the download duration and the playback duration is multiplied by the playback bitrate, and the product is determined as the target adjustment weight value for the target adjustable bitrate.
[0323] According to one or more embodiments of this disclosure, [Example Twelve] provides a video playback method, which further includes using the target analysis video as a new historical playback video and updating the target bitrate adjustment information of the target analysis video to the cache queue.
[0324] According to one or more embodiments of this disclosure, [Example Thirteen] provides a video playback method, which includes further optimizations to update the target bitrate adjustment information of the target analyzed video to the cache queue, obtaining bitrate adjustment information of each historically played video already contained in the cache queue, and denoting them as historical bitrate adjustment information; determining the sum of the weight values of the adjustment weight values in each of the historical bitrate adjustment information; determining the sum of the weight values and the target adjustment weight value in the target bitrate adjustment information, and denoting it as the target weight sum; updating the target bitrate adjustment information to the cache queue according to the target weight sum and a set adjustment threshold.
[0325] According to one or more embodiments of this disclosure, Example Fourteen provides a video playback method. This method includes further optimization of updating target bitrate adjustment information to a cache queue based on the target weight sum and a set adjustment threshold. Specifically, the optimization can be as follows: if the target weight sum is less than or equal to the set adjustment threshold, the target bitrate adjustment information is directly added to the tail of the cache queue; otherwise, the difference between the target weight sum and the set adjustment threshold is determined, denoted as a weight difference, and the target bitrate adjustment information is updated to the cache queue based on the weight difference.
[0326] According to one or more embodiments of this disclosure, [Example Fifteen] provides a video playback method, which includes further optimization of updating the target bitrate adjustment information to the cache queue based on the weight difference. Specifically, the optimization can be as follows: obtaining a queue-head adjustment weight value from the queue-head bitrate adjustment information of the cache queue; comparing the queue-head conditional weight value with the weight difference; if the queue-head adjustment weight value is greater than the weight difference, then using the difference between the queue-head adjustment weight value and the weight difference as a new queue-head adjustment weight value in the queue-head bitrate adjustment information. The target bitrate adjustment information is added to the tail of the cache queue. If the adjustment weight value at the head of the queue is equal to the weight difference, the bitrate adjustment information at the head of the queue is directly deleted from the cache queue, and the target bitrate adjustment information is added to the tail of the cache queue. If the adjustment weight value at the head of the queue is less than the weight difference, the bitrate adjustment information at the head of the queue is deleted from the cache queue, and the next bitrate adjustment information of the bitrate adjustment information at the head of the queue is used as the new bitrate adjustment information at the head of the queue. The comparison operation between the adjustment weight value at the head of the queue and the weight difference is then re-executed.
[0327] According to one or more embodiments of this disclosure, [Example Sixteen] provides a video playback method, which includes further optimization of updating the target bitrate adjustment information of the target analyzed video to the cache queue. Specifically, the optimization can be as follows: obtain the number of historical information items that already contain each historical bitrate adjustment information item in the cache queue, and add 1 to the number of historical information items as the expected number of information items; if the expected number of information items is less than or equal to a set number threshold, then directly add the target bitrate adjustment information to the tail of the cache queue; otherwise, delete the bitrate adjustment information at the head of the cache queue, and add the target bitrate adjustment information to the tail of the cache queue.
[0328] According to one or more embodiments of this disclosure, [Example Seventeen] provides a video playback device, the device comprising: an operation response module, configured to respond to a start playback selection operation of a video to be played; a playback level determination module, configured to determine a target start playback level corresponding to the video to be played based on bitrate adjustment information of historically played videos cached in a set cache queue; and a video playback module, configured to play the video to be played at the playback quality corresponding to the target start playback level when the playback conditions of the video to be played are met.
[0329] According to one or more embodiments of this disclosure, [Example 18] provides an electronic device including one or more processors; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement the video playback method as described in any of Examples 1 to 16 above.
[0330] According to one or more embodiments of this disclosure, [Example 19] provides a storage medium containing computer-executable instructions that, when executed by a computer processor, are used to perform a video playback method as described in any of Examples 1 to 16.
[0331] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0332] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0333] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative examples of implementing the claims.
Claims
1. A video playback method, characterized in that, include: Responding to the start playback selection operation of the video to be played; Based on the bitrate adjustment information of the historical videos cached in the set cache queue, the target starting playback level corresponding to the video to be played is determined. The bitrate adjustment information includes the adjusted bitrate of the corresponding historical videos and the adjustment weight value of the adjusted bitrate. The adjustment weight value is used to measure the adaptability when playing the corresponding historical videos using the adjusted bitrate. When the playback conditions of the video to be played are met, the video to be played is played at the playback quality corresponding to the target starting playback level.
2. The method according to claim 1, characterized in that, The step of determining the target starting playback level corresponding to the video to be played based on the bitrate adjustment information of historically played videos cached in the set cache queue includes: Obtain the bitrate adjustment information of each historically played video cached in the cache queue, and determine the sum of the adjustment weights of the adjustment weight values in each bitrate adjustment information; Based on the comparison between the sum of the adjustment weights and the set minimum effective weight threshold, the target bitrate corresponding to the video to be played is determined. The target starting playback level of the video to be played is determined based on the target bitrate.
3. The method according to claim 2, characterized in that, The step of determining the target bitrate of the video to be played based on the comparison result of the sum of the adjustment weights and the set minimum effective weight threshold includes: If the sum of the adjustment weights is less than the minimum effective weight threshold, then the set base bitrate is used as the target bitrate of the video to be played. If the sum of the adjustment weights is greater than or equal to the minimum effective weight threshold, then the weighted value of each adjustment bitrate and the corresponding adjustment weight value is determined, and the target bitrate corresponding to the video to be played is determined based on the weighted value.
4. The method according to claim 3, characterized in that, The step of determining the weighted value of each adjusted bitrate and its corresponding adjustment weight value, and determining the target bitrate corresponding to the video to be played based on the weighted value, includes: According to the weighting rules corresponding to the preset weighting identifier, the adjustment bit rate and the corresponding adjustment weight value are weighted to obtain the weighting value; Determine the product of the weighted value and the set secondary adjustment parameter, and take the minimum value between the product value and the set upper limit of bit rate as the candidate bit rate; The maximum value among the set lower limit bitrate and the candidate bitrates is determined as the target bitrate of the video to be played.
5. The method according to any one of claims 2-4, characterized in that, Determining the target start-up bitrate corresponding to the video to be played based on the target bitrate includes: Search the pre-set bitrate-level relationship table, which includes at least one binary relationship group, and each binary relationship group includes a bitrate range and a corresponding starting level; The starting bit position corresponding to the bit rate range of the target bit rate is taken as the target starting bit position of the video to be played.
6. The method according to claim 1, characterized in that, Also includes: When the conditions for determining bitrate adjustment information are met, the target analysis video is determined, and the target bitrate adjustment information of the target analysis video is determined.
7. The method according to claim 6, characterized in that, The step of determining the target analysis video and the target bitrate adjustment information of the target analysis video when the bitrate adjustment information determination conditions are met includes: Once it is detected that a video has finished downloading or finished playing, it is determined that the current conditions for determining bitrate adjustment information are met, and the video that has finished downloading or finished playing is identified as the target analysis video. Based on the playback attribute information of the target analysis video, determine the target adjustment bitrate of the target analysis video and the target adjustment weight value of the target adjustment bitrate; The target adjusted bitrate and the target adjusted weight value are used as the target bitrate adjustment information for the target analysis video.
8. The method according to claim 7, characterized in that, The step of determining the target adjustment bitrate of the target analysis video and the target adjustment weight value of the target adjustment bitrate based on the playback attribute information of the target analysis video includes: The playback attribute information of the target video to be analyzed is obtained, including: playback duration, playback bitrate, download duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration. The adjustment parameters are determined based on at least one of the following: playback duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration; Based on the playback bitrate, adjustment parameters, and the set upper and lower bitrate parameters, the target adjustment bitrate of the target analysis video is determined; Based on the playback duration, download duration, and buffering duration or playback bitrate, and combined with the set weighting determination method, the target adjustment weight value of the target adjustment bitrate is determined.
9. The method according to claim 8, characterized in that, The adjustment parameters are determined based on at least one of the following: playback duration, start-up buffer duration, end-up buffer duration, stutter duration, and pause duration, including: Determine the duration difference between the end buffer duration and the start buffer duration, and determine the sum of the stutter duration and the pause duration; The product of the duration difference and the set cache parameter is recorded as the first product value, and the product of the duration and the set pause / lag parameter is recorded as the second product value. Determine the ratio of the difference between the first product value and the second product value to the download duration, and determine the value of the ratio plus 1 as a candidate adjustment parameter; If the departure marker position corresponding to the target analysis video is the first set marker value, then the minimum value among the candidate adjustment parameter and the set departure upper limit parameter is determined as the adjustment parameter; If the departure flag position corresponding to the target analysis video is empty, or is a second set flag value, then the candidate adjustment parameter is determined as the adjustment parameter.
10. The method according to claim 8, characterized in that, The step of determining the target adjustable bitrate of the target analysis video based on the playback bitrate, adjustment parameters, and set upper and lower bitrate limits includes: The minimum value between the adjustment parameter and the upper limit bit rate parameter is determined as the intermediate adjustment parameter; The maximum value between the lower bitrate limit parameter and the intermediate adjustment parameter is determined as the target adjustment parameter; The product of the playback bitrate and the target adjustment parameter is determined as the target adjustment bitrate of the target analysis video.
11. The method according to claim 8, characterized in that, The step of determining the target adjustment weight value of the target adjustment bitrate based on the playback duration, download duration, and buffering duration or playback bitrate, combined with a set weighting determination method, includes: Obtain the set weights to determine the tag value; If the weight determination marker value represents the determination based on the download time, then the sum of the download duration and the stutter duration is taken as the time consumed, and the minimum value between the time consumed and the playback duration is determined as the target adjustment weight value of the target adjustment bitrate; If the weight determination marker value represents the determination based on the download size, then the minimum value between the download duration and the playback duration is multiplied by the playback bitrate, and the product value is determined as the target adjustment weight value of the target adjustment bitrate.
12. The method according to claim 6, characterized in that, Also includes: The target analysis video is used as a new historical playback video, and the target bitrate adjustment information of the target analysis video is updated in the cache queue.
13. The method according to claim 12, characterized in that, The step of updating the target bitrate adjustment information of the target analysis video to the cache queue includes: Obtain the bitrate adjustment information of each historically played video already contained in the cache queue, and record them as historical bitrate adjustment information; Determine the sum of the weight values of the adjustment weight values in each of the historical bitrate adjustment information; The sum of the weight values is determined and summed with the target adjustment weight value in the target bitrate adjustment information, and recorded as the target weight sum; Based on the target weight and the set adjustment threshold, the target bitrate adjustment information is updated to the cache queue.
14. The method according to claim 13, characterized in that, The step of updating the target bitrate adjustment information to the cache queue based on the target weight and a set adjustment threshold includes: If the target weights are less than or equal to the set adjustment threshold, then the target bitrate adjustment information is directly added to the tail of the cache queue; otherwise, The difference between the target weight and the set adjustment threshold is determined and recorded as the weight difference. The target bitrate adjustment information is then updated to the cache queue based on the weight difference.
15. The method according to claim 14, characterized in that, The step of updating the target bitrate adjustment information to the cache queue based on the weight difference includes: Obtain the head-of-line adjustment weight value from the head-of-line code rate adjustment information of the cache queue; Compare the weight value of the first condition with the weight difference; If the head-of-line adjustment weight value is greater than the weight difference value, then the difference between the head-of-line adjustment weight value and the weight difference value is used as the new head-of-line adjustment weight value in the head-of-line bitrate adjustment information, and the target bitrate adjustment information is added to the tail of the cache queue. If the head-of-line adjustment weight value is equal to the weight difference value, then the head-of-line bitrate adjustment information is directly deleted from the cache queue, and the target bitrate adjustment information is added to the tail of the cache queue. If the head-of-line adjustment weight value is less than the weight difference value, the head-of-line bitrate adjustment information is deleted from the cache queue, and the next bitrate adjustment information of the head-of-line bitrate adjustment information is used as the new head-of-line bitrate adjustment information. The comparison operation between the head-of-line adjustment weight value and the weight difference value is then re-executed.
16. The method according to claim 12, characterized in that, The step of updating the target bitrate adjustment information of the target analysis video to the cache queue includes: Obtain the number of historical information entries that already contain historical bitrate adjustment information in the cache queue, and increment the number of historical information entries by 1 to obtain the expected number of information entries; If the expected number of information items is less than or equal to a set threshold, then the target bitrate adjustment information is directly added to the tail of the cache queue; otherwise, Delete the bitrate adjustment information at the head of the cache queue and add the target bitrate adjustment information to the tail of the cache queue.
17. A video playback device, characterized in that, include: The operation response module is used to respond to the start playback selection operation of the video to be played; The tier determination module is used to determine the target starting tier corresponding to the video to be played based on the bitrate adjustment information of the historical playback videos cached in the set cache queue. The bitrate adjustment information includes the adjusted bitrate of the corresponding historical playback video and the adjustment weight value of the adjusted bitrate. The adjustment weight value is used to measure the adaptability when playing the corresponding historical playback video using the adjusted bitrate. The video playback module is used to play the video to be played at the playback quality corresponding to the target starting playback level when the playback conditions of the video to be played are met.
18. An electronic device, characterized in that, The electronic device includes: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the video playback method as described in any one of claims 1-16.
19. A storage medium containing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are used to perform the video playback method as described in any one of claims 1-16.
Citation Information
Patent Citations
Video definition determination method and system, computer equipment and storage medium
CN111510747A
Video gear determination method, device, server, storage medium and system
CN115134639A