An initial video gear setting method, system, device and storage medium

By acquiring historical bandwidth information and specified attribute information of the target client, the initial video gradation is accurately set, solving the problem of initial video gradation decision error in live streaming and improving user experience and video quality stability.

CN116582717BActive Publication Date: 2026-04-28GUANGZHOU BAIGUOYUAN INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GUANGZHOU BAIGUOYUAN INFORMATION TECH CO LTD
Filing Date
2023-04-18
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

In online live streaming scenarios, existing technologies, when determining the initial video level based on the user's real-time bandwidth, are prone to insufficient decision-making accuracy, resulting in lower initial video clarity and increased frequency of video level switching, thus affecting the user experience.

Method used

By obtaining the historical bandwidth information table of the target client, the real-time bandwidth and maximum bandwidth are determined. Based on the specified attribute information of the target client in the previous live broadcast room, the real-time bandwidth or maximum bandwidth is selected as the target bandwidth, and the initial video level of the current live broadcast room is accurately set.

Benefits of technology

It improves the accuracy of initial video level settings, reduces the frequency of video level switching, enhances the user viewing experience, and ensures stable output of video quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116582717B_ABST
    Figure CN116582717B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose an initial video gear setting method, system, device and storage medium. The technical scheme provided by the embodiments of the present application comprises the following steps: obtaining a historical bandwidth information table of a target client; determining a real-time bandwidth and a maximum bandwidth of the target client based on the historical bandwidth information table, wherein the real-time bandwidth is the bandwidth information detected by the target client last time, and the maximum bandwidth is the bandwidth information with the maximum value in the historical bandwidth information table; selecting the real-time bandwidth or the maximum bandwidth as a target bandwidth based on specified attribute information of the target client in a previous live room; and setting an initial video gear of the target client in a current live room according to the target bandwidth. By using the above technical scheme, the initial video gear of the target client in the current live room is accurately set through the target bandwidth, so as to avoid the situation that the video definition is relatively low due to the setting error of the initial video gear, and the user's viewing experience is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of video playback technology, and in particular to an initial video level setting method, system, device, and storage medium. Background Technology

[0002] Currently, in online live streaming scenarios, to accommodate diverse user needs, online videos typically offer multiple viewing options, such as standard definition (SD), high definition (HD), and low definition (HD). These different video viewing options vary in encoding methods, bitrates, resolutions, and frame rates. To improve the user's online viewing experience, an automatic video viewing option selection function is generally provided to automatically choose the appropriate video viewing option for the user, ensuring smooth and clear viewing. When a user enters a live stream, the initial video viewing option is set based on the user's bandwidth. After sending the first set of video frames based on the initial video viewing option, the system determines the subsequent video viewing options for the user based on the real-time video frame transmission status.

[0003] However, simply determining the initial video quality level for a user based on their real-time bandwidth is problematic. If the bitrate of the previous live stream the user was watching was low, the detected real-time bandwidth will also be relatively low. This affects the accuracy of the initial video quality level decision when the user enters a new live stream, resulting in relatively lower video clarity at the initial video quality level and increasing the frequency of video quality level switching, thus impacting the user's viewing experience. Summary of the Invention

[0004] This application provides an initial video level setting method, system, device, and storage medium, which can improve the accuracy of initial video level setting, reduce the frequency of video level switching, improve the user viewing experience, and solve the problem of initial video level setting error in live streaming rooms.

[0005] In a first aspect, embodiments of this application provide an initial video gradation setting method, comprising:

[0006] Obtain the historical bandwidth information table of the target client, and determine the real-time bandwidth and maximum bandwidth of the target client based on the historical bandwidth information table. The real-time bandwidth is the bandwidth information most recently detected by the target client, and the maximum bandwidth is the bandwidth information with the largest value in the historical bandwidth information table.

[0007] The target bandwidth is selected based on the specified attribute information of the target client in the previous live broadcast room, either the real-time bandwidth or the maximum bandwidth.

[0008] Set the initial video quality of the target client in the current live stream based on the target bandwidth.

[0009] In a second aspect, embodiments of this application provide an initial video bit setting system, comprising:

[0010] The acquisition module is configured to acquire the historical bandwidth information table of the target client, and determine the real-time bandwidth and maximum bandwidth of the target client based on the historical bandwidth information table. The real-time bandwidth is the bandwidth information most recently detected by the target client, and the maximum bandwidth is the bandwidth information with the largest value in the historical bandwidth information table.

[0011] The selection module can be configured to select the real-time bandwidth or maximum bandwidth as the target bandwidth based on the specified attribute information of the target client in the previous live broadcast room.

[0012] The settings module is configured to set the initial video quality of the target client in the current live stream based on the target bandwidth.

[0013] In a third aspect, embodiments of this application provide an initial video bit setting device, comprising:

[0014] Memory and one or more processors;

[0015] The memory is configured to store one or more programs;

