A starting code rate determination method, device, equipment, storage medium and product
By acquiring information such as historical observation bandwidth and candidate resolution, and combining it with adjustment parameters to calculate the start-up bitrate, the problems of low bitrate and severe stuttering during the video start-up phase were solved, resulting in higher video playback quality and user experience.
Patent Information
- Application Number
- CN202310370879.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-07
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2043-04-07
AI Technical Summary
In existing technologies, the method of determining the bitrate during the video playback phase can easily lead to low bitrate or severe stuttering, resulting in poor video playback quality, especially in poor network conditions.
By acquiring historical observation bandwidth, candidate resolution, and minimum video duration, and combining the set bitrate adjustment parameters and resolution adjustment parameters, the start bitrate is adaptively determined, and the start bitrate is calculated using bitrate reference information and resolution reference information.
During the video playback phase, the bitrate is adaptively determined based on the user's device's historical network data and current needs to improve video playback quality, reduce buffering, and enhance user experience.
Smart Images

Figure CN116567298B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of video processing, and in particular to a method and apparatus for determining a start-up bit rate, a storage medium and a product. BACKGROUND
[0002] In network video on demand applications, due to the high computational complexity of video transcoding, it is difficult to generate a video stream matching the network bandwidth of each user in real time for all possible network conditions. Therefore, a discrete plurality of video streams of different bit rates and qualities are usually generated in a video transcoding system from an original video, and then the video bit rate is adapted according to the network condition of the user.
[0003] Video playback can be divided into two stages: video start-up and mid-playback. The video start-up stage can be understood as the process from when the audience issues a playback instruction to when the first frame of video is rendered on the user's device screen. The mid-playback stage is the process of continuously downloading, rendering and playing video content by the subsequent player. Both processes require bit rate determination. Existing adaptive bit rate algorithms require determined and real-time player buffer length data and observed bandwidth data of the user network as the basis for algorithm calculation. However, in the video start-up stage, the player has not yet started downloading the video content. The common practice is to forcibly specify a fixed video bit rate or set a default network bandwidth value based on prior knowledge. However, this fixed start-up bit rate approach can easily cause low bit rate or severe stuttering, resulting in poor video playback quality. SUMMARY
[0004] Embodiments of the present application provide a method and apparatus for determining a start-up bit rate, a storage medium and a product to solve the technical problem of poor video playback quality caused by the fixed start-up bit rate approach in related technologies, effectively improve the start-up bit rate, reduce video playback stuttering and improve video playback quality.
[0005] In a first aspect, embodiments of the present application provide a method for determining a start-up bit rate, comprising:
[0006] obtaining historical observed bandwidth, candidate resolution, candidate bit rate and minimum video duration;
[0007] determining bit rate reference information based on a set bit rate adjustment parameter, the historical observed bandwidth, the candidate bit rate and the minimum video duration;
[0008] determining resolution reference information based on a set resolution adjustment parameter and the candidate resolution;
[0009] determining a start-up bit rate according to the resolution reference information and the bit rate reference information.
[0010] In a second aspect, an embodiment of the present application provides a starting code rate determination apparatus, comprising a data acquisition module, a first calculation module, a second calculation module and a code rate determination module, wherein:
[0011] The data acquisition module is configured to acquire a historical observed bandwidth, a candidate resolution, a candidate code rate and a minimum video duration.
[0012] The first calculation module is configured to determine code rate reference information based on a set code rate adjustment parameter, the historical observed bandwidth, the candidate code rate and the minimum video duration.
[0013] The second calculation module is configured to determine resolution reference information based on a set resolution adjustment parameter and the candidate resolution.
[0014] The code rate determination module is configured to determine a starting code rate according to the resolution reference information and the code rate reference information.
[0015] In a third aspect, an embodiment of the present application provides a starting code rate determination device, comprising a memory and one or more processors.
[0016] The memory is configured to store one or more programs.
[0017] When the one or more programs are executed by the one or more processors, the one or more processors implement the starting code rate determination method according to the first aspect.
[0018] In a fourth aspect, an embodiment of the present application provides a nonvolatile storage medium storing computer executable instructions, which, when executed by a computer processor, are used to perform the starting code rate determination method according to the first aspect.
[0019] In a fifth aspect, an embodiment of the present application provides a computer program product, which comprises a computer program stored in a computer readable storage medium, and at least one processor of a device reads and executes the computer program from the computer readable storage medium, so that the device performs the starting code rate determination method according to the first aspect.
[0020] The embodiment of the application determines the code rate reference information according to the code rate adjustment parameter, the historical observation bandwidth, the candidate code rate and the minimum video duration, determines the resolution reference information according to the resolution adjustment parameter and the candidate resolution, and determines the starting code rate according to the resolution reference information and the code rate reference information. In the video starting stage, the starting code rate can be adaptively determined according to the historical network data of the user equipment and the current video starting requirement, the user equipment in different network environments has higher distinguishability, the play stall rate can be reduced in time for the scene with poor network environment, and the starting clarity can be significantly improved for the scene with good network bandwidth. The video starting code rate is effectively improved while the stall rate is controlled, the video play stall is reduced, and the video play quality is improved. BRIEF DESCRIPTION OF DRAWINGS
[0021] Figure 1 is a flowchart of a starting code rate determination method provided by the embodiment of the application;
[0022] Figure 2 is a video code rate determination flowchart of a video play process provided by the embodiment of the application;
[0023] Figure 3 is a flowchart of another starting code rate determination method provided by the embodiment of the application;
[0024] Figure 4 is a structural schematic diagram of a starting code rate determination apparatus provided by the embodiment of the application;
[0025] Figure 5 is a structural schematic diagram of a starting code rate determination device provided by the embodiment of the application. DETAILED DESCRIPTION
[0026] In order to make the objects, technical solutions and advantages of the application clearer, the following further describes the specific embodiments of the application with reference to the drawings. It can be understood that the specific embodiments described herein are only used to explain the application, but not to limit the application. In addition, it should be noted that, for the convenience of description, only parts related to the application are shown in the drawings, but not all contents. Before discussing the example embodiments in more detail, it should be mentioned that some example embodiments are described as processes or methods depicted by flowcharts. Although the flowcharts describe the operations (or steps) as sequential processes, many of the operations can be implemented in parallel, concurrently or simultaneously. In addition, the order of the operations can be rearranged. The above processes can be terminated when the operations are completed, but can also have additional steps not included in the drawings. The above processes can correspond to methods, functions, procedures, subroutines, subprograms, etc.
[0027] The method for determining a starting bitrate provided in the application can be applied to a video on-demand scenario. For example, when a user starts a video, the user can adaptively determine a starting bitrate based on the method for determining a starting bitrate provided in the application. The method is intended to adaptively determine a starting bitrate according to historical network data of a user equipment and current video starting needs, effectively improve the video starting bitrate, reduce video playing lag, and improve video playing quality. For a traditional starting bitrate determination, during a video starting stage, a player has not downloaded video content, a player cache has not been filled, and an observed bandwidth of a user network has not been started due to a download task of the player. As a result, an adaptive bitrate (ABR) algorithm based on a cache length strategy cannot be used to calculate an applicable bitrate. Generally, a fixed video bitrate level is forcibly specified, or a default starting bitrate is set according to priori knowledge of a system developer. Both of the two methods can easily cause a low bitrate or serious lag problem. For example, a video is forcibly started at a resolution of 1080p and a bitrate. This can cause a longer starting waiting time for a user in a poor network environment. A system crash risk is caused due to a system implementation of the player. This fixed starting bitrate method can easily cause a low bitrate or serious lag, and a poor video playing quality. Based on this, the embodiment of the application provides a method for determining a starting bitrate to solve the technical problem that a starting bitrate determination method in the prior art can easily cause a low bitrate or serious lag, and a poor video playing quality.
[0028] Figure 1 A flowchart of the method for determining a starting bitrate provided in the embodiment of the application is given. The method for determining a starting bitrate provided in the embodiment of the application can be executed by a starting bitrate determination apparatus. The starting bitrate determination apparatus can be implemented in a hardware and / or software manner, and integrated in a starting bitrate determination device.
[0029] The method for determining a starting bitrate executed by the starting bitrate determination apparatus is described below. Referring to FIG. 1, the method for determining a starting bitrate includes the following steps. Figure 1
[0030] S101: Obtain a historical observed bandwidth, a candidate resolution, a candidate bitrate, and a minimum video duration.
[0031] The historical observed bandwidth provided in the scheme is bandwidth information recorded by a starting bitrate determination device in a previous video playing process. For example, the bandwidth information is recorded by the starting bitrate determination device when the user last watched a video on demand.
[0032] It needs to be explained that due to the high computational complexity of video transcoding, it is difficult to generate a video stream matching the network bandwidth of each user in real time for all possible network conditions. Therefore, a plurality of discrete video streams with different code rate qualities (i.e. video streams with different resolutions and code rates) are usually generated in advance in the video transcoding system, and then the adaptive code rate technology is used to adapt the video code rate according to the network condition of the user. Optionally, the original video and the video streams with different resolutions and code rates can be saved in a set storage location or a cloud server, and the combinations of resolutions and code rates that can be provided for each original video are recorded in the cloud server. These resolutions and code rates are candidate resolutions and candidate code rates that can be selected by the user.
[0033] The minimum video duration can be understood as the shortest video duration required for video broadcasting. If the video duration corresponding to the obtained video stream is less than the minimum video duration, the player will not be able to normally broadcast the video. Optionally, the minimum video duration can be determined by the player configured in the broadcasting code rate determination device for playing the video, that is, the minimum video duration is pre-configured in the player, or the minimum video duration of each video can be configured in the cloud server.
[0034] For example, when the broadcasting code rate determination device needs to play on demand, the user can select the target video to be watched through the broadcasting code rate determination device, at which time the broadcasting code rate determination device enters the video broadcasting stage. For example, after the broadcasting code rate determination device detects an active or passive video play instruction, it is considered that the player of the broadcasting code rate determination device enters the state of broadcasting preparation, and the broadcasting code rate required for video broadcasting needs to be determined.
[0035] When entering the video broadcasting stage, the broadcasting code rate determination device obtains the historical observed bandwidth and the minimum video duration recorded in the broadcasting code rate determination device cache, and obtains the candidate resolution and candidate code rate of the target video corresponding to the video on demand.
[0036] S102: Determine the code rate reference information based on the set code rate adjustment parameter, the historical observed bandwidth, the candidate code rate, and the minimum video duration.
[0037] The set code rate adjustment parameter provided in the present scheme can be used to adjust the influence degree of different candidate code rates on the broadcasting code rate determination in the broadcasting code rate determination process.
[0038] Exemplarily, after the historical observed bandwidth, the candidate code rate and the minimum video duration are determined, the current code rate adjustment parameter is determined, and the code rate reference information is determined according to the code rate adjustment parameter, the historical observed bandwidth, the candidate code rate and the minimum video duration. The code rate reference information can be used to adjust the influence degree of the corresponding candidate code rate on the live code rate determination under the corresponding historical observed bandwidth and minimum video duration in the live code rate determination process, and the greater the code rate reference information is, the smaller the possibility of the current candidate code rate being selected is. The greater the historical observed bandwidth is and / or the smaller the minimum video duration is, the smaller the corresponding code rate reference information is.
[0039] In an embodiment, the present scheme provides a plurality of candidate code rates, and for each candidate code rate, the corresponding code rate reference information of each candidate code rate can be determined in combination with the code rate adjustment parameter, the historical observed bandwidth and the minimum video duration.
[0040] S103: Determine the resolution reference information based on the set resolution adjustment parameter and the candidate resolution.
[0041] The set resolution adjustment parameter provided by the present scheme can be used to adjust the influence degree of different candidate resolutions on the live code rate determination in the live code rate determination process.
[0042] Exemplarily, after the candidate resolution corresponding to the target video is obtained, the current resolution adjustment parameter is determined, and the resolution reference information is determined according to the resolution adjustment parameter and the candidate resolution. In an embodiment, the present scheme provides a plurality of candidate resolutions, and for each candidate resolution, the corresponding resolution reference information of each candidate resolution can be determined in combination with the set resolution adjustment parameter.
[0043] The resolution reference information can be used to adjust the influence degree of the corresponding candidate resolution on the live code rate determination under the corresponding resolution adjustment parameter in the live code rate determination process, and the greater the resolution reference information is, the greater the possibility of the current candidate code rate being selected is. For example, the product of the resolution adjustment parameter and the candidate resolution can be taken as the resolution reference information.
[0044] S104: Determine the live code rate according to the resolution reference information and the code rate reference information.
[0045] Exemplarily, after the resolution reference information and the code rate reference information are determined, the live code rate of the live target video is determined according to the resolution reference information and the code rate reference information, and the video stream corresponding to the live code rate is obtained (from the cloud server) based on the live code rate to play, so as to realize the video live of the target video. Optionally, in the subsequent midway playing process, the code rate in the midway playing process can be determined according to the set adaptive code rate algorithm.
[0046] In one possible embodiment, the candidate resolutions and candidate bitrates provided by this solution are in a one-to-one correspondence, meaning that the candidate resolutions and candidate bitrates correspond to multiple fixed candidate combinations. The corresponding resolution reference information and bitrate reference information can be determined separately based on the candidate resolution and candidate bitrate corresponding to each candidate combination. Based on this, the launch bitrate can be determined according to the resolution reference information and bitrate reference information corresponding to different candidate combinations. Simultaneously, the candidate resolution in the candidate combination corresponding to the launch bitrate is the launch resolution, and the video stream corresponding to the launch bitrate and launch resolution can be determined as the video stream corresponding to video launch.
[0047] In one possible embodiment, after determining the start bitrate based on the resolution reference information and the bitrate reference information, the start bitrate determination method provided by this solution can also obtain the network observation bandwidth during the mid-play process and update the historical observation bandwidth based on the network observation bandwidth.
[0048] For example, after the current target video starts playing and enters a mid-play state, during subsequent mid-play sessions, an adaptive bitrate algorithm is used to adaptively acquire and play a video stream with the corresponding bitrate, while the network bandwidth is recorded in real time. The cached historical bandwidth is then updated using the currently recorded network bandwidth. Subsequent start bitrate determinations, when the video is replayed, will be based on the updated historical bandwidth. This solution, by periodically updating the network bandwidth under the current user's network environment after the current target video enters a mid-play state, and updating the historical bandwidth, ensures that a more suitable start bitrate for the network environment is obtained for the next video playback, thus improving video playback quality.
[0049] In one possible embodiment, when the device first plays a video at the start bitrate, no historical observation bandwidth is recorded. In this case, temporary or default bandwidth information can be configured as historical observation bandwidth according to the needs of users and / or services to ensure the correct calculation of the start bitrate.
[0050] like Figure 2A video bitrate determination flowchart of a video playing process is shown. A starting playing bitrate determination module can be configured in a player of a starting playing bitrate determination device. When a user clicks to play a video, it is determined that the video enters a starting playing stage. At this time, the starting playing bitrate determination device obtains candidate resolutions and candidate bitrates that can be provided by a cloud server, and determines a starting playing bitrate according to a bitrate adjustment parameter, a resolution adjustment parameter, a historical observed bandwidth, the candidate resolutions, the candidate bitrates, and a minimum video duration. The player in the starting playing bitrate determination device can obtain video content corresponding to the starting playing bitrate from the cloud server according to the starting playing bitrate, and render and play the video content.
[0051] According to the above, the bitrate reference information is determined according to the bitrate adjustment parameter, the historical observed bandwidth, the candidate bitrates, and the minimum video duration, the resolution reference information is determined according to the resolution adjustment parameter and the candidate resolutions, and the starting playing bitrate is determined according to the resolution reference information and the bitrate reference information. In the starting playing stage, the starting playing bitrate can be adaptively determined according to historical network data of a user equipment and current starting playing needs of the video. The user equipment with different network environments has higher distinguishability. The playing lag rate can be reduced in time for a scene with poor network environment, and the starting playing definition can be significantly improved for a scene with good network bandwidth. The video starting playing bitrate is effectively improved while the playing lag is reduced, the video playing quality is improved, and the quality of experience (QoE) of the user is improved.
[0052] On the basis of the above embodiment, Figure 3 A flowchart of another starting playing bitrate determination method provided by the embodiment is given. The starting playing bitrate determination method is a specific embodiment of the above starting playing bitrate determination method. Refer to Figure 3 The starting playing bitrate determination method comprises the following steps.
[0053] S201: Obtain a historical observed bandwidth, candidate resolutions, candidate bitrates, and a minimum video duration.
[0054] S202: Determine bandwidth reference information based on a recording time of the historical observed bandwidth and a current time.
[0055] The recording time of the historical observed bandwidth is recorded while the historical observed bandwidth is recorded. For example, after the historical observed bandwidth, the candidate resolutions, the candidate bitrates, and the minimum video duration are obtained, the current time is determined, and the bandwidth reference information is determined according to the recording time of the historical observed bandwidth and the current time.
[0056] In one embodiment, the reliability of the historical observed bandwidth can be determined according to a time interval between the recording time and the current time, and the degree of participation of the historical observed bandwidth in the determination of the bandwidth reference information can be determined according to the reliability.
[0057] In one possible embodiment, the method for determining the starting code rate provided by the present solution includes the following steps when determining the bandwidth reference information based on the recording time and the current time of the historical observed bandwidth:
[0058] S2021: In the case that the time interval between the current time and the recording time of the historical observed bandwidth is within the set time length, the historical observed bandwidth is determined as the bandwidth reference information.
[0059] S2022: In the case that the time interval between the current time and the recording time of the historical observed bandwidth exceeds the set time length, the bandwidth reference information is determined based on the time interval and the historical observed bandwidth according to an exponential decay calculation method.
[0060] For example, the time interval between the current time and the recording time of the historical observed bandwidth (for example, the time interval = current time - recording time) is determined, and it is determined whether the time interval exceeds the set time length. The set time length can be used to determine the reliability of the historical observed bandwidth, and the reliability of the historical observed bandwidth can be adjusted by configuring different set time lengths to determine more appropriate bandwidth reference information.
[0061] When the time interval is within the set time length, the current historical observed bandwidth can be considered reliable, and the historical observed bandwidth can be determined as the bandwidth reference information. When the time interval exceeds the set time length, it can be considered that the reliability of the current historical observed bandwidth decreases after a period of time, and the bandwidth reference information can be determined based on the time interval and the historical observed bandwidth according to an exponential decay calculation method. The present solution determines the bandwidth reference information according to the time interval between the current time and the recording time of the historical observed bandwidth, determines the degree of participation of the historical observed bandwidth in the determination of the bandwidth reference information according to the influence of the historical observed bandwidth on the current bandwidth reference information, and accurately determines the code rate reference information to improve the accuracy of the determination of the starting code rate.
[0062] In one possible embodiment, the bandwidth reference information provided by the present solution can be determined based on the following bandwidth reference information calculation formula:
[0063]
[0064] wherein f(B t ) is the bandwidth reference information, B tThe historical observation bandwidth is for a historical observation bandwidth, t is a time interval between a current time and a recording time of the historical observation bandwidth, and T is a set time length. The bandwidth reference information is accurately calculated by using the bandwidth reference information calculation formula, and the efficiency and accuracy of determining the on-air code rate are effectively improved.
[0065] In S203, the code rate reference information is determined based on the set code rate adjustment parameter, the candidate code rate, the minimum video duration, and the bandwidth reference information.
[0066] For example, after the bandwidth reference information, the candidate code rate, and the minimum video duration are determined, the current code rate adjustment parameter is determined, and the code rate reference information is determined according to the code rate adjustment parameter, the candidate code rate, the bandwidth reference information, and the minimum video duration. The greater the bandwidth reference information, the smaller the corresponding code rate reference information. In an embodiment, the present scheme provides a plurality of candidate code rates, and for each candidate code rate, the code rate reference information corresponding to each candidate code rate is determined in combination with the code rate adjustment parameter, the bandwidth reference information, and the minimum video duration. The present scheme determines the bandwidth reference information by using the recording time of the historical observation bandwidth and the current time, and then determines the code rate reference information according to the code rate adjustment parameter, the candidate code rate, the minimum video duration, and the bandwidth reference information. The degree of participation of the historical observation bandwidth in the determination of the code rate reference information is adjusted according to the time interval between the historical observation bandwidth and the current time, the code rate reference information is accurately determined, and the accuracy of determining the on-air code rate is improved.
[0067] In a possible embodiment, the code rate reference information provided by the present scheme can be determined based on the following code rate reference information calculation formula:
[0068]
[0069] wherein B is the code rate reference information under the ith candidate code rate b i , D is the minimum video duration, f(B t ) is the bandwidth reference information, β is the code rate adjustment parameter, β>0, and β can be used to control the utilization rate of the minimum video duration and the observation bandwidth. The code rate reference information is accurately calculated by using the code rate reference information calculation formula, and the efficiency and accuracy of determining the on-air code rate are effectively improved.
[0070] In S204, the resolution reference information is determined based on the set resolution adjustment parameter and the candidate resolution.
[0071] In an embodiment, the resolution reference information provided by the present scheme can be determined based on the following resolution reference information calculation formula:
[0072] A=α·r i
[0073] wherein A is the ith candidate resolution ri The resolution reference information is provided below, where α is the resolution adjustment parameter. α > 0, and α can be used to control the clarity of the selected video stream. Clarity and minimum video duration can be balanced using resolution and bitrate adjustment parameters, allowing for flexible adjustment of the bitrate used for video playback based on user and business needs.
[0074] This solution accurately calculates resolution reference information using a resolution reference information calculation formula, effectively improving the efficiency and accuracy of determining the broadcast bitrate.
[0075] Wherein, candidate resolution r i and candidate code rate b i Let be an increasing ordered vector:
[0076]
[0077]
[0078] in, and For the target video, there are N candidate resolutions and corresponding candidate bitrates that can be selected.
[0079] S205: Determine the broadcast bitrate based on the resolution reference information and the bitrate reference information.
[0080] In one possible embodiment, the broadcast bitrate determination method provided by this solution, when determining the broadcast bitrate based on the resolution reference information and the bitrate reference information, includes:
[0081] S2051: Determine the difference between the resolution reference information and the bit rate reference information under different combinations of candidate bit rates and candidate resolutions.
[0082] S2052: Determine the candidate bitrate corresponding to the maximum difference as the broadcast bitrate.
[0083] For example, after determining the resolution reference information and bitrate reference information under different combinations of candidate bitrates and candidate resolutions, the difference between the resolution reference information and bitrate reference information under each combination of candidate bitrates and candidate resolutions is calculated, and the launch bitrate is determined based on the combination of candidate bitrates and candidate resolutions with the largest difference. The launch bitrate can be used to guide the player in the process of downloading, decoding, rendering, and playing video content (video stream) during the video launch phase.
[0084] This solution accurately determines the starting bitrate based on the combination of the largest differences between resolution reference information and bitrate reference information. While controlling the stuttering rate, it effectively increases the starting bitrate of the video, reduces video playback stuttering, and improves video playback quality.
[0085] In one possible implementation, the starting bitrate provided by the present solution can be determined based on the following starting bitrate calculation formula:
[0086]
[0087] wherein, from the perspective of video transcoding, the video resolution and its bitrate are one-to-one corresponding, that is, when the video resolutions are arranged in a monotonically increasing order, the corresponding video bitrate categories are also monotonically increasing, based on which, the above starting bitrate calculation formula can be quickly solved based on the greedy algorithm to improve the starting bitrate determination efficiency, that is, in the video starting phase, the historical observed bandwidth B t and the candidate resolutions and candidate bitrates of the current target video are determined, and the bandwidth reference information f(B t ) is calculated, the candidate resolutions and candidate bitrates of the current target video are sorted in a monotonically increasing order, each element in the vectors and is traversed in a loop, and the starting bitrate is determined according to the starting bitrate calculation formula.
[0088] The above, by determining the bitrate reference information according to the bitrate adjustment parameter, the historical observed bandwidth, the candidate bitrate and the minimum video duration, determining the resolution reference information according to the resolution adjustment parameter and the candidate resolution, and determining the starting bitrate according to the resolution reference information and the bitrate reference information, the starting bitrate can be adaptively determined according to the historical network data of the user equipment and the current video starting requirement in the video starting phase, and the user equipment in different network environments has higher distinguishability, the play stuttering rate can be reduced in time for the scene with poor network environment, and the starting clarity can be significantly improved for the scene with good network bandwidth, the video starting bitrate is effectively improved while the stuttering rate is controlled, the video play stuttering is reduced, and the video play quality is improved. Meanwhile, the degree of participation of the historical observed bandwidth in the determination of the bitrate reference information is adjusted according to the time interval between the historical observed bandwidth and the current time, the bitrate reference information is accurately determined, and the accuracy of the determination of the starting bitrate is improved. In the starting phase of the video on demand, the network environment of the device is adaptively determined, the initial watching bitrate of the user is improved while the stuttering rate is controlled, and the watching experience of the user is improved.
[0089] Figure 4 is a structural schematic diagram of a starting bitrate determination apparatus provided by an embodiment of the present application. Referring to Figure 4 , the starting bitrate determination apparatus comprises a data acquisition module 41, a first calculation module 42, a second calculation module 43 and a bitrate determination module 44.
[0090] The data acquisition module 41 is configured to acquire historical observed bandwidth, candidate resolution, candidate code rate and minimum video duration; the first calculation module 42 is configured to determine code rate reference information based on the set code rate adjustment parameter, historical observed bandwidth, candidate code rate and minimum video duration; the second calculation module 43 is configured to determine resolution reference information based on the set resolution adjustment parameter and candidate resolution; and the code rate determination module 44 is configured to determine the starting code rate according to the resolution reference information and the code rate reference information.
[0091] The above, by determining the code rate reference information according to the code rate adjustment parameter, historical observed bandwidth, candidate code rate and minimum video duration, determining the resolution reference information according to the resolution adjustment parameter and candidate resolution, and determining the starting code rate according to the resolution reference information and the code rate reference information, the starting code rate can be adaptively determined according to the historical network data of the user equipment and the current video starting needs in the video starting stage, and the user equipment facing different network environments has higher discrimination, the play stall rate can be reduced in time for the scene with poor network environment, and the starting clarity can be significantly improved for the scene with good network bandwidth, the video starting code rate is effectively improved while the stall rate is controlled, the video play stall is reduced, and the video play quality is improved.
[0092] In one possible embodiment, when the first calculation module 42 determines the code rate reference information based on the set code rate adjustment parameter, historical observed bandwidth, candidate code rate and minimum video duration, it is configured to:
[0093] determine bandwidth reference information based on the recording time of the historical observed bandwidth and the current time;
[0094] determine the code rate reference information based on the set code rate adjustment parameter, candidate code rate, minimum video duration and bandwidth reference information.
[0095] In one possible embodiment, when the first calculation module 42 determines the bandwidth reference information based on the recording time of the historical observed bandwidth and the current time, it is configured to:
[0096] in the case that the time interval between the current time and the recording time of the historical observed bandwidth is within the set time length, the historical observed bandwidth is determined as the bandwidth reference information;
[0097] in the case that the time interval between the current time and the recording time of the historical observed bandwidth exceeds the set time length, the bandwidth reference information is determined based on the time interval and the historical observed bandwidth in an exponential decay calculation manner.
[0098] In one possible embodiment, the code rate reference information is determined based on the following formula:
[0099]
[0100] wherein B is the i-th candidate code rate b i , β is a code rate adjustment parameter, D is the minimum video duration, f(B t ) is the bandwidth reference information.
[0101] In one possible embodiment, the resolution reference information is determined based on the following formula:
[0102] A = a r i
[0103] wherein A is the i-th candidate resolution r i , and a is a resolution adjustment parameter.
[0104] In one possible embodiment, the code rate determination module 44 is configured to, when determining the starting code rate according to the resolution reference information and the code rate reference information:
[0105] determine the difference of the corresponding resolution reference information and the code rate reference information under different combinations of candidate code rates and candidate resolutions;
[0106] determine the candidate code rate corresponding to the maximum difference as the starting code rate.
[0107] In one possible embodiment, the starting code rate determination apparatus further comprises a bandwidth updating module configured to, after the code rate determination module 44 determines the starting code rate according to the resolution reference information and the code rate reference information, acquire the network observed bandwidth in the process of playing in the middle, and update the historical observed bandwidth based on the network observed bandwidth.
[0108] It is worth noting that the embodiments of the starting code rate determination apparatus described above include various units and modules only according to functional logic, but are not limited to the above division, as long as the corresponding functions can be implemented; in addition, the specific names of each functional unit are only for easy mutual distinction, and do not limit the protection scope of the embodiments of the present application.
[0109] The embodiments of the present application also provide a starting code rate determination device, which can integrate the starting code rate determination apparatus provided by the embodiments of the present application. Figure 5 is a structural schematic diagram of a starting code rate determination device provided by the embodiments of the present application. Referring to Figure 5The starting code rate determination device includes: an input device 53, an output device 54, a memory 52, and one or more processors 51; the memory 52 is configured to store one or more programs; when the one or more programs are executed by the one or more processors 51, the one or more processors 51 implement the starting code rate determination method provided by the above embodiments. The starting code rate determination device, device and computer provided by the above embodiments can be used to execute the starting code rate determination method provided by any of the above embodiments, and have the corresponding functions and beneficial effects.
[0110] The embodiments of the present application further provide a non-volatile storage medium storing computer executable instructions, which, when executed by a computer processor, are used to perform the starting code rate determination method provided by the above embodiments. Of course, the non-volatile storage medium storing computer executable instructions provided by the embodiments of the present application is not limited to the starting code rate determination method provided above, but can also perform the related operations in the starting code rate determination method provided by any of the embodiments of the present application. The starting code rate determination device, device and storage medium provided in the above embodiments can execute the starting code rate determination method provided by any of the embodiments of the present application, and the technical details not described in the above embodiments can be referred to the starting code rate determination method provided by any of the embodiments of the present application.
[0111] On the basis of the above embodiments, the embodiments of the present application further provide a computer program product, the technical solutions of the present application essentially or the part of the prior art that makes a contribution or the whole or part of the technical solutions can be embodied in the form of a software product, and the computer program product is stored in a storage medium and includes a plurality of instructions for causing a computer device, a mobile terminal or a processor therein to execute all or part of the steps of the starting code rate determination method provided by the embodiments of the present application.
Claims
1. A method for determining the broadcast bitrate, characterized in that, include: Obtain historical observation bandwidth, candidate resolution, candidate bitrate, and minimum video duration; The bandwidth reference information is determined based on the recording time of the historical observation bandwidth and the current time; Based on the set bitrate adjustment parameters, the candidate bitrate, the minimum video duration, and the bandwidth reference information, the bitrate reference information is determined; Based on the set resolution adjustment parameters and the candidate resolutions, determine the resolution reference information; Determine the difference between the resolution reference information and the bit rate reference information under different combinations of candidate bit rate and candidate resolution; The candidate bitrate corresponding to the largest difference is determined as the broadcast bitrate.
2. The method for determining the broadcast bitrate according to claim 1, characterized in that, The bandwidth reference information determined based on the recording time of the historical observation bandwidth and the current time includes: If the time interval between the current time and the recording time of the historical observation bandwidth is within a set time length, the historical observation bandwidth is determined as bandwidth reference information; If the time interval between the current time and the recording time of the historical observation bandwidth exceeds a set time length, bandwidth reference information is determined based on the time interval and the historical observation bandwidth according to the exponential decay calculation method.
3. The method for determining the broadcast bitrate according to claim 1, characterized in that, The bitrate reference information is determined based on the following formula: in, For the first Candidate code rate The following bitrate reference information, For bitrate adjustment parameters, Minimum video length, This is bandwidth reference information.
4. The method for determining the broadcast bitrate according to claim 1, characterized in that, The resolution reference information is determined based on the following formula: in, For the first Candidate resolutions The following resolution reference information, Adjust the resolution parameters.
5. The method for determining the broadcast bitrate according to claim 1, characterized in that, After determining the broadcast bitrate based on the resolution reference information and the bitrate reference information, the method further includes: Obtain the network observation bandwidth during the playback process, and update the historical observation bandwidth based on the network observation bandwidth.
6. A device for determining broadcast bitrate, characterized in that, It includes a data acquisition module, a first calculation module, a second calculation module, and a bitrate determination module, wherein: The data acquisition module is configured to acquire historical observation bandwidth, candidate resolution, candidate bitrate, and minimum video duration. The first calculation module is configured to determine bandwidth reference information based on the recording time of the historical observation bandwidth and the current time; and to determine bitrate reference information based on the set bitrate adjustment parameters, the candidate bitrate, the minimum video duration, and the bandwidth reference information. The second calculation module is configured to determine resolution reference information based on the set resolution adjustment parameters and the candidate resolutions; The bitrate determination module is configured to determine the difference between the corresponding resolution reference information and bitrate reference information under different combinations of candidate bitrates and candidate resolutions; and to determine the candidate bitrate corresponding to the maximum difference as the broadcast bitrate.
7. A device for determining broadcast bitrate, characterized in that, include: Memory and one or more processors; The memory is used to store 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 broadcast bitrate determination method as described in any one of claims 1-5.
8. A non-volatile storage medium for storing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are used to perform the broadcast bitrate determination method as described in any one of claims 1-5.
9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the broadcast bitrate determination method according to any one of claims 1-5.
Citation Information
Patent Citations
Initial code rate determination method and device, electronic equipment and storage medium
CN110662093A
Video playing method and device, equipment and storage medium
CN115842937A