[0016] When the one or more programs are executed by the one or more processors, the one or more processors implement the initial video profile setting method as described in the first aspect.

[0017] In a fourth aspect, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions configured, when executed by a computer processor, to perform the initial video bit setting method as described in the first aspect.

[0018] In a fifth aspect, embodiments of this application provide a computer program product containing instructions that, when executed on a computer or processor, cause the computer or processor to perform the initial video bit setting method as described in the first aspect.

[0019] This application embodiment obtains the historical bandwidth information table of the target client, determines the real-time bandwidth and maximum bandwidth of the target client based on the historical bandwidth information table, where the real-time bandwidth is the bandwidth information most recently detected by the target client, and the maximum bandwidth is the bandwidth information with the largest value in the historical bandwidth information table; selects the real-time bandwidth or maximum bandwidth as the target bandwidth based on the specified attribute information of the target client in the previous live broadcast room; and sets the initial video tier of the target client in the current live broadcast room according to the target bandwidth. By employing the above technical means, based on the bitrate and network conditions of the target client's previous live broadcast room, the historical maximum bandwidth or real-time bandwidth of the target client is selected as the target bandwidth. This allows for precise setting of the initial video tier of the target client in the current live broadcast room, avoiding situations where the video clarity is relatively low due to errors in setting the initial video tier, thus improving the user's viewing experience. Simultaneously, by accurately setting the initial video tier, the frequency of subsequent video tier switching can also be reduced, ensuring stable video quality output. Attached Figure Description

[0020] Figure 1 This is a flowchart of an initial video bit setting method provided in an embodiment of this application;

[0021] Figure 2 This is a schematic diagram of the initial video gear selection control in an embodiment of this application;

[0022] Figure 3 This is a flowchart illustrating the selection of target bandwidth in an embodiment of this application;

[0023] Figure 4 This is a flowchart illustrating the selection of the initial video file level in an embodiment of this application.

[0024] Figure 5 This is a schematic diagram of the structure of an initial video level setting system provided in an embodiment of this application;

[0025] Figure 6 This is a schematic diagram of the structure of an initial video level setting device provided in an embodiment of this application. Detailed Implementation

[0026] To make the objectives, technical solutions, and advantages of this application clearer, specific embodiments of this application will be described in further detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are merely for explaining this application and not for limiting it. It should also be noted that, for ease of description, only the parts relevant to this application are shown in the drawings, not all of them. Before discussing exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe operations (or steps) as sequential processes, many of these operations can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the operations can be rearranged. The process can be terminated when its operation is completed, but may also have additional steps not included in the drawings. The process can correspond to a method, function, procedure, subroutine, subprogram, etc.

[0027] The initial video gradation setting method provided in this application aims to select the target client's historical maximum bandwidth or real-time bandwidth as the target bandwidth based on the bitrate and network conditions of the previous live broadcast room on the target client, so as to accurately set the initial video gradation of the target client in the current live broadcast room through the target bandwidth, thereby improving the accuracy of the initial video gradation setting.

[0028] In online live streaming scenarios, existing video quality settings offer various options such as standard definition, high definition, standard definition, and low definition to accommodate different users' needs for video quality and clarity. These different quality levels vary in encoding methods, bitrates, resolutions, and frame rates. To improve the user experience, an automatic quality selection function is typically provided to automatically choose the appropriate video quality for the user, ensuring smooth and clear viewing. Because video transcoding is computationally very complex, it's difficult to generate a video stream matching each user's network bandwidth in real-time. Therefore, in online live streaming applications, it's necessary to pre-generate multiple video streams with different bitrates and qualities within the video transcoding system. Then, based on the user's network quality, a video stream service with an appropriate bitrate and quality is provided.

[0029] Live streaming involves a broadcaster and a viewer. The source video stream generated by the broadcaster is uploaded to a server for transcoding, resulting in multiple video streams. These multiple streams correspond to various video tiers (combinations of resolution and bitrate). In existing video tier configuration schemes, after a viewer logs into the live stream, the optimal initial video tier is selected based on their device model, network conditions, and a buffering prediction strategy. Since viewers lack auxiliary information to aid in decision-making upon logging in, such as network jitter, buffering, stuttering, and frame drops, the initial video tier selection strategy heavily relies on the viewer's bandwidth. If the bitrate of the previous live stream viewed by the viewer was low, the bandwidth detection used for video tier decision-making will be limited, resulting in a relatively low detected real-time bandwidth. This could lead to viewers selecting a low-bitrate, low-quality video tier when entering a new live stream. Therefore, this application provides an initial video tier setting method to address the problem of initial video tier setting errors in live streams.

[0030] Example:

[0031] Figure 1 A flowchart of an initial video gradation setting method provided in this application embodiment is given. The initial video gradation setting method provided in this embodiment can be executed by an initial video gradation setting device, which can be implemented by software and / or hardware. The initial video gradation setting device can consist of two or more physical entities, or it can consist of a single physical entity. Generally, the initial video gradation setting device can be a server host, computer, live streaming backend, or other processing devices.

[0032] The following description uses the initial video bit setting device as an example to illustrate the initial video bit setting method. (Refer to...) Figure 1 The initial video file setting method specifically includes:

[0033] S110. Obtain the historical bandwidth information table of the target client, and determine the real-time bandwidth and maximum bandwidth of the target client based on the historical bandwidth information table. The real-time bandwidth is the bandwidth information most recently detected by the target client, and the maximum bandwidth is the bandwidth information with the largest value in the historical bandwidth information table.

[0034] S120. Select the real-time bandwidth or maximum bandwidth as the target bandwidth based on the specified attribute information of the target client in the previous live broadcast room;

[0035] S130. Set the initial video quality of the target client in the current live broadcast room according to the target bandwidth.

[0036] The initial video gradation setting method of this application aims to accurately determine the video gradation when a viewer's client device initially enters a live stream, providing appropriate video quality and ensuring a good viewing experience. However, considering the lack of auxiliary information to aid decision-making when a viewer first logs into the live stream, relying solely on the viewer's real-time bandwidth for initial video gradation decision-making can lead to errors. This application's embodiments maintain a historical bandwidth information table for the viewer and adaptively select either the historically highest bandwidth information or real-time bandwidth information to assist in the initial video gradation decision, achieving more accurate video gradation selection.

[0037] For example, in a live streaming scenario, when a broadcaster starts broadcasting, they upload the source video stream to their server. When the broadcaster begins, they send a transcoding request to the transcoding control center. The transcoding control center, based on the broadcaster's video quality and viewer demand, allocates the source video stream to either a software or hardware transcoding group for transcoding, resulting in multiple video streams of different quality. When a viewer enters the live stream, they request a video stream. The viewer's server first determines the current video quality for that viewer and sends the corresponding video data to the viewer. Generally, the viewer's server's video stream originates from the broadcaster's server. For instance, if the viewer's server determines the video quality to be high-definition, and if it hasn't cached that stream, it will request the corresponding video data from the broadcaster's server. The broadcaster's server then sends the video stream to the viewer's server, which in turn sends it to the viewer's client device. If the viewer server has already cached the video stream (i.e., other viewer clients have previously requested the video stream on this viewer server), the corresponding video stream can be directly sent to the viewer client, thereby completing the decision on the video quality level and the sending of the corresponding video stream.

[0038] To accurately determine the initial video tier for viewers initially entering the live stream, this embodiment maintains a historical bandwidth information table for the current viewer to assist in selecting the target bandwidth for the initial video tier decision. Specifically, the viewer currently entering the live stream is defined as the target client. By obtaining the target client's historical bandwidth information table, the target client's real-time bandwidth and maximum bandwidth are determined. The viewer server maintains a corresponding historical bandwidth information table for each viewer to determine the initial video tier when a viewer switches live streams.

[0039] It should be noted that, considering that the bitrate of the target client in the previous live stream may affect the bandwidth detection of the target client, simply providing the real-time bandwidth of the target client for video grading decision may lead to errors. Therefore, this embodiment of the application selects the target bandwidth from the real-time bandwidth or the maximum bandwidth based on the specified attribute information of the target client in the previous live stream. The specified attribute information identifies information such as the bitrate and network conditions of the target client in the previous live stream.

[0040] Subsequently, based on the determined target bandwidth, an initial video tier suitable for the current live stream network bandwidth can be selected, and the corresponding initial video tier video stream can be sent to the target client. Thus, by maintaining historical bandwidth and bitrate information for viewers, the problem of limited bandwidth detection due to low bitrate in the previous live stream (due to PK room type / low source stream bitrate / limited signal source, etc.) is resolved, which affects the video quality when entering the next live stream (because the detected bandwidth is too low). This improves the video clarity when viewers log in and reduces the number of times they need to switch between streams. This achieves accurate initial video tier decision-making.

[0041] Specifically, refer to Figure 2 The corresponding viewer-side server periodically receives ping messages from various target clients. Based on these ping messages, the viewer-side server returns corresponding response messages. The bandwidth information subsequently used by the viewer-side server for video grading decisions is stored in these response messages. The response messages specifically include information such as bandwidth, RTT, and decoding capabilities. For example, each response message may include a list of bandwidth sample points for the user over the last 15 seconds (calculated every second), the average bandwidth (BW) over x seconds, and information such as transmission rate and RTT. The target client maintains a historical bandwidth information table based on the received response information and continuously updates this table according to the periodically received response information, which is then provided to the viewer-side server for video grading decisions.

[0042] It's important to note that for a link between the viewer and a single live streamer, the historical bandwidth information table is updated using the corresponding reply message. In multi-person live stream scenarios, the reply message is processed for the same link. For streamer PK rooms (multiple streamers competing), multiple links are involved. The viewer's server returns multiple reply messages to the viewer based on the different links between the live streamer and the viewer. This is understandable because a single stream in a PK room has a resolution of 360p, and the reply message only corresponds to one stream, leading to a lower historical bandwidth value received by the viewer's server. Therefore, it's necessary to collect reply information for multiple links. It's also understandable that the same user might switch between different live streams, and each streamer's room has significantly different available video tiers, including the number of tiers, resolution distribution, frame rate distribution, encoding, etc. Furthermore, even with the same high-definition video tier, some live streams might be 720p+24fps, while others might be 1080p+60fps. Therefore, to adapt to diverse online scenarios, it's necessary to maintain the viewer's historical bandwidth information table.

[0043] It's important to note that when maintaining the historical bandwidth information table on the viewer's end, if stuttering occurs due to insufficient user bandwidth to cover the video bitrate, resulting in playback gaps or frame drops, the historical bandwidth information table will filter out that record. Furthermore, bandwidth information exceeding the threshold for the number of views and the time threshold will not be used to update the historical bandwidth information table. If a viewer has no viewing records within a certain period, the historical bandwidth information table will be cleared. If a viewer has previously watched all PK (player versus player) rooms and then switches to a regular room, the historical cached bandwidth will be relatively small, and in this case, the PK room records will be filtered out from the historical bandwidth information table.

[0044] Based on the historical bandwidth information table maintained by the corresponding viewer's client device, when the target client switches to the current live stream, it returns the historical bandwidth information table to the viewer's server. The viewer's server then filters and calculates the bandwidth information to determine the most recently detected bandwidth and the bandwidth with the largest value, i.e., the real-time bandwidth and the target bandwidth. Optionally, the target client can also directly perform information filtering and calculation, returning the real-time bandwidth and target bandwidth to the viewer's server as usable information for the user to select video quality when logging into the current live stream.

[0045] Based on the real-time bandwidth and target bandwidth, the viewer-side server further selects a suitable bandwidth information as the target bandwidth for initial video gradation decisions. For example... Figure 3 As shown, the target bandwidth is selected based on the specified attribute information of the target client in the previous live broadcast room, either the real-time bandwidth or the maximum bandwidth, including:

[0046] S1201. Compare the target client's specified attribute information in the previous live broadcast room with the specified attribute conditions;

[0047] S1202. If the specified attribute information meets the specified attribute conditions, select the maximum bandwidth as the target bandwidth; if the specified attribute information does not meet the specified attribute conditions, select the real-time bandwidth as the target bandwidth; the specified attribute information includes one or more of the following: the live room type of the target client's previous live room, the source stream bitrate of the target client in the previous or current live room, the bandwidth detection status of the target client, the video bitrate of the target client in the previous live room, and the round-trip latency information of the target client.

[0048] The impact of the target client's bitrate in the previous live stream on the target client's bandwidth detection is determined by analyzing specified attribute information of the target client in the previous live stream. Specifically, by analyzing one or more of the following attributes: the live stream type of the target client's previous live stream, the source stream bitrate of the target client in the previous or current live stream, the target client's bandwidth detection status, the target client's video bitrate in the previous live stream, and the corresponding round-trip latency information of the target client, it can be determined whether the specified attribute information affects the target client's most recently detected bandwidth information (i.e., real-time bandwidth), resulting in an underestimation of its bandwidth. If so, the maximum bandwidth should be used for the initial video tier decision; otherwise, the real-time bandwidth should be used directly.

[0049] Optionally, the specified attribute information meets the specified attribute conditions, including: the live room type of the previous live room of the target client is a specified type; or, the source stream bitrate of the target client in the previous live room or the current live room is lower than the set source stream bitrate threshold, and the round-trip latency information of the target client is lower than the set duration; or, the bandwidth detection status of the target client is a source-limited state, the video bitrate of the target client in the previous live room is lower than the set video bitrate threshold, and the round-trip latency information of the target client is lower than the set duration.

[0050] For example, the conditions for a specified attribute to be met include:

[0051] a. The target client's last viewed live stream was a PK (player versus player) room;

[0052] b. The source stream bitrate of the previous live stream or the source stream bitrate of the current live stream is less than the set source stream bitrate threshold (currently set to 0.5, indicating a large difference in bitrate between watching the previous and current live streams); and the round-trip time (RTT) of the target client is less than the set duration (currently set to 50ms).

[0053] c. The source is limited, and the video bitrate of the previous live stream is less than the set video bitrate threshold (currently set to 800kbps, meaning the current bandwidth detection is limited and the bitrate of the previous live stream is low); and the round-trip latency information corresponding to the target client is less than the set duration (currently set to 50ms);

[0054] If any one of the above a, b, or c conditions is met, the maximum bandwidth is used as the target bandwidth. If none of these conditions are met, the real-time bandwidth is still used as the target bandwidth for the initial video gradation decision.

[0055] Reference Figure 4 This application embodiment sets the initial video tier of the target client in the current live broadcast room based on the target bandwidth, including:

[0056] S1301. Obtain multiple selectable video tiers for the current live stream, as well as the video bitrate and transcoding latency corresponding to each selectable video tier;

[0057] S1302. If the target bandwidth and the corresponding optional video bitrate and transcoding delay meet the set conditions, select the optional video bitrate that meets the set conditions as the initial video bitrate.

[0058] Specifically, when a target client logs into the current live stream, the viewer's server first selects the available video tier for that target client within the current live stream. For example... Figure 2 As shown, the initial tier controller on the viewer-side server receives information such as the target client's bandwidth status and device model, as well as the number of available tiers for the currently requested live video (e.g., the stream from the broadcaster's start, ultra-high quality, high quality, medium quality, low quality, ultra-low quality, etc.). It also obtains relevant information for these tiers, such as whether the viewer-side server has cached the video data for that tier, and the transcoding latency for that tier. The initial tier controller, combining the viewer's bandwidth status, device model, available tiers, and transcoding latency, makes an initial tier decision, selecting the most suitable tier (i.e., meeting the set conditions) from the available options—the initial video tier. After the initial video tier is determined, the viewer-side server checks whether the data queue for that tier is already cached. If it is, it directly sends the stream to the target client; otherwise, it pulls the stream from the broadcaster-side server and then sends it to the target client.

[0059] Specifically, the target bandwidth and the corresponding optional video bitrate and transcoding latency must meet set conditions, including: the absolute value of the difference between the video bitrate of the corresponding optional video bitrate and the target bandwidth is minimized, and the corresponding transcoding latency is less than or equal to a set transcoding latency threshold. When deciding on the initial video bitrate, the initial bitrate controller first assumes there are multiple optional video bitrates of video quality V1, V2, ..., Vn, where a larger n represents higher video quality. The target client device type classification (i.e., device model) is D1, D2, ..., Dk, where each element is a device type category (a larger k indicates a higher-end device). Assuming the target client device type category is DK-1, the initial bitrate controller obtains the optional bitrates (V1, V2, ..., Vn). Because the device type cannot adapt to the video stream of bitrate Vn, the distribution of bitrate Vn and its corresponding video bitrate can be restricted. The algorithm selects a bitrate from the n-1 bitrates (V1, V2, ..., Vn-1) that has the closest bitrate to the target bandwidth while minimizing the transcoding latency. Assume the bitrate set corresponding to each bitrate is (CR1, CR2, ..., CRn-1), and the transcoding latency is (CD1, CD2, ..., CDn-1). The algorithm initially sets a transcoding latency threshold, Threshold. CD The algorithm aims to simultaneously satisfy the following objectives:

[0060] min|CRm-BW|;

[0061] CDm≤Threshold CD

[0062] Where CRm represents the bitrate corresponding to the video tier, CDm represents the transcoding latency corresponding to the video tier, BW represents the target bandwidth, and Threshold... CD This represents the transcoding latency threshold. By iterating through the set of available video tiers, the video tier with the smallest absolute difference between its bitrate and target bandwidth, and whose transcoding latency is less than the threshold, is selected as the initial video tier. This completes the initial video tier decision. It should be noted that if the current live stream is not transcoded, meaning the set of available tiers only contains the streamer's source stream, the source stream is directly sent to the target client as a fallback strategy for the initial video tier.

[0063] In addition, when selecting an optional video clip that meets the set conditions as the initial video clip in the embodiments of this application, the method further includes: when there are multiple optional video clips that meet the set conditions, estimating the stutter duration of each corresponding optional video clip based on a pre-built stutter duration estimation model, and selecting the corresponding optional video clip as the initial video clip from among the multiple optional video clips that meet the set conditions according to the stutter duration.

[0064] By estimating the duration of buffering when the video data corresponding to each optional video tier is received by the target client, the corresponding optional video tier is selected as the initial video tier based on the buffering duration.

[0065] The buffering duration prediction model undergoes data cleaning during training by selecting external features (viewer's location, phone model, network type, etc.) and internal features (bandwidth value, bandwidth spikes or drops, bitrate, video output time, buffering rate, etc.). Then, through feature selection, the relationship between each feature and buffering is determined, and one or more of the most influential features are selected to classify users. During classification, all features can be fitted to the model initially, and the most important features are selected. This process is then repeated to re-evaluate the importance of the remaining features. If the selected features divide the data into groups with significantly different numbers of users, the group with the smaller number of users can be retained, and only the remaining users are classified. Then, the selected important external features are used to group viewers, and internal features with strong correlation to buffering rate are selected. The grouped data and features are then input into the model for training, resulting in the corresponding buffering duration prediction model, which can then be used for subsequent buffering duration prediction.

[0066] Furthermore, among the multiple optional video profiles that meet the set conditions, the corresponding optional video profile is selected as the initial video profile based on the stuttering duration. This includes: determining the profile quality of each optional video profile that meets the set conditions; weighting and summing the profile quality and stuttering duration according to the set weights to obtain a weighted value; and selecting the optional video profile with the largest weighted value as the initial video profile.

[0067] This application's embodiments select the corresponding optimal solution based on the Pareto optimal solution's objective functions maxf1(x) and minf2(x). maxf1(x) maximizes the video quality of the selected video tier, while minf2(x) minimizes the estimated buffering time. Since the two objectives, maxf1(x) and minf2(x), may conflict—maxf1(x) ensures the video quality viewed by the audience (online viewers prefer high-quality videos), while minf2(x) ensures the audience's viewing experience (fast video output, no buffering)—the algorithm obtains a Pareto solution set. A weighted sum is then performed: f(x) = a*f1(x) + b*f2(x), with weights of a = 1 and b = -5. The tier corresponding to maxf(x) is then selected for distribution. This allows for further decision-making on the initial video tier from multiple selectable video tiers that meet the set conditions.

[0068] When multiple video tiers are available that meet the set conditions, the video tier decision priority is ranked as follows: decoding resolution > quality level > bitrate. This increases the proportion of high-resolution tiers while saving video bitrate. This ensures that, at the same resolution, the higher quality level is selected for distribution; and when resolution and quality level are the same, the lower bitrate is prioritized, saving bitrate without affecting the viewer's experience. In this way, video clarity is improved within the user's bandwidth capacity, maximizing the balance between smooth video playback and high image quality for the viewer.

[0069] In one embodiment, when the viewer-side server obtains multiple optional video tiers for the current live stream, it further includes: comparing the target client's device information with a set restriction list, and if the device information matches the restriction list, filtering the optional video tiers for the current live stream based on the set tier restrictions.

[0070] The viewer-side server can generate a blacklist of low-end devices based on statistical results from a large amount of online data. All devices on this list are restricted from receiving high-resolution content. Devices on the blacklist are further categorized, such as: 1. Restricted to ultra-high resolution or below; 2. Restricted to high resolution or below; 3. Restricted to medium resolution or below; 4. Restricted to low resolution or below. Mid-to-high-end devices not on the blacklist are not restricted in resolution. This reduces the computational load on the viewer-side server and improves decision-making efficiency.

[0071] The above describes a process where, by obtaining the target client's historical bandwidth information table, the target client's real-time and maximum bandwidth are determined. The real-time bandwidth is the bandwidth most recently detected by the target client, and the maximum bandwidth is the highest value from the historical bandwidth information table. Based on the target client's specified attribute information from the previous live stream, either the real-time or maximum bandwidth is selected as the target bandwidth. The initial video tier for the target client in the current live stream is then set according to the target bandwidth. By employing this technique, the target client's historical maximum or real-time bandwidth is selected as the target bandwidth based on the bitrate and network conditions of the previous live stream. This allows for precise setting of the target client's initial video tier in the current live stream, avoiding situations where initial video tier settings are incorrect and result in relatively low video clarity, thus improving the user's viewing experience. Furthermore, precise setting of the initial video tier reduces the frequency of subsequent video tier switching, ensuring stable video quality output.

[0072] Based on the above embodiments, Figure 5 A schematic diagram of an initial video bit setting system provided in this application. (Reference) Figure 5 The initial video level setting system provided in this embodiment specifically includes: an acquisition module 21, a selection module 22, and a setting module 23.

[0073] The acquisition module 21 is configured to acquire the historical bandwidth information table of the target client, and determine the real-time bandwidth and maximum bandwidth of the target client based on the historical bandwidth information table. The real-time bandwidth is the bandwidth information most recently detected by the target client, and the maximum bandwidth is the bandwidth information with the largest value in the historical bandwidth information table.

[0074] Module 22 is configured to select the real-time bandwidth or maximum bandwidth as the target bandwidth based on the specified attribute information of the target client in the previous live broadcast room.

[0075] Module 23 is configured to set the initial video quality of the target client in the current live stream based on the target bandwidth.

[0076] Specifically, the target bandwidth is selected based on the specified attribute information of the target client in the previous live broadcast room, either the real-time bandwidth or the maximum bandwidth, including:

[0077] Compare the target client's specified attribute information in the previous live stream with the specified attribute conditions;

[0078] If the specified attribute information meets the specified attribute conditions, the maximum bandwidth is selected as the target bandwidth; if the specified attribute information does not meet the specified attribute conditions, the real-time bandwidth is selected as the target bandwidth.

[0079] The specified attribute information includes one or more of the following: the live stream type of the target client's previous live stream, the source stream bitrate of the target client in the previous or current live stream, the bandwidth detection status of the target client, the video bitrate of the target client in the previous live stream, and the round-trip latency information of the target client.

[0080] Among them, the specified attribute information meets the specified attribute conditions, including:

[0081] The live stream type of the previous live stream room on the target client is a specified type;

[0082] Alternatively, the source stream bitrate of the target client in the previous or current live stream room is lower than the set source stream bitrate threshold, and the round-trip latency information of the target client is lower than the set duration;

[0083] Alternatively, the target client's bandwidth detection status is that the source is limited, the target client's video bitrate in the previous live broadcast room is lower than the set video bitrate threshold, and the round-trip latency information of the target client is lower than the set duration.

[0084] Specifically, the initial video tier for the target client in the current live stream is set based on the target bandwidth, including:

[0085] Get multiple available video tiers for the current live stream, as well as the video bitrate and transcoding latency for each available video tier;

[0086] If the target bandwidth and the corresponding optional video bitrate and transcoding latency meet the set conditions, select the optional video bitrate that meets the set conditions as the initial video bitrate.

[0087] The target bandwidth and the corresponding optional video bitrate and transcoding latency meet the set conditions, including:

[0088] The absolute value of the difference between the video bitrate and the target bandwidth for the corresponding selectable video tier is the smallest, and the corresponding transcoding delay is less than or equal to the set transcoding delay threshold.

[0089] Selecting an optional video file that meets the set conditions as the initial video file also includes:

[0090] When there are multiple optional video clips that meet the set conditions, the buffer duration of each optional video clip is estimated based on the pre-built buffer duration prediction model. Then, the optional video clip that meets the set conditions is selected as the initial video clip based on the buffer duration.

[0091] From multiple selectable video clips that meet the set conditions, select the corresponding selectable video clip as the initial video clip based on the duration of the stutter, including:

[0092] Determine the quality of each selectable video level that meets the set conditions, and sum the quality of the video level and the stuttering time according to the set weights to obtain the weighted value.

[0093] Select the video file with the largest weighted value as the initial video file.

[0094] Specifically, obtaining multiple selectable video tiers for the current live stream also includes:

[0095] Based on the target client's device information, the system compares the device information with the set restriction list. If the device information matches the restriction list, the system filters the available video tiers for the current live stream based on the set tier restrictions.

[0096] The above describes a process where, by obtaining the target client's historical bandwidth information table, the target client's real-time and maximum bandwidth are determined. The real-time bandwidth is the bandwidth most recently detected by the target client, and the maximum bandwidth is the highest value from the historical bandwidth information table. Based on the target client's specified attribute information from the previous live stream, either the real-time or maximum bandwidth is selected as the target bandwidth. The initial video tier for the target client in the current live stream is then set according to the target bandwidth. By employing this technique, the target client's historical maximum or real-time bandwidth is selected as the target bandwidth based on the bitrate and network conditions of the previous live stream. This allows for precise setting of the target client's initial video tier in the current live stream, avoiding situations where initial video tier settings are incorrect and result in relatively low video clarity, thus improving the user's viewing experience. Furthermore, precise setting of the initial video tier reduces the frequency of subsequent video tier switching, ensuring stable video quality output.

[0097] The initial video level setting system provided in this application embodiment can be configured to execute the initial video level setting method provided in the above embodiment, and has corresponding functions and beneficial effects.

[0098] Based on the above practical examples, this application also provides an initial video bit setting device, referring to... Figure 6 The initial video gear setting device includes a processor 31, a memory 32, a communication module 33, an input device 34, and an output device 35. The memory, as a computer-readable storage medium, can be configured to store software programs, computer-executable programs, and modules, such as program instructions / modules corresponding to the initial video gear setting method described in any embodiment of this application (e.g., the acquisition module, selection module, and setting module in the initial video gear setting system). The communication module is configured to perform data transmission. The processor executes various functional applications and data processing of the device by running the software programs, instructions, and modules stored in the memory, thereby implementing the aforementioned initial video gear setting method. The input device can be configured to receive input digital or character information and generate key signal inputs related to user settings and function control of the device. The output device may include a display screen or other display device. The initial video gear setting device provided above can be configured to execute the initial video gear setting method provided in the above embodiments, possessing corresponding functions and beneficial effects.

[0099] Based on the above embodiments, this application also provides a computer-readable storage medium storing computer-executable instructions. These computer-executable instructions, when executed by a computer processor, are configured to perform an initial video gradation setting method. The storage medium can be any type of memory device or storage device. Of course, the computer-readable storage medium provided in this application is not limited to the initial video gradation setting method described above; it can also perform related operations within the initial video gradation setting method provided in any embodiment of this application.

[0100] Based on the above embodiments, this application also provides a computer program product. The technical solution of this application, in essence or in other words, the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. The computer program product is stored in a storage medium and includes several instructions to cause a computer device, mobile terminal, or processor therein to execute all or part of the steps of the initial video level setting method described in the various embodiments of this application.

Claims

1. A method for setting initial video file levels, characterized in that, include: Obtain the historical bandwidth information table of the target client, and determine the real-time bandwidth and maximum bandwidth of the target client based on the historical bandwidth information table. The real-time bandwidth is the bandwidth information most recently detected by the target client, and the maximum bandwidth is the bandwidth information with the largest value in the historical bandwidth information table. The specified attribute information of the target client in the previous live broadcast room is compared with the specified attribute conditions; if the specified attribute information meets the specified attribute conditions, the maximum bandwidth is selected as the target bandwidth. If the specified attribute information does not meet the specified attribute conditions, the real-time bandwidth is selected as the target bandwidth; The specified attribute information meeting the specified attribute conditions includes: the live room type of the previous live room of the target client is a specified type; or, the source stream bitrate of the target client in the previous live room or the current live room is lower than a set source stream bitrate threshold, and the round-trip latency information corresponding to the target client is lower than a set duration; or, the bandwidth detection status of the target client is a source-limited state, the video bitrate of the target client in the previous live room is lower than a set video bitrate threshold, and the round-trip latency information corresponding to the target client is lower than a set duration. The initial video quality of the target client in the current live stream is set according to the target bandwidth.

2. The initial video level setting method according to claim 1, characterized in that, The specified attribute information includes one or more of the following: the live room type of the previous live room of the target client, the source stream bitrate of the target client in the previous or current live room, the bandwidth detection status of the target client, the video bitrate of the target client in the previous live room, and the round-trip latency information of the target client.

3. The initial video bit setting method according to claim 1, characterized in that, Setting the initial video tier for the target client in the current live stream based on the target bandwidth includes: Obtain multiple selectable video tiers for the current live stream, as well as the video bitrate and transcoding latency corresponding to each selectable video tier; If the target bandwidth and the corresponding video bitrate and transcoding latency of the optional video tier meet the set conditions, the optional video tier that meets the set conditions is selected as the initial video tier.

4. The initial video position setting method according to claim 3, characterized in that, The target bandwidth and the corresponding video bitrate and transcoding latency of the selectable video tiers meet the set conditions, including: The absolute value of the difference between the video bitrate of the corresponding optional video tier and the target bandwidth is the smallest, and the corresponding transcoding delay is less than or equal to the set transcoding delay threshold.

5. The initial video level setting method according to claim 3, characterized in that, The step of selecting the optional video tier that meets the set conditions as the initial video tier further includes: When there are multiple optional video clips that meet the set conditions, the buffer duration of each optional video clip is estimated based on a pre-built buffer duration estimation model. Then, the optional video clip that meets the set conditions is selected as the initial video clip based on the buffer duration.

6. The initial video level setting method according to claim 5, characterized in that, The step of selecting the corresponding optional video clip as the initial video clip from a plurality of optional video clips that meet set conditions based on the duration of the stuttering includes: Determine the quality of each of the selectable video levels that meet the set conditions, and sum the quality of the video level and the stuttering duration according to the set weights to obtain a weighted value. The optional video rank with the largest weighted value is selected as the initial video rank.

7. The initial video position setting method according to claim 3, characterized in that, The process of obtaining multiple selectable video tiers for the current live stream also includes: Based on the device model information of the target client, a set restriction list is compared. If the device model information matches the restriction list, the available video tiers in the current live stream are filtered based on the set tier restrictions.

8. An initial video bit setting system, characterized in that, include: The acquisition module is configured to acquire a historical bandwidth information table of the target client, and determine the real-time bandwidth and maximum bandwidth of the target client based on the historical bandwidth information table. The real-time bandwidth is the bandwidth information most recently detected by the target client, and the maximum bandwidth is the bandwidth information with the largest value in the historical bandwidth information table. The selection module is configured to compare the specified attribute information of the target client in the previous live broadcast room with specified attribute conditions; if the specified attribute information meets the specified attribute conditions, the maximum bandwidth is selected as the target bandwidth. If the specified attribute information does not meet the specified attribute conditions, the real-time bandwidth is selected as the target bandwidth; The specified attribute information meeting the specified attribute conditions includes: the live room type of the previous live room of the target client is a specified type; or, the source stream bitrate of the target client in the previous live room or the current live room is lower than a set source stream bitrate threshold, and the round-trip latency information corresponding to the target client is lower than a set duration; or, the bandwidth detection status of the target client is a source-limited state, the video bitrate of the target client in the previous live room is lower than a set video bitrate threshold, and the round-trip latency information corresponding to the target client is lower than a set duration. The settings module is configured to set the initial video quality of the target client in the current live broadcast room based on the target bandwidth.

9. An initial video bit setting device, characterized in that, include: Memory and one or more processors; The memory is configured 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 initial video gradation setting method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions that, when executed by a computer processor, are configured to perform the initial video gradation setting method as described in any one of claims 1-7.

11. A computer program product, characterized in that, The computer program product includes instructions that, when executed on a computer or processor, cause the computer or processor to perform the initial video gradation setting method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Video transcoding method and device, server and storage medium

    CN111107395A

  • Initial gear video stream transmission method and device, equipment and storage medium

    CN115314723A