A video loading method and device, computer equipment, medium and product

CN122970288APending Publication Date: 2026-10-23TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510482491.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-16
Publication Date
2026-10-23

AI Technical Summary

Technical Problem

[0003]然而,发明人在实现中发现,针对现有的视频加载业务而言,客户端所遍历加载的推荐列表中的各个视频资源进行加载时,这些视频资源是直接根据该业务对象所点播过的历史视频的视频类型、以及针对该视频类型的点播频次来决策加载的,并不能保证该客户端的真实加载性能,比如,一旦在客户端快要出现卡顿等恶化现象时,若直接按照该推荐列表的加载顺序进行视频播放,会因为加载不及时而导致卡顿

Benefits of technology

[0029]本申请实施例中,第一客户端接收推荐服务器下发的包括N个推荐视频的推荐列表后,若确定推荐视频j为在推荐列表中存在先验视频加载信息的视频,则从推荐列表中获取推荐视频j的先验视频加载信息;同时,获取第一客户端的当前网络质量和预估网络质量;并基于当前网络质量、预估网络质量以及推荐视频j的先验视频加载信息,对推荐视频j在推荐列表中的推荐优先级进行调整,基于调整后的推荐列表对推荐视频j进行视频加载。从该方法可知,客户端可以根据推荐列表中视频的先验视频加载信息以及客户端本身的网络质量,对推荐列表的播放顺序进行灵活地调整,以确保不同网络质量都能及时进行视频加载,从而减少视频加载的卡顿,提升服务质量和用户体验。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122970288A_ABST
    Figure CN122970288A_ABST
Patent Text Reader

Abstract

The application discloses a video loading method and device, computer equipment, medium and product. The method comprises the following steps: after a first client receives a recommendation list comprising N recommended videos issued by a recommendation server, if it is determined that the recommendation list further comprises prior video loading information of a recommended video j, the prior video loading information of the recommended video j is acquired from the recommendation list; meanwhile, the current network quality and the estimated network quality of the first client are acquired; and the recommendation priority of the recommended video j in the recommendation list is adjusted based on the current network quality, the estimated network quality and the prior video loading information of the recommended video j, and the video loading of the recommended video j is performed based on the adjusted recommendation list. Through the method, the video loading lag can be reduced, and the service quality and user experience can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, specifically to a video loading method, a video loading device, a computer device, a computer-readable storage medium, and a computer program product. Background Technology

[0002] In existing video loading services, the recommendation server periodically sends a recommendation list to the client. These videos are typically recommended by the server based on the video type of the user's past viewed videos and the frequency of viewing for that video type. For example, if a user enjoys sports and frequently views and plays basketball-related videos, the recommendation server's list will include basketball games and even basketball-related videos (such as shopping videos). Upon receiving this recommendation list, the client can then directly load and traverse the various video resources in the list using its own media player.

[0003] However, the inventors discovered during implementation that, for existing video loading services, when the client iterates through and loads video resources from the recommendation list, the loading decision is made directly based on the video type of the historical videos played by the client and the frequency of playback for that video type. This cannot guarantee the client's actual loading performance. For example, if the client is about to experience stuttering or other deterioration, directly playing videos according to the loading order of the recommendation list will cause stuttering due to untimely loading. Therefore, reducing video loading stuttering and improving service quality and user experience has become an urgent technical problem to be solved. Summary of the Invention

[0004] This application provides a video loading method, apparatus, computer equipment, medium, and product. The client can flexibly adjust the playback order of the recommended list based on the prior video loading information of the videos in the recommended list and the client's own network quality to ensure that videos can be loaded in a timely manner regardless of network quality, thereby reducing video loading stuttering and improving service quality and user experience.

[0005] This application discloses a video loading method, which is executed by a first client and includes:

[0006] Receive a recommendation list containing N recommended videos from the recommendation server; N is a positive integer, and the N recommended videos include recommended video j; j is a positive integer less than or equal to N;

[0007] If the recommendation list also includes prior video loading information of the recommended video j, then the prior video loading information of the recommended video j is obtained from the recommendation list; the prior video loading information of the recommended video j is obtained by feeding back the recommended video j when it was loaded in the past.

[0008] Obtain the current network quality and estimated network quality of the first client; the estimated network quality refers to the network quality at the next moment estimated based on the current network quality.

[0009] Based on the current network quality, the estimated network quality, and the prior video loading information of the recommended video j, the recommendation priority of the recommended video j in the recommendation list is adjusted;

[0010] Based on the adjusted recommendation list, the recommended video j is loaded.

[0011] This application discloses a video loading method, which is executed by a recommendation server and includes:

[0012] Determine an initial recommendation list associated with the first client; the initial recommendation list contains N recommended videos; N is a positive integer;

[0013] From the N recommended videos, obtain recommended video j, and search for the prior video loading information of recommended video j; where j is a positive integer less than or equal to N; the prior video loading information is determined by the historical transmission information associated with recommended video j uploaded by the recommendation server through the second client; the historical transmission information is determined by the historical network quality when the second client loads video for recommended video j, and the historical service quality provided by the video server corresponding to recommended video j;

[0014] The prior video loading information of the found recommended video j is added to the initial recommendation list to obtain a recommendation list. The recommendation list is then sent to the first client so that when the first client obtains the prior video loading information of the recommended video j from the recommendation list, it can obtain the current network quality and the estimated network quality of the first client. Based on the current network quality, the estimated network quality, and the prior video loading information of the recommended video j, the recommendation priority of the recommended video j in the recommendation list is adjusted. The recommended video j is then loaded based on the adjusted recommendation list. The estimated network quality identifier refers to the network quality estimated at the next moment based on the target network quality identifier.

[0015] One embodiment of this application discloses a video loading device, which is disposed in a first client, the device comprising:

[0016] The receiving module is used to receive a recommendation list containing N recommended videos sent by the recommendation server; N is a positive integer, and the N recommended videos include recommended video j; j is a positive integer less than or equal to N;

[0017] The information acquisition module is used to acquire the prior video loading information of the recommended video j from the recommendation list if the recommendation list also includes videos with prior video loading information of the recommended video j; the prior video loading information of the recommended video j is obtained by feeding back the recommended video j when it was loaded in the past.

[0018] The information acquisition module is further configured to acquire the current network quality and estimated network quality of the first client; the estimated network quality identifier refers to the network quality estimated at the next moment based on the target network quality identifier.

[0019] The adjustment module is used to adjust the recommendation priority of the recommended video j in the recommendation list based on the current network quality, the estimated network quality, and the prior video loading information of the recommended video j;

[0020] A loading module is used to load the recommended video j based on the adjusted recommendation list.

[0021] One embodiment of this application discloses a video loading device, which is disposed in a recommendation server, the device comprising:

[0022] The list determination module is used to determine an initial recommendation list associated with the first client; the initial recommendation list contains N recommended videos; N is a positive integer;

[0023] The search module is used to obtain a recommended video j from the N recommended videos and search for the prior video loading information of the recommended video j; where j is a positive integer less than or equal to N; the prior video loading information is obtained by feeding back the recommended video j when it was loaded in the past.

[0024] An add module is used to add the prior video loading information of the found recommended video j to the initial recommendation list to obtain the recommendation list;

[0025] The sending module is configured to send the recommendation list to the first client, so that when the first client obtains the prior video loading information of the recommended video j from the recommendation list, it can obtain the current network quality and the estimated network quality of the first client, and adjust the recommendation priority of the recommended video j in the recommendation list based on the current network quality, the estimated network quality and the prior video loading information of the recommended video j, and load the recommended video j based on the adjusted recommendation list. The estimated network quality identifier refers to the network quality estimated at the next moment based on the target network quality identifier.

[0026] One aspect of this application discloses a computer device, which includes a processor adapted to implement one or more computer programs; and a computer-readable storage medium storing one or more computer programs, the one or more computer programs being adapted to be loaded and executed by the processor using the video loading method described above.

[0027] One aspect of this application discloses a computer-readable storage medium storing one or more computer programs adapted to be loaded by a processor and executed by the video loading method described above.

[0028] One embodiment of this application discloses a computer program product, which includes a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the aforementioned video loading method.

[0029] In this embodiment, after receiving a recommendation list containing N recommended videos from the recommendation server, if the first client determines that recommended video j has prior video loading information in the recommendation list, it retrieves the prior video loading information of recommended video j from the recommendation list. Simultaneously, it retrieves the current network quality and estimated network quality of the first client. Based on the current network quality, estimated network quality, and the prior video loading information of recommended video j, it adjusts the recommendation priority of recommended video j in the recommendation list, and loads the recommended video j based on the adjusted recommendation list. This method allows the client to flexibly adjust the playback order of the recommendation list based on the prior video loading information of the videos in the recommendation list and the client's own network quality, ensuring timely video loading regardless of network quality, thereby reducing video loading stuttering and improving service quality and user experience. Attached Figure Description

[0030] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0031] Figure 1 This is a schematic diagram of the network architecture of a video loading system disclosed in an embodiment of this application;

[0032] Figure 2 This is a schematic diagram of the network architecture of another video loading system disclosed in an embodiment of this application;

[0033] Figure 3 This is a schematic diagram of a video loading scenario disclosed in an embodiment of this application;

[0034] Figure 4 This is a flowchart illustrating a video loading method disclosed in an embodiment of this application;

[0035] Figure 5 This is a schematic diagram illustrating the relationship between a stuttering threshold and a stuttering attribute value as disclosed in an embodiment of this application;

[0036] Figure 6 This is a schematic diagram illustrating the relationship between a cache threshold and a cache attribute value as disclosed in an embodiment of this application;

[0037] Figure 7 This is a schematic diagram illustrating the first method of adjusting the recommendation priority of recommended video j according to an embodiment of this application;

[0038] Figure 8 This is a schematic diagram illustrating the second method of adjusting the recommendation priority of recommended video j, as provided in the embodiments of this application.

[0039] Figure 9 This is a schematic diagram illustrating the third method of adjusting the recommendation priority of recommended video j provided in the embodiments of this application;

[0040] Figure 10 This is a schematic diagram illustrating the fourth method of adjusting the recommendation priority of recommended video j provided in the embodiments of this application;

[0041] Figure 11 This is a schematic diagram illustrating the fifth method for adjusting the recommendation priority of recommended video j, as provided in the embodiments of this application.

[0042] Figure 12 This is a schematic diagram illustrating the sixth method for adjusting the recommendation priority of recommended video j, provided in the embodiments of this application.

[0043] Figure 13This is a schematic diagram illustrating the seventh method for adjusting the recommendation priority of recommended video j, as provided in the embodiments of this application.

[0044] Figure 14 This is a schematic diagram of the module connections of a user terminal disclosed in an embodiment of this application;

[0045] Figure 15 This is a flowchart illustrating another video loading method disclosed in an embodiment of this application;

[0046] Figure 16 This is a flowchart illustrating a video loading method with two-end interaction disclosed in an embodiment of this application;

[0047] Figure 17 This is a flowchart illustrating another video loading method disclosed in an embodiment of this application;

[0048] Figure 18 This is a schematic diagram of the structure of a video loading device disclosed in an embodiment of this application;

[0049] Figure 19 This is a schematic diagram of another video loading device disclosed in the embodiments of this application;

[0050] Figure 20 This is a schematic diagram of the structure of a computer device disclosed in an embodiment of this application. Detailed Implementation

[0051] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0052] Before describing the embodiments of this application, some terms used in the embodiments of this application will be explained:

[0053] I. Network Quality: Network quality is data used to measure the network status of a client. In this embodiment, network quality includes current network quality and estimated network quality. Current network quality measures the client's network status at the current moment, and is categorized into three levels: good, medium, and poor. Estimated network quality indicates the client's network quality relative to the current moment. The value of the estimated network quality determines whether the network quality will immediately deteriorate; it either indicates an immediate deterioration or no immediate deterioration. Network quality directly impacts user experience. A better network quality indicates a higher quality user experience, while a worse network quality indicates a lower quality user experience.

[0054] II. Interaction Quality: This refers to data used to measure the quality of user experience and the quality of service provided by the client. Quality of Experience (QoE) is a concept used to measure the overall quality and satisfaction a user experiences while using a product or service. Quality of Services (QoS) refers to the performance level and service guarantees that the client can provide when transmitting data over the network. In this embodiment, interaction quality is determined based on the current network quality and the estimated network quality. Interaction quality can include multiple levels, such as Level 1, Level 2, Level 3, and Level 4, with Level 1 being the highest and so on, and Level 4 being the lowest. For example, Level 1 interaction quality indicates that the user experience quality and the quality of service provided by the client are the best among these four levels.

[0055] III. Prior Video Loading Information: This refers to relevant parameter information from the historical video loading process. Prior video loading information is determined based on the historical network quality at the time the video was loaded, and the historical service quality provided by the corresponding video server. Prior video loading information typically includes the video loading speed, round-trip latency, and bandwidth parameters. Specifically, historical network quality is determined based on historical network quality indicators related to the video during its loading, including loading speed, round-trip latency, and server address information. Historical service quality is determined based on the server's historical service quality indicators at the time the video was loaded, including the maximum bandwidth provided by the client and the packet loss rate.

[0056] The maximum bandwidth parameter refers to the maximum capacity or rate at which a client can transmit data in network communication. It is typically used to describe the data transmission speed of a network connection, measured in bits or bytes per second. Higher bandwidth means faster network speeds, allowing for quicker downloads, uploads, and data transfers.

[0057] Packet loss rate: Packet loss rate is a key indicator for measuring network transmission efficiency. It refers to the proportion of data packets that fail to reach their destination during transmission. Fluctuations in packet loss rate directly affect network stability and speed.

[0058] Loading speed: refers to the time it takes for video content to be loaded from the video server to the local browser or device. It can usually be determined by the size of the video being loaded and the loading time.

[0059] Round-trip latency: refers to the round-trip latency for loading data between the client and the video server. Specifically, it refers to the total time required for a video data packet to be sent from the video server to the client and then returned from the client to the video server as a confirmation message.

[0060] Server address information: Specifically, the server's IP address, indicating the source of the video loading. The IP address is a unique identifier used by the IP protocol (Internet Protocol) to identify devices in a network.

[0061] IV. Recommendation Priority: Priority is used to determine the execution order of programs, processes, or tasks. In this embodiment, recommendation priority refers to the recommended order of video loading, where first priority is the highest priority. If a video's recommendation priority is first priority, it means that the video will be loaded first, followed by second priority. The number of priorities can be determined according to specific circumstances.

[0062] V. Recommendation Level: The recommendation level is obtained by sorting the videos according to their loading performance in the prior video loading information. The higher the level, the better the loading performance of the video. For example, if video i has the highest recommendation level, it means that video i has the best loading performance.

[0063] 6. Interactive attribute data information: This refers to the record information of videos watched by users using this client, which may include the types of videos watched by users and the frequency of watching the same type of video.

[0064] VII. Video Recommendation List: A list consisting of multiple recommended videos. In this embodiment, the video recommendation list includes an initial recommendation list and a recommendation list determined based on the initial recommendation list. The initial recommendation list includes at least a video identifier and the server address corresponding to the video. The recommendation list includes at least a video identifier, the server address corresponding to the video, and prior video loading information (if the video in the recommendation list has this information, it is included; otherwise, it is not included).

[0065] 8. Network Operation Status: Network operation status includes the playback status of the player on the client and the cache status of the player's playback buffer. The playback status of the player on the client mainly refers to the player's stuttering situation, such as the stuttering rate and stuttering duration. The cache status of the player's playback buffer mainly refers to the player's current level, such as the current level indicating the number of audio and video frames currently cached and the duration of the cached audio and video. Network operation data can be used to determine the client's current network quality and estimated network quality.

[0066] For further details, please see Figure 1 , Figure 1 This is a schematic diagram of the structure of a video loading system disclosed in an embodiment of this application, as shown below. Figure 1 As shown, the video loading system may include a recommendation server 100, a user terminal cluster, and a video server cluster. The user terminal cluster may include multiple clients; the number of clients in the user terminal cluster is not limited here. Figure 1 As shown, the user terminal cluster may specifically include: user terminal 200a, user terminal 200b, user terminal 200c, ..., user terminal 200n. Communication connections may exist between user terminals in the cluster; for example, there is a communication connection between user terminal 200a and user terminal 200b, and between user terminal 200a and user terminal 200c. Simultaneously, any user terminal in the user terminal cluster may have a communication connection with the recommendation server 100, so that each user terminal in the cluster can interact with the recommendation server 100 through this communication connection; for example, there is a communication connection between user terminal 200a and recommendation server 100. The above communication connection is not limited to a specific method; it can be directly or indirectly connected via wired communication, or directly or indirectly connected via wireless communication, or through other methods. This application does not impose any limitations on this method. The video server cluster may include multiple video servers, such as... Figure 1As shown, the multiple video servers in the video server cluster may specifically include: video server 300a, video server 300b, video server 300c, ..., video server 300n. Each video server in the video server cluster primarily provides video sources. Any user terminal in the user terminal cluster can have a communication connection with any video server in the video server cluster, so that each user terminal in the user terminal cluster can obtain the corresponding recommended video from the video server through this communication connection. For example, user terminal 200b has a communication connection with each video server in the video server cluster. In this embodiment, the video loading system is mainly used for video recommendation and video loading. The general process is as follows: Recommendation server 100 can send a recommendation list of videos to any user terminal in the user terminal cluster. After receiving the recommendation list, the user terminal initiates a video retrieval request from the corresponding video server in the video server cluster based on the video to be played in the recommendation list. The video server sends the video resources to the client, the client loads the video, and displays it on the user terminal's display interface.

[0067] The video loading system provided in this application is mainly applied to video services, including but not limited to short videos and long videos. Currently, the recommendation list sent by the recommendation server to the client is usually based on the video type of the user's historical videos and the frequency of viewing for that video type. For example, if a user likes sports and frequently browses and plays videos related to the basketball video type, the recommendation list sent by the recommendation server will include basketball games associated with the basketball video type, and even videos related to basketball (such as shopping). In this way, after receiving the above recommendation list, the client can directly load each video resource in the recommendation list through the player corresponding to the client.

[0068] For existing video loading services, when the client iterates through and loads various video resources from the recommendation list, the loading decision is made based on the video type of the historical videos that the service object has played and the frequency of playing those video types. This cannot guarantee the client's actual loading performance. For example, if the client is about to experience stuttering or other deterioration, playing videos directly according to the loading order of the recommendation list will cause stuttering due to untimely loading.

[0069] This application provides a video loading method that can flexibly load videos according to different situations based on prior video loading information and client interaction quality. For example, when the client determines that it is about to experience lag based on the current interaction quality, it can select and load videos with higher determinism and better transmission performance based on prior video loading information to alleviate lag and other deterioration phenomena, thereby improving service quality and increasing users' online time.

[0070] Optionally, the video loading method provided in this application embodiment can be combined with other methods (e.g., methods for optimizing the transport protocol layer and / or methods for optimizing congestion control algorithms) to further improve the network transmission performance between the server and the client. The methods for optimizing the transport protocol layer and / or methods for optimizing congestion control algorithms primarily improve the network transmission performance between the server and the client from a protocol and algorithm perspective.

[0071] Among the methods for optimizing the transport protocol layer, improvements can be made at the transport protocol level to enhance the transmission performance of these data resources from the start of a request to its final completion, thereby accelerating the rate at which the server acquires data resources. For example, this can be achieved by deploying the QUIC (Quick UDP Internet Connection) protocol. Another example is deploying the Transport Control Protocol (TCP), where the sending end selects the most efficient path among multiple options such as Wi-Fi and 4G / 5G to send the data resources requested by the client.

[0072] Among the methods for optimizing congestion control algorithms, improvements can be made to enhance the full and more rational use of intermediate network resources (such as bandwidth) during data transmission. This can avoid problems such as excessive packet loss due to overly aggressive transmission or failure to achieve higher transmission efficiency due to overly moderate transmission. For example, deploying the BBR (Bottleneck Bandwidth and Round-trip Propagation Time) algorithm, which uses the "bandwidth-delay product" as a key input for transmission control, can alleviate the problem of existing congestion control algorithms being overly sensitive to packet loss signals, leading to significant window back-off.

[0073] Based on the above explanation, a video loading system can also be like... Figure 2 As shown, Figure 2As shown, the video loading system includes at least a user terminal 101, a recommendation server 102, a video server 103, and a database 104. The user terminal 101 and the recommendation server 102 can communicate with each other, as can the video server 103 and the user terminal 101. When the user terminal 101 is designated as the first terminal device, the video client running on that first terminal device can be referred to as the first client.

[0074] like Figure 2 As shown, when the video loading method provided in this application embodiment is applied to the system, the specific process can be as follows: S1: Recommendation server 102 generates a recommendation list for user u1, which includes N videos, among which video j is included. S2: Recommendation server 102 searches for prior video loading information of video j in database 104. S3: If the information exists, database 104 returns the prior video loading information of video j to recommendation server 102. S4: Recommendation server 102 sends the generated recommendation list to user terminal 101 used by user u1. After receiving the recommendation list, user terminal 101 executes S5: Obtain the current network quality and estimated network quality; S6: Based on the current network quality, estimated network quality, and prior video loading information of video j, adjust the recommendation priority of video j in the recommendation list.

[0075] S7: Load video j based on the adjusted recommendation list. From Figure 2 As can be seen, when user terminal 101 loads video, it can first execute S8: user terminal 101 sends a video loading request to video server 103, video server 103 processes the video loading request, and executes S9: video server 103 returns video resources to user terminal 101, and user terminal 101 loads video based on the returned video resources.

[0076] Furthermore, during the loading of video j, user terminal 101 can also obtain the historical network quality associated with video j and the historical service quality provided by the video server corresponding to video j. Based on the historical network quality and historical service quality, it determines the historical transmission information associated with video j and sends this information to recommendation server 102. Recommendation server 102 processes the historical transmission information of video j to generate prior video loading information for video j, which is then stored in database 104. In this way, database 104 stores a large amount of prior video loading information. When recommendation server 102 generates a recommendation list, the recommended videos in the list will most likely include prior video loading information. Therefore, during the video loading process, the client can preload the next video to be played based on the prior video data and the client's network quality to address different client situations, thereby improving service quality and user experience. For the product itself, this means increasing user engagement and extending usage time.

[0077] It should be understood that database 104 can be a storage module in recommendation server 102, or it can be an independent server separate from recommendation server 102. In this case, if it is necessary to store or retrieve data, a communication connection needs to be established between recommendation server 102 and the server corresponding to database 104, and the two parties complete data storage or data retrieval through interaction.

[0078] Based on the above description, the key point of this application's embodiments is to adjust the order of the recommendation list according to the prior video loading information, the client's current network quality, and the estimated network quality, such as... Figure 3 The diagram illustrates a video loading scenario disclosed in this application. A recommendation server generates a recommendation list B1 for user u1, containing videos 1, 3, 2, and 5. The recommendation server also generates a recommendation list B2 for user u2, containing videos 5, 6, 4, and 8. The video client running on user terminal A1 can be referred to as client A1, and the video client running on user terminal A2 can be referred to as client A2. After generating recommendation list B1 and video list B2, the recommendation server sends recommendation list B1 to user u1's client A1, and sends recommendation list B2 to user u2's client A2. Figure 3 As can be seen, recommendation list B1 and recommendation list B2 contain the same video 5.

[0079] Client A1 adjusts the recommendation list based on its current network quality, estimated network quality, and prior video loading information, resulting in the adjusted recommendation list B11. Figure 3As can be seen, due to the incorporation of client A1's network conditions, video 5's position changed from 301 in recommendation list B1 to 302 in recommendation list B11. Similarly, client A2 adjusted the recommendation list based on client A2's current network quality, estimated network quality, and prior video loading information, resulting in the adjusted recommendation list B22. Figure 3 As can be seen, due to the network conditions of client A2, the position of video 5 changed from 303 in recommendation list B2 to 304 in recommendation list B22.

[0080] It should be understood that in the above process, if the interaction attribute information of the clients corresponding to user u1 and user u2 is the same or similar (i.e., the video types of the historical videos that user u1 and user u2 have viewed, and the viewing frequency of those video types is the same or similar), then recommendation list B1 and recommendation list B2 can be the same.

[0081] In the embodiments of this application, Figures 1-3 The recommended servers and video servers shown can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.

[0082] In this application, cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a Wide Area Network (WAN) or Local Area Network (LAN) to achieve data computation, storage, processing, and sharing. Cloud technology is a collective term for network technologies, information technologies, integration technologies, management platform technologies, and application technologies applied to cloud computing business models. It can form resource pools, providing flexible and convenient on-demand access. Cloud computing technology will become a crucial support. Backend services of technical network systems require substantial computing and storage resources, such as video websites, image websites, and many portal websites. With the rapid development and application of the internet industry, every item may have its own identification mark in the future, requiring transmission to backend systems for logical processing. Data at different levels will be processed separately, and various industry data will require robust system support, which can only be achieved through cloud computing.

[0083] Furthermore, it should be understood that Figures 1-3Any user terminal shown may specifically include: a smartphone, tablet, laptop, desktop computer, wearable device, smart home device (e.g., smart TV) or other smart terminal with video data processing capabilities (e.g., video data playback capabilities).

[0084] It is understood that the above scenarios are merely examples and do not constitute a limitation on the application scenarios of the technical solutions provided in the embodiments of this application. The technical solutions of this application can also be applied to other scenarios, such as game recommendation scenarios, novel recommendation scenarios, and shopping recommendation scenarios.

[0085] It should be noted that the data collection and processing described in this application should be strictly in accordance with the requirements of relevant laws and regulations, obtaining the informed consent or separate consent of the personal information subject, and conducting subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.

[0086] Based on the video loading system described above, the video loading method proposed in this application will be described in detail below. Please refer to... Figure 4 This is a flowchart illustrating a video loading method disclosed in an embodiment of this application. This method can be executed by the user terminal 101 or by the recommendation server 102. For ease of understanding, Figure 4 Taking user terminal 101 as an example, this section mainly explains how the first client loads the recommendation list sent by the recommendation server. This method can include at least the following steps S401-S404:

[0087] S401, Receive a recommendation list containing N recommended videos sent by the recommendation server; N is a positive integer, and the N recommended videos include recommended video j; j is a positive integer less than or equal to N.

[0088] In this context, the user terminal can be defined as the first terminal device. In this case, the video client running on the first terminal device can be referred to as the first client. In the following description, the first client refers to the client running on the first terminal device, and all related actions are described using the term "first client".

[0089] In some feasible embodiments, the recommendation list can be actively obtained by the first client or passively obtained by the first client. If the first client actively obtains the list, the corresponding process may include: the first client may first send a request to the recommendation server to obtain the recommendation list; after receiving the request, the recommendation server determines the recommendation list based on the first client's interaction attribute data and sends it to the first client. If the first client passively obtains the list, the corresponding process may include: the recommendation server periodically obtains the first client's interaction attribute data, then generates the first client's recommendation list based on the first client's interaction attribute data, and periodically sends the recommendation list to the first client. The client's interaction attribute data refers to the record information of videos watched by the user using the client, specifically including the types of videos watched by the user, the frequency of watching the same type of video, reflecting the user's browsing preferences and video viewing habits, etc.

[0090] In this embodiment, the recommendation list received by the first client may include N recommended videos, where N is a positive integer. These recommended videos are associated with the interaction attribute data of the first client and are sorted according to the degree of relevance. For example, if the interaction attribute data of the first client indicates that the user of the first client likes basketball, then the N videos may be sorted according to their relevance to basketball. The videos at the top are directly related to basketball, such as basketball games and basketball skills, while the videos at the bottom may be indirectly related to basketball, such as basketball stars and basketball merchandise.

[0091] It should be understood that the recommendation list can include videos from different business scenarios. For example, it can be applied to short video businesses, in which case the recommendation list would include a series of short videos. Similarly, it can be applied to TV drama businesses, in which case the recommendation list would include a series of TV dramas. Specifically, short videos in the short video business refer to frequently pushed video content played on various new media platforms, suitable for viewing on mobile devices and during short leisure periods. This content integrates themes such as skill sharing, humor, fashion trends, social hot topics, street interviews, public welfare education, advertising creativity, and commercial customization, making it a currently popular business.

[0092] S402: If the recommendation list also includes prior video loading information of recommended video j, then obtain the prior video loading information of recommended video j from the recommendation list; the prior video loading information of recommended video j is obtained by feeding back to recommended video j when it was loaded in the past.

[0093] In some feasible embodiments, the recommended video j is any one of the N recommended videos, where j is a positive integer less than or equal to N. Before determining the recommendation list, the recommendation server first generates an initial recommendation list, which includes at least the video identifier and video address. Then, for each recommended video j among the N recommended videos, the server searches for the prior video loading information of recommended video j. If it exists, the server obtains the prior video loading information of recommended video j and adds it to the initial recommendation list to obtain the recommendation list.

[0094] It should be understood that the prior video loading information indicates the relevant parameter information of the video during the historical loading process, and records historical information, hence the term "prior." The prior video loading information of recommended video j is obtained by feedback on recommended video j during historical loading. For example, the prior video loading information here can be obtained by other clients (e.g., the second client) or the first client providing feedback on the loaded recommended video j after it has been historically loaded. It should be understood that in the embodiments of this application, the feedback process of other clients (e.g., the second client) or the first client on the loaded recommended video i can be specifically determined based on the historical transmission information of the recommended video j. The historical transmission information can include the historical network quality when loading the video and the historical service quality provided by the video server corresponding to the video. The historical network quality can be specifically determined by historical network quality indicators such as video loading speed, video loading round-trip latency, and server address information; the historical service quality can be specifically determined by historical server quality indicators such as the maximum bandwidth parameter provided by the client when loading the video and the packet loss rate of the client when loading the video. For a detailed explanation of the historical transmission information and prior video loading information of the recommended video j, please refer to [link to relevant documentation]. Figure 15 Details will not be provided here.

[0095] In this embodiment, we assume that at least one of the N recommended videos received by the first client has prior video loading information. Only under this premise can the video loading method provided in this application perform subsequent adjustment operations. Optionally, if none of the N recommended videos have prior video loading information, the first client loads the videos sequentially according to the order of the recommendation list after receiving the list. Alternatively, each recommended video in the recommendation list has prior video loading information. For such a recommendation list, the first client reorders the recommended videos in the target recommended video list based on the prior video loading information of each recommendation and the network conditions of the first client.

[0096] S403: Obtain the current network quality and estimated network quality of the first client; the estimated network quality refers to the network quality predicted for the next moment based on the current network quality.

[0097] In some feasible embodiments, after receiving the recommendation list, the first client can detect its own network status in real time. In this application, the network status of the first client can be evaluated by the current network quality and the estimated network quality. The current network quality is data used to measure the current network status of the client, and includes three levels: good, medium, and poor. The estimated network quality indicates the network status at the next moment; the value of the estimated network quality determines whether the network status will deteriorate—either it will deteriorate immediately or it will not deteriorate immediately. Network status also directly affects the user experience; the better the network status, the higher the quality of the user experience provided by the client, and the worse the network status, the lower the quality of the user experience provided by the client.

[0098] In some feasible embodiments, the process of determining the current network quality and the estimated network quality may include: obtaining the network operating status of the first client, which includes the playback status of the player on the first client and the cache status of the player's playback cache; and obtaining a network evaluation strategy for evaluating the network operating status; wherein the network evaluation strategy includes a status evaluation threshold for evaluating the network operating status. In a specific implementation, if it is necessary to determine the current network quality of the first client, the status evaluation threshold is a stuttering threshold used to evaluate the stuttering status; if it is necessary to determine the estimated network quality of the first client, the status evaluation threshold is a cache threshold used to evaluate the cache status.

[0099] If the obtained network operating status is the playback status of the player on the first client, the current network quality corresponding to the network operating status can be determined based on the playback status data corresponding to the playback status and the stuttering threshold used to evaluate stuttering in the status evaluation threshold. In this case, the network evaluation strategy defines the correspondence between the stuttering threshold and the network quality level corresponding to the current network quality. This process can be as follows: determine the player's stuttering attribute value through the playback status data corresponding to the playback status; compare the stuttering attribute value with the stuttering threshold to obtain the first comparison result; and determine the current network quality based on the first comparison result.

[0100] In some feasible implementations, the current network quality is determined based on the first comparison result as follows: If the first comparison result indicates that the lag attribute value is greater than or equal to the first lag threshold, then the current network quality corresponding to the network operating state is determined to be the current network quality reaching the first network quality level indicated by the network evaluation strategy. If the first comparison result indicates that the lag attribute value is less than the first lag threshold but greater than or equal to the second lag threshold, then the current network quality corresponding to the network operating state is determined to be the current network quality reaching the second network quality level indicated by the network evaluation strategy; if the first comparison result indicates that the lag attribute value is less than the second lag threshold, then the current network quality corresponding to the network operating state is determined to be the current network quality reaching the third network quality level indicated by the network evaluation strategy; wherein, the current network quality at the first network quality level is worse than the current network quality at the second network quality level, and the current network quality at the second network quality level is worse than the current network quality at the third network quality level. It should be understood that the first lag threshold is greater than the second lag threshold. It should also be understood that in this application, the current network quality can be divided into three levels, such as a first network quality level, a second network quality level, and a third network quality level. The first network quality level can be used to indicate a poor current network quality, the second network quality level can be used to indicate a medium current network quality, and so on, with the third network quality level indicating a superior current network quality.

[0101] In this embodiment of the application, the current network quality can be represented by QoE_quality. The current network quality of the first network quality level can be represented as QoE_quality = 1, the current network quality of the second network quality level can be represented as QoE_quality = 2, and the current network quality of the third network quality level can be represented as QoE_quality = 3.

[0102] For example, the correspondence between the various network quality levels and the lag thresholds of the current network quality can be as follows: Figure 5 As shown, the stuttering attribute value is represented by C, the first stuttering threshold is represented by th1, and the second stuttering threshold is represented by th2. When the stuttering attribute value C1 is at... Figure 5 When C1 is in the position shown in (a), and is in the range greater than or equal to th1, the current network quality is the current network quality of the first network quality level; for example, when the stuttering attribute value C2 is located in... Figure 5 When C2 is in the position shown in (b), it falls between th2 and th1, and the current network quality is the current network quality of the second network quality level; for example, when the stuttering attribute value C3 is located in... Figure 5When C3 is in the position shown in (c), it falls within the range less than th2. In this case, the current network quality can be determined to be the current network quality of the third network quality level.

[0103] In this embodiment, the lag attribute value includes lag duration and lag rate. When the lag attribute value is lag segment duration, the lag threshold is also a duration value; when the lag attribute value is lag rate, the lag threshold is also a percentage value. Optionally, when the lag attribute value is lag rate, the first lag threshold and the second lag threshold can be set to 0.5 and 0.3 respectively; when the lag attribute value is lag duration, the first lag threshold and the second lag threshold can be set to 700ms and 200ms respectively. The first lag threshold and the second lag threshold can be configured by the administrator and declared in the configuration file (which can be directly retrieved from the configuration file when needed).

[0104] If the obtained network operating status is the cache status of the player's playback cache, the estimated network quality corresponding to the network operating status can be determined based on the cache data corresponding to the cache status and the cache threshold used to evaluate the cache status in the status evaluation threshold. In this case, the network evaluation strategy defines the correspondence between the cache threshold and the network quality level corresponding to the estimated network quality. This process can be as follows: determine the player's cache attribute value through cache data, compare the cache attribute value and the cache threshold to obtain a second comparison result; determine the estimated network quality corresponding to the network operating status based on the second comparison result. Specifically, if the second comparison result indicates that the cache attribute value is less than the cache threshold, the estimated network quality corresponding to the network operating status is determined to be the estimated network quality reaching the first network quality level indicated by the network evaluation strategy; if the second comparison result indicates that the cache attribute value is greater than or equal to the cache threshold, the estimated network quality corresponding to the network operating status is determined to be the estimated network quality reaching the second network quality level indicated by the network evaluation strategy. The estimated network quality at the first network quality level is worse than the estimated network quality at the second network quality level. It should be understood that in this application, the estimated network quality mainly refers to whether the network quality will deteriorate immediately. Therefore, the estimated network quality of the first network quality level can be understood as deterioration is imminent, and the estimated network quality of the second network quality level can be understood as deterioration is not imminent.

[0105] In the embodiments of this application, the estimated network quality can be represented by QoE_next_quality. The estimated network quality of the first network quality level can be represented as QoE_next_quality = 1, and the estimated network quality of the second network quality level can be represented as QoE_next_quality = 2.

[0106] For example, the correspondence between various network quality levels for estimated network quality and cache thresholds can be as follows: Figure 6 As shown, the cache attribute value is represented by H, and the cache threshold th3 represents the value of the cache attribute when it is within a certain range. Figure 6 When the value is in position (a), H1 is greater than th3. Therefore, the estimated network quality is determined to be at the first network quality level, meaning the network quality will soon deteriorate. Similarly, when the cache attribute value is located in... Figure 6 When H2 is less than th3 in position (b), the estimated network quality can be determined to be the estimated network quality of the second network quality level, that is, the network quality will not deteriorate immediately.

[0107] In this embodiment, the cache attribute value includes the number of cached items in the player's playback cache, the cache duration, or the percentage of the cache in the player's cache. When the cache attribute value is the number of cached items, the cache threshold is also a quantity value, determined based on the total cache size. When the cache attribute value is the cache duration, the cache threshold is the duration value. When the cache attribute value is the percentage of the cache in the player's cache, the cache threshold is also a percentage value. Optionally, when the cache attribute value is the number of cached items, the cache threshold can be set to 50 (if the total cache size is 80); when the cache attribute value is the cache duration, the cache threshold can be set to 500ms. The cache threshold can also be configured by the administrator and declared in the configuration file (which can be retrieved directly from the configuration file when needed).

[0108] In this embodiment of the application, the current network quality and the estimated network quality can not only determine the current network status of the first client, but also the future network status of the first client, thereby determining the network status more accurately.

[0109] S404: Based on the current network quality, the estimated network quality, and the prior video loading information of the recommended video j, adjust the recommendation priority of the recommended video j in the recommendation list, and load the recommended video j based on the adjusted recommendation list.

[0110] In some feasible embodiments, the interaction quality of the first client can be determined first by the current network quality and the estimated network quality. Interaction quality is a quantitative parameter used to measure the user's experience quality. Here, it refers to the overall experience quality that the first client brings to the user. It is determined by combining the current network quality and the estimated network quality, so it is relatively accurate.

[0111] Specifically, determining the interaction quality of the first client based on the current network quality and the estimated network quality can include: if the current network quality is the current network quality of the first network quality level, and the estimated network quality is the estimated network quality of the first network quality level (i.e., QoE_quality = 1 and QoE_next_quality = 1), then the interaction quality of the first client is determined to be the first level of interaction quality; if the current network quality is the current network quality of the first network quality level, or the estimated network quality is the estimated network quality of the first network quality level (i.e., QoE_quality = 1), or QoE_next_quality = 1, then... The interaction quality of the first client is determined to be the second level of interaction quality. If the current network quality is the current network quality of the second network quality level, and the estimated network quality is the estimated network quality of the second network quality level, i.e., QoE_quality = 2 and QoE_next_quality = 2, then the interaction quality of the first client is determined to be the third level of interaction quality. If the current network quality is the current network quality of the third network quality level, and the estimated network quality is the estimated network quality of the second network quality level, i.e., QoE_quality = 3 and QoE_next_quality = 2, then the interaction quality of the first client is determined to be the fourth level of interaction quality.

[0112] Furthermore, under other combinations, if the current network quality is at the second network quality level and the estimated network quality is at the first network quality level, then the interaction quality of the first client is determined to be at the first level. If the current network quality is at the third network quality level and the estimated network quality is at the first network quality level, then the interaction quality of the first client is determined to be at the first level. Based on this logic, it can be determined that as long as the estimated network quality belongs to the first network quality level, the interaction quality of the first client can be determined to be at the first level, indicating that the network condition of the first client is about to deteriorate.

[0113] For any recommended video j with prior video loading information, the recommendation level of recommended video j is determined based on the prior video loading information of the recommended videos with prior video loading information and the prior video loading information of recommended video j. Based on the recommendation level and interaction quality of recommended video j, the target recommendation priority of recommended video j in the recommendation list is determined. Simultaneously, the initial recommendation priority of recommended video j in the recommendation list is obtained, and this initial recommendation priority is converted to the target recommendation priority.

[0114] In some feasible embodiments, the process of determining the recommendation level of recommended video j based on the prior video loading information of recommended videos with prior video loading information among N recommended videos and the prior video loading information of recommended video j may include: detecting the network bandwidth parameters of the first client, taking the recommended videos with prior video loading information among N recommended videos as a reference recommended video set, and determining the reference network bandwidth range through the network bandwidth parameters of each recommended video in the reference recommended video set.

[0115] For example, if the reference recommended video set contains four recommended videos with prior video loading information, and the corresponding network bandwidth parameters are 10Mbps, 23Mbps, 34Mbps, and 18Mbps respectively, then the determined reference network bandwidth range is 10-34Mbps.

[0116] Within the reference network bandwidth range, the network bandwidth range centered on the network bandwidth parameters of the first client is defined as the target network bandwidth range. Recommended videos whose network bandwidth parameters fall within the target network bandwidth range are selected as filtered recommended videos from the reference recommended video set. The network bandwidth parameters of each recommended video are contained in its prior video loading information; therefore, the network bandwidth parameters can be directly obtained. Based on the prior video loading information of recommended video j and the prior video loading information of the filtered recommended videos, the recommendation level of recommended video j is determined. This is based on the premise that the network bandwidth parameters of recommended video j must fall within the target network bandwidth range.

[0117] Based on this premise, the specific process of determining the recommendation level of recommended video j in the filtering of recommended videos, based on the prior video loading information of recommended video j and the prior video loading information of filtered recommended videos, may include: dividing the video loading speed into M video loading speed intervals according to the video loading speed included in the prior video loading information of filtered recommended videos, with each video loading speed corresponding to a video recommendation level; determining the target video loading speed interval of recommended video j from the M video loading speed intervals according to the video loading speed included in the prior video loading information of recommended video j; and determining the recommendation level of recommended video j according to the target video loading speed interval of recommended video j. It should be understood that a higher recommendation level for recommended video j indicates a smoother loading process for recommended video j in the past, meaning that the prior video loading information of recommended video j is of higher quality. For example, a first recommendation level is better than a second recommendation level, indicating that the network bandwidth parameters of recommended videos under the first recommendation level are greater than those under the second recommendation level, and the loading speed of recommended videos under the first recommendation level is greater than that under the second recommendation level.

[0118] Optionally, if the target video loading speed range for recommended video j includes multiple recommended videos, and the loading speeds of these videos are similar (meaning the difference in loading speed between videos is less than a set threshold, such as 1%), then the recommendation level of these videos within the target video loading speed range can be determined based on the round-trip latency of the videos included in the prior video loading information. Specifically, the smaller the round-trip latency of a recommended video, the higher its recommendation level. For example, if the difference in loading speed among the multiple recommended videos within the target video loading speed range is less than the set threshold, and recommended video j has the smallest round-trip latency, then recommended video j will have the highest recommendation level.

[0119] Based on the above description, given the recommendation level of recommended video j and the fact that the interaction quality of the first client includes four levels (level 1, level 2, level 3, and level 4), the target recommendation priority of recommended video j in the recommendation list can be determined according to its recommendation level and interaction quality. This process can include at least the following scenarios:

[0120] The first scenario: If the interaction quality of the first client is at the highest level, and the recommendation level of recommended video j is also at the highest level, then the target recommendation priority of recommended video j in the recommendation list is determined to be the highest priority. This means the recommendation priority of recommended video j is changed from its initial priority to the highest priority. In this case, the first client loads recommended video j from a video server with better video loading performance. Specifically, the first client's sending control module sends a request message for recommended video j to a video server with the highest video loading performance and completes the loading of recommended video j. The first client loads recommended video j into the player's cache on the first client. When the first client needs to play recommended video j, it directly retrieves the video from the player's cache. A video server with the highest loading performance is a video server with good loading performance. It should be understood that the highest priority is the first priority, which can be represented by "0". The recommended video played first by the first client is the highest priority recommended video. It should also be understood that in this scenario, the interaction quality of the first client is the worst; therefore, it is necessary to load the video from a server with better loading performance.

[0121] like Figure 7The diagram illustrates the first method for adjusting the recommendation priority of recommended video j according to an embodiment of this application. It shows that recommended video j has an initial recommendation priority in the recommendation list. First, the recommendation level of recommended video j is determined based on the prior video loading information. Simultaneously, the client's interaction quality is determined. When the client's interaction quality is at the first level and the recommendation level of recommended video j is also the first recommendation level, the target recommendation priority of recommended video j with the first recommendation level is adjusted from the initial recommendation priority to the first priority; that is, recommended video j with the first priority is loaded first.

[0122] The second scenario: If the interaction quality of the first client is at level two, and the recommendation level of recommended video j is also at level two, then the target recommendation priority of recommended video j in the recommendation list is determined to be level two, meaning the recommendation priority of recommended video j is changed from the initial recommendation priority to level two. Level two interaction quality is slightly better than level one, but it still falls under the category of poor network conditions. In this case, the first client still loads recommended video j from a video server with better video loading performance. Specifically, the first client's sending control module sends a request message for recommended video j to a video server with level one video loading performance and completes the loading of recommended video j. The first client loads recommended video j into the player's cache on the first client. When the first client needs to play recommended video j, it directly retrieves the video from the player's cache. A video server with level one loading performance is a video server with good loading performance. It should be understood that the second priority is the next priority after the first priority. If the first priority is ranked first, then the second priority is ranked second, which can be identified by "1". In this scenario, the first client can either play the recommended video with the highest priority or the recommended video with the second highest priority. It should also be understood that the interaction quality of the first client remains relatively poor in this case; therefore, it is still necessary to load videos from a server with better loading performance.

[0123] like Figure 8 The diagram illustrates a second method for adjusting the recommendation priority of recommended video j according to an embodiment of this application. It shows that recommended video j has an initial recommendation priority in the recommendation list. First, the recommendation level of recommended video j is determined based on the prior video loading information. Simultaneously, the client's interaction quality is determined. When the client's interaction quality is at the second level and the recommendation level of recommended video j is also at the second recommendation level, the target recommendation priority of recommended video j at the second recommendation level is adjusted from the initial recommendation priority to the second priority. That is, the client loads recommended videos with the first priority before loading recommended videos with the second priority.

[0124] The third approach: If the interaction quality of the first client is level three, and the recommendation level of recommended video j is also level three, then the target recommendation priority of recommended video j in the recommendation list is determined to be level three, meaning the recommendation priority of recommended video j is changed from the initial recommendation priority to level three. Alternatively, if the interaction quality of the first client is level three, and the recommendation level of recommended video j is level four, then the target recommendation priority of recommended video j in the recommendation list is determined to be level one or level two, meaning the recommendation priority of recommended video j is changed from the initial recommendation priority to level one or level two. If the interaction quality of the first client is level three, and multiple recommended videos in the recommendation list belong to the filtered recommendation category, and multiple videos are level three, then the target recommendation priority of that recommended video is determined to be level three. If multiple videos are level four, then the target recommendation priority of that recommended video is determined to be level one or level two.

[0125] In this scenario, if preloading of recommended video j is required, the first client loads recommended video j from a video server with medium video loading performance. Specifically, the first client's sending control module sends a request message for recommended video j to a video server with second-tier video loading performance and completes the loading of recommended video j. The first client loads recommended video j into the player's cache on the first client. When the first client needs to play recommended video j, it directly retrieves the video from the player's cache. The video server with second-tier loading performance is a video server with medium loading performance. It should be understood that the third priority is the next priority after the first and second priorities, and can be identified by "2". In this case, the first client can start from the first priority and play recommended videos of each priority sequentially. It should also be understood that in this case, the interaction quality of the first client is still neither too bad nor too good; therefore, it is acceptable to load videos from a server with medium loading performance.

[0126] like Figure 9The diagram illustrates a third method for adjusting the recommendation priority of recommended video j according to an embodiment of this application. It shows that recommended video j has an initial recommendation priority in the recommendation list. First, the recommendation level of recommended video j is determined based on the prior video loading information. Simultaneously, the client's interaction quality is determined. When the client's interaction quality is at level three and the recommendation level of recommended video j is also at level three, the target recommendation priority of recommended video j at level three is adjusted from the initial recommendation priority to the third priority. That is, after the client loads recommended videos with first and second priorities, it then loads recommended video j, which has the third priority.

[0127] For example Figure 10 The diagram shown is a schematic diagram of the fourth method for adjusting the recommendation priority of recommended video j according to an embodiment of this application. It can be seen that in the recommendation list, recommended video j has an initial recommendation priority. First, the recommendation level of recommended video j is determined based on the prior video loading information of the recommended video. At the same time, the interaction quality of the client is determined. When the interaction quality of the client is the third level and the recommendation level of recommended video j is the fourth recommendation level, the target recommendation priority of recommended video j with the fourth recommendation level is adjusted from the initial recommendation priority to the first priority (optionally, the recommendation priority of recommended video j can also be adjusted to the second priority, which is not shown in the figure). That is, in this case, the client loads recommended video j with the first priority first.

[0128] The fourth method: If the interaction quality of the first client is level four, and the recommendation level of the recommended video j is level three, then the target recommendation priority of the recommended video j in the recommendation list is determined to be level four, that is, the recommendation priority of the recommended video j is changed from the initial recommendation priority to level four; or, if the interaction quality of the first client is level four, and the recommendation level of the recommended video j is level five, then the target recommendation priority of the recommended video j in the recommendation list is determined to be level one, that is, the recommendation priority of the recommended video j is changed from the initial recommendation priority to level one; or, if the interaction quality of the first client is level four, and the recommendation level of the recommended video j is level four, then the target recommendation priority of the recommended video j in the recommendation list is determined to be level three, that is, the recommendation priority of the recommended video j is changed from the initial recommendation priority to level three. If the interaction quality of the first client is level four, and multiple recommended videos in the recommendation list are filtered recommended videos, and multiple videos are recommended videos at level three, then the target recommendation priority of the recommended video is set to level four; if multiple videos are recommended videos at level five, then the target recommendation priority of the recommended video is set to level one or level two; if multiple videos are recommended videos at level four, then the target recommendation priority of the recommended video is set to level three.

[0129] In this scenario, if preloading of the recommended video j is required, the first client loads the recommended video j from a video server with relatively low video loading performance. Specifically, the first client's sending control module sends a request message for the recommended video j to a video server with a video loading performance level of 3, and completes the loading of the recommended video j. The first client loads the recommended video j into the player's cache on the first client. When the first client needs to play the recommended video j, it directly retrieves the video from the player's cache. The video server with a loading performance level of 3 is a video server with relatively low loading performance. It should be understood that the fourth priority is after the third priority and can be identified by "3". It should also be understood that in this scenario, the interaction quality of the first client is relatively good; therefore, it can directly load the video from the server with relatively low loading performance.

[0130] like Figure 11The diagram shown is a fifth embodiment of this application illustrating the adjustment of the recommendation priority of recommended video j. It can be seen that in the recommendation list, recommended video j has an initial recommendation priority. First, the recommendation level of recommended video j is determined based on the prior video loading information of the recommended video. Simultaneously, the client's interaction quality is determined. When the client's interaction quality is at level four and the recommendation level of recommended video j is at level three, the target recommendation priority of recommended video j at level three is adjusted from the initial recommendation priority to the fourth priority. That is, after the client loads recommended videos at priorities one, two, and three, it then loads recommended video j at priority four.

[0131] For example Figure 12 The diagram illustrates the sixth method for adjusting the recommendation priority of recommended video j according to an embodiment of this application. It shows that recommended video j has an initial recommendation priority in the recommendation list. First, the recommendation level of recommended video j is determined based on the prior video loading information, and simultaneously, the client's interaction quality is determined. When the client's interaction quality is at level four and the recommendation level of recommended video j is at level five, the target recommendation priority of recommended video j at level five is adjusted from the initial recommendation priority to the first priority (optionally, the recommendation priority of recommended video j can also be adjusted to the second priority, not shown in the diagram). That is, in this case, the client loads recommended video j, which has the first priority, first.

[0132] For example Figure 13 The diagram illustrates the seventh method for adjusting the recommendation priority of recommended video j according to an embodiment of this application. It shows that recommended video j has an initial recommendation priority in the recommendation list. First, the recommendation level of recommended video j is determined based on the prior video loading information, and simultaneously, the client's interaction quality is determined. When the client's interaction quality is at level four, and the recommendation level of recommended video j is also at level four, the target recommendation priority of recommended video j at level four is adjusted from the initial recommendation priority to the third priority. That is, in this case, the client first loads recommended videos at the first and second priorities, and then loads recommended video j at the third priority.

[0133] Based on the analysis of the above scenarios, the client can implement differentiated video segmentation loading strategies. The client monitors the current network conditions in real time. When buffering is imminent, the client selects to load videos with higher determinism and better transmission performance to alleviate buffering and other degradation issues, thereby improving service quality and increasing user online time. When the client's network conditions are excellent, the client selects to load videos with lower transmission performance, thus balancing the client's loading capacity and improving user experience.

[0134] In some feasible embodiments, if K out of the N recommended videos in the recommendation list have prior video loading information, where K is an integer greater than 1 and less than or equal to N, then the first client first determines the first recommendation level of the K recommended videos based on their prior video loading information. Each recommended video at the first recommendation level corresponds to a specific recommendation level. Based on the interaction quality of the first client, a first target recommended video is determined from the K recommended videos, with the first target recommended video having the highest recommendation priority. During the playback of the first target recommended video, the first client then determines the next interaction quality and determines a second target recommended video from the K-1 recommended videos based on that next interaction quality. The second target recommended video is loaded when the user on the first client finishes watching the first target recommended video or needs to change videos.

[0135] Alternatively, the first client can receive multiple recommendation lists. Based on the above method, the recommendation priority of recommended videos with prior video loading information in the first recommendation list can be adjusted according to the first client's first interaction quality, resulting in an adjusted first recommendation list. The first client then loads each recommended video in the adjusted first recommendation list sequentially. After the first recommendation list is loaded, the first client's second interaction quality is determined again, and then the recommendation priority of recommended videos with prior video loading information in the second recommendation list is adjusted according to the first client's second interaction quality, resulting in an adjusted second recommendation list. The first client then loads each recommended video in the adjusted second recommendation list sequentially. Following this logic, it can be seen that the process loads videos based on the video list, which ensures timely video loading, reduces user lag, and saves the first client's computing resources, improving efficiency.

[0136] Based on the above description, a client runs on the user terminal, which includes multiple modules. Please refer to [link / reference needed]. Figure 14This is a schematic diagram of the module connections of a user terminal disclosed in an embodiment of this application. The user terminal includes the following modules: a priori video loading information perception module, an interaction quality detection module, a video loading decision module, and a sending control module. Based on these modules, the various modules of the user terminal can interact with each other. When interactively executing the video loading method provided in this embodiment, the specific steps include: 1. After receiving the recommendation list, the client running on the user terminal determines which recommended videos in the recommendation list have priori video loading information. The priori video loading information perception module sends the recommended videos with priori video loading information, along with the corresponding priori video loading information, to the video loading decision module; 2. The interaction quality detection module detects the client's interaction quality and sends the interaction quality to the video loading decision module; 3. The video loading decision module adjusts the recommendation priority of each recommended video based on its priori video loading information, the client's interaction quality, and the priority of each recommended video, and sends the adjusted recommended video order to the sending control module; 4. The sending control module loads videos from the corresponding video server according to the adjusted recommended video order.

[0137] In this context, video loading decision refers to the process by which the server determines the loading order, content, and duration of videos during playback based on various factors (such as network quality and device performance). In this embodiment, video loading decision primarily refers to determining the loading order of recommended videos in the recommendation list based on network quality. The video loading module is used to execute video loading decisions.

[0138] This application embodiment mainly describes how, after receiving a recommended video list including prior video loading information, the first client adjusts the recommendation priority of these recommended videos based on the interaction quality of the first client. This method enables video loading under different interaction qualities. Specifically, when the interaction quality indicates that the client is about to experience lag, the client selects to load videos with higher certainty and better transmission performance, mitigating lag and other deteriorating phenomena, thus improving service quality and increasing user online time. When the interaction quality indicates that the client's network conditions are excellent, the client selects to load videos with lower transmission performance, thereby balancing the client's loading capacity, reducing resource waste, indirectly avoiding lag, and improving the user experience.

[0139] As explained above, this application involves an important concept: prior video loading information. This prior video loading information is mainly generated by the recommendation server. The following details how the recommendation server generates the prior video loading information and, under this premise, how video loading is implemented. Please refer to [link to relevant documentation]. Figure 15This is a flowchart illustrating another video loading method disclosed in an embodiment of this application. This video loading method is mainly executed by a recommendation server and may include the generation of prior video loading information and the generation of a recommendation list. The method may include the following steps:

[0140] S1501, based on the interactive attribute data information of the second client, a first recommendation list carrying the recommended video j is recommended to the second client, so that the second client can obtain the historical network quality associated with the recommended video j and the historical service quality provided by the video server corresponding to the recommended video j based on the recommendation feedback strategy associated with the first recommendation list, and determine the historical transmission information associated with the recommended video j through the historical network quality and historical service quality.

[0141] In some feasible embodiments, the recommendation server periodically acquires the interaction attribute data of the second client. This interaction attribute data refers to the recorded information of videos watched using the client, specifically including the types of videos watched and the frequency of watching the same type of video. The client's interaction attribute data changes with user habits; therefore, it is necessary to acquire this data periodically to ensure its accuracy, thereby making the recommendation list generated based on the interaction attribute data more accurate. In this embodiment, the recommendation server generates a first recommendation list for the second client based on the second client's interaction attribute data. The first recommendation list includes recommended video j.

[0142] It should be understood that the second client is merely an example. In actual applications, the recommendation server can generate recommendation lists for multiple clients, including multiple videos, in parallel and send the recommendation lists to the corresponding clients. Usually, the recommendation lists sent to different clients are different. If the interaction attribute data of two clients are similar, the generated recommendation lists will also be similar.

[0143] After receiving the first recommendation list, the second client follows... Figure 3 The steps shown involve loading recommended videos from the first recommendation list. During the video loading process, the second client obtains the historical network quality of each recommended video in the first recommendation list and the historical service quality provided by the video server corresponding to each recommended video, based on the recommendation feedback strategy associated with the first recommendation list. Through the historical network quality and historical service quality, the historical transmission information of each recommended video is determined.

[0144] The recommendation feedback policy is sent by the recommendation server to the second client along with the first recommendation list. This policy instructs the second client on the data type and return method. Specifically, the policy specifies that the data to be returned includes the historical network quality of the video and the historical service quality provided by the corresponding video server. The return method can be either video-level or list-level. The recommendation feedback policy can be configured by the administrator and declared in the configuration file. If no data return method is declared, the default method is to return data at the video level.

[0145] Taking recommended video j as an example, the second client, based on the recommendation feedback strategy associated with the first recommendation list, determines the historical transmission information associated with recommended video j by obtaining the historical network quality associated with recommended video j and the historical service quality provided by the video server corresponding to the video j when loading recommended video j.

[0146] When determining the historical transmission information associated with recommended video j, it is necessary to determine the return method indicated in the recommendation return strategy. If the return method is video-level, the historical network quality associated with recommended video j and the historical service quality provided by the video server corresponding to recommended video j are directly used as the historical transmission information of recommended video j. If the return method is list-level, it is necessary to obtain the historical network quality of each recommended video in the first recommendation list and the historical service quality provided by the video server corresponding to each recommended video. Then, the average historical network quality of each recommended video in the first recommendation list and the average historical service quality provided by the video server corresponding to each recommended video are determined, and the average value is used as the historical transmission information of recommended video j. It should be understood that when the return method is list-level, the determined historical network quality and historical service quality are both average values. In this case, the historical network quality and historical service quality of each recommended video in the first recommendation list are the same average value.

[0147] Assuming the first recommendation list includes 3 recommended videos, during the loading process of these 3 recommended videos, the second client needs to obtain the following information for the 3 recommended videos: server address (IP_server), round-trip time (RTT) between the client and the video service during video loading, and video loading rate (Goodput). This information can be represented by the following formula (1):

[0148] Load_pefm i ={IP server ,RTT,Goodput}(1)

[0149] Where i represents the sequence number of the recommended video. For example, if the first recommendation list contains 3 recommended videos, then i is 1, 2, and 3. Load_pefm i This represents the historical network quality of recommended video i. Since the first recommendation list includes 3 recommended videos, there are corresponding 3 Load_pefm values. Additionally, the second client also needs to obtain the historical service quality provided by the video server corresponding to each recommended video. In this embodiment, taking the maximum bandwidth (MaxBW) as an example, since the first recommendation list includes 3 recommended videos, there are corresponding 3 MaxBW values.

[0150] After obtaining the historical service quality and historical network quality of the three recommended videos, it is necessary to generate the historical transmission information of the three recommended videos based on their historical service quality and historical network quality. This includes two methods:

[0151] The first method involves directly using the historical quality of service (QoS) and historical network quality of the three recommended videos as their historical transmission information. For example, the historical transmission information (Info_hx) of recommended video 1, which consists of its historical network quality and historical QoS, can be represented as Info_hx1 = {Load_pefm1, MaxBW1}. The historical transmission information of recommended video 2 can be represented as Info_hx2 = {Load_pefm2, MaxBW2}, and the historical transmission information of recommended video 3 can be represented as Info_hx3 = {Load_pefm3, MaxBW3}.

[0152] The second approach involves averaging the historical service quality and network quality of the three recommended videos. The averaged historical service quality and network quality are then used as the historical transmission information for the three recommended videos. In this case, the historical transmission information for the three recommended videos is the same, but it's important to note that the network addresses and recommended video identifiers are different. In other words, the averaged data can specifically include bandwidth, loading speed, and round-trip latency.

[0153] S1502, Receive the historical transmission information associated with the recommended video j uploaded by the second client according to the recommendation feedback strategy.

[0154] In some feasible embodiments, the recommendation server receives historical transmission information associated with recommended video j uploaded by the second client according to the recommendation feedback strategy. Simultaneously, in addition to recommended video j, the recommendation server also receives historical transmission information for other recommended videos. It should be understood that, besides receiving the historical transmission information of recommended videos returned by the second client, the recommendation server should return the corresponding historical transmission information to any client that has sent a recommendation list.

[0155] S1503, Based on the historical transmission information associated with the recommended video j, generate prior video loading information for the recommended video j; store the prior video loading information and the identification information of the recommended video j in the information storage database.

[0156] In some feasible embodiments, after receiving the historical transmission information of recommended video j, the recommendation server determines the number of historical transmission information of recommended video j received. When recommending a video to a client, the recommendation server may recommend recommended video j to multiple clients at the same time. For example, if it recommends it to 5 clients, then it will receive the historical transmission information of 5 recommended videos j.

[0157] In one implementation, the recommendation server can average the historical transmission information of multiple recommended videos j, and use the averaged historical transmission information as the prior video loading information for recommended video j. In another implementation, the recommendation server can aggregate multiple recommended videos based on the maximum bandwidth in the historical transmission information. In this case, the recommendation server will classify Goodput and RTT according to the range of MaxBW, and calculate the average value for each class.

[0158] It should be understood that, based on the above method, the recommendation server can determine the prior video loading information of I recommended videos. Optionally, the recommendation server can record the prior video loading information of I recommended videos through table entries. Table 1 shows a maintenance table for prior video loading information:

[0159] Table 1

[0160] serial number Video Identifier server Recent Load Timestamp Prior video loading information 1 Video_ID_1 Server_1 Tstmp_1 Prior video loading information 1 2 Video_ID_2 Server_2 Tstmp_1 Prior video loading information 2 … … … … …

[0161] As shown in Table 1, the prior video loading information table includes, in addition to prior video loading information, the identifier of the recommended video, the server corresponding to the recommended video, and the most recent loading timestamp of the recommended video. The video identifier is a unique identifier for the recommended video, used to distinguish different videos; the server identifier identifies the video source, allowing the client to retrieve the resource information corresponding to the video from the corresponding server. The most recent loading timestamp of the recommended video is used to determine the lifespan of this entry. If the most recent loading timestamp exceeds a certain threshold from the current time, the recommendation server can delete the entry to avoid wasting storage resources. This threshold is configured by the administrator and declared in the configuration file; by default, this threshold can be set to 60 seconds.

[0162] In some feasible embodiments, after generating the maintenance table of prior video loading information as shown in Table 1, the recommendation server can send the maintenance table of prior video loading information to the information storage database to notify the information storage database to store the maintenance table of prior video loading information. Similarly, if the recommendation server needs to delete a table entry, it sends a deletion request to the information storage database, which deletes the corresponding table entry, resulting in an updated maintenance table of prior video loading information. The information storage database can be a storage module within the recommendation server or a separate server independent of the recommendation server. In this case, if data needs to be stored or retrieved, a communication connection needs to be established between the recommendation server and the server corresponding to the information storage database, and the two parties complete data storage or data retrieval through interaction.

[0163] In some feasible embodiments, the recommendation server may selectively record prior video loading information for high-priority videos. Simply put, although the recommendation server receives historical transmission information for I recommended videos, in order to ensure the accuracy of subsequent video recommendations and minimize storage space waste, the recommendation server may choose to store prior video loading information for a portion of the I recommended videos.

[0164] The method for determining high priority among the I recommended videos includes the following:

[0165] 1. The recommended server will classify videos belonging to the "cold stream" as high-priority videos.

[0166] The term "niche" refers to videos that are less popular or niche, attracting attention from specific circles or interest groups. These videos are characterized by unique content and a small audience. Prioritizing these videos is intended to promote them.

[0167] 2. The recommendation server identifies videos with more than a certain number of views as high-priority videos.

[0168] The recommendation server can determine the number of times each recommended video has been played based on the historical transmission data returned by the client. Videos with more than one viewing count are classified as high-priority videos, with the one with the most viewing counts having the highest priority.

[0169] When the recommendation server is under low load, the scope of "high priority" can be appropriately expanded. For example, the view count threshold can be reduced to identify more high-priority videos for storage. Conversely, when the recommendation server is under high load, the scope of "low priority" can be appropriately narrowed. For example, the view count threshold can be increased or decreased. Here, low load on the recommendation server means that the server is relatively idle and its resources are not being fully utilized. Similarly, high load on the recommendation server means that the server is relatively busy and its resources are insufficient.

[0170] Optionally, in addition to the two methods mentioned above, high priority can be extended to all videos. This would require storing prior video loading information for all videos. In this application, the criteria for determining video priority are configured by the administrator and declared in the configuration file; by default, "cold stream" videos can be directly identified as high-priority videos.

[0171] S1504, determine the initial recommendation list associated with the first client. The initial recommendation list contains N recommended videos, where N is a positive integer.

[0172] In some feasible embodiments, if the first client has a need to play videos, the recommendation server obtains the interaction attribute data information of the first client and generates an initial recommendation list associated with the first client based on the interaction attribute data information of the first client. At this time, the initial recommendation list includes the identifier of the recommended video and the server address corresponding to the recommended video.

[0173] For example, if the interaction attribute data of the first client determines that the user of the first client likes basketball videos and spends a relatively long time browsing each video, then the recommendation server can obtain videos related to basketball from the video server that have a duration greater than a duration threshold, and use these videos as recommended videos in the first client's first recommendation list.

[0174] S1505: Obtain recommended video j from N recommended videos, and search for the prior video loading information of recommended video j in the information storage database.

[0175] In some feasible embodiments, before the recommendation server sends the recommendation list to the first client, prior video loading information can be searched for each video in the list from the information storage database. Specifically, this may include searching the information storage database for whether prior video loading information exists for a video based on its video identifier and video server identifier.

[0176] Taking recommended video j as an example, in the maintenance table of prior video loading information stored in the information storage database, the corresponding table entry is searched based on the video identifier and server identifier of recommended video j. If it can be found, it means that prior video loading information exists for recommended video j; if it cannot be found, it means that prior video loading information does not exist for recommended video j.

[0177] S1506, add the prior video loading information of the found recommended video j to the initial recommendation list to obtain the recommendation list, and send the recommendation list to the first client.

[0178] Specifically, after finding the prior video loading information of recommended video j, the recommendation server adds the found prior video loading information of recommended video j to the initial recommendation list, thus obtaining the recommendation list.

[0179] In this process, after receiving the recommendation list, the first client obtains its current network quality and estimated network quality. Based on the current network quality, estimated network quality, and prior video loading information of recommended video j, it adjusts the recommendation priority of recommended video j in the recommendation list. Then, it loads recommended video j based on the adjusted recommendation list. The estimated network quality identifier refers to the next network quality predicted based on the target network quality identifier. For details, please refer to [link to relevant documentation]. Figure 3 This will not be elaborated upon here.

[0180] It's important to note that the first client and the second client can be the same client. This means the recommendation server compiles historical transmission information for videos loaded on the first client over a given period and generates prior video loading information. At the current moment, it sends a recommendation list to clients including the first client. Alternatively, if the first client and the second client are different clients but share similar attributes (meaning both clients obtain videos from the same video server), it can be understood that the videos requested by the first client and the second client originate from the same source.

[0181] In summary, the video loading process described above can be summarized as follows: ① The recommendation server periodically sends a recommendation list to the second client, and the second client returns the historical transmission information of each recommended video in the recommendation list to the recommendation server; ② The recommendation server processes the historical transmission information of each recommended video to generate prior video loading information; ③ The recommendation server sends a recommendation list to the first client, and some recommended video information in the recommendation list carries prior video loading information; ④ The first client determines the loading order of recommended videos in the video recommendation list based on the interaction quality between the prior video loading information and the first client; ⑤ When the interaction quality is relatively poor, the first client loads video data to the video server with better video loading performance; when the interaction quality is stable, it loads video data to the video server with average video loading performance; when the interaction quality is good, it loads video data to the video server with low video loading performance.

[0182] This application primarily describes how the recommendation server generates the client's recommendation list and how it generates prior video loading information based on the historical transmission information of the video. Prior video loading information can provide a basis for the client's video loading decisions. By using this prior information, the pre-loaded video can be adaptively adjusted according to the client's network conditions, reducing stuttering caused by poor network performance and improving the user experience.

[0183] Based on the above method embodiments, it can be known that Figure 4 The implementation examples primarily focus on the perspective of the first client, illustrating how to load the video. Figure 15 The embodiments mainly focus on the recommendation server, illustrating how to generate prior video loading information and recommendation lists. The video loading method of this application embodiment is described below in conjunction with the first client, the second client, and the recommendation server. For details, please refer to... Figure 16 The flowchart shown includes the following steps:

[0184] S1601, the recommendation server generates a first recommendation list carrying recommended video j based on the interaction attribute data information of the second client.

[0185] The interaction attribute data of the second client can be actively sent to the recommendation server by the second client, or the recommendation server can periodically obtain it from the second client.

[0186] S1602, the recommendation server sends the first recommendation list, carrying the recommended video j, to the second client.

[0187] S1603, the second client, based on the recommendation feedback strategy associated with the first recommendation list, obtains the historical network quality associated with the recommended video j and the historical service quality provided by the video server corresponding to the recommended video j, and determines the historical transmission information associated with the recommended video j through the historical network quality and historical service quality.

[0188] S1604, the second client returns historical transmission information associated with the recommended video j to the recommendation server according to the recommendation feedback strategy.

[0189] After receiving the historical transmission information associated with the recommended video j, the recommendation server can generate prior video loading information for the recommended video j based on the historical transmission information associated with the recommended video j, and store the prior video loading information for the recommended video j in the information storage database.

[0190] Steps S1601-S1604 in Figure 15 The relevant steps have been explained in detail in the illustrations, so they will not be repeated here.

[0191] S1605, the recommendation server generates a recommendation list carrying the recommended video j based on the interaction attribute data information of the first client.

[0192] Similarly, the interaction attribute data of the first client can be actively sent to the recommendation server by the first client, or it can be actively obtained by the recommendation server from the first client periodically.

[0193] S1606, The recommendation server obtains the prior video loading information for the recommended video j.

[0194] Since the prior video loading information of the recommended video j has already been stored in step S1604, the recommendation server can directly search and retrieve it from the information storage database in this step.

[0195] S1607, the recommendation server will send the recommendation list of recommended video j and the prior video loading information of recommended video j to the first client.

[0196] S1608, the first client obtains the current network quality and the estimated network quality.

[0197] S1609, the first client adjusts the recommendation priority of recommended video j in the recommendation list based on the current network quality, the estimated network quality, and the prior video loading information of recommended video j, and loads the recommended video j based on the adjusted recommendation list.

[0198] For a detailed implementation process of steps S1608-S1609, please refer to [link / reference]. Figure 4Steps S403 and S404 will not be described in detail here.

[0199] To make this method easier to understand, we can use methods such as... Figure 17 The flowchart shown provides a simple explanation of the method, which may include the following steps S1701-S1710:

[0200] S1701, the recommendation server and the second client periodically interact with each other on the recommendation list and the historical transmission information of the videos.

[0201] In some feasible embodiments, the recommendation server can periodically (e.g., at regular intervals) push a list of recommended videos to the second client. The second client can also periodically return historical transmission information for each video to the recommendation server. In practical applications, the second client can return the historical transmission information for all or part of the videos in the recommendation list. The period at which the recommendation server pushes the recommendation list to the second client and the period at which the second client returns historical transmission information to the recommendation server can be the same or different; this embodiment does not limit this.

[0202] S1702, the recommendation server generates prior video loading information based on the historical transmission information of the received video and stores it in the information storage database.

[0203] S1703, the recommendation server sends a recommendation list containing prior video loading information to the first client.

[0204] S1704, the first client determines a differentiated loading strategy based on prior video loading information and the interaction quality of the second client.

[0205] S1705, the first client determines whether the interaction quality is poor.

[0206] If the result is poor, proceed to step S1706; if the result is not poor, proceed to step S1707.

[0207] In this step, the first client determines whether the interaction quality is poor based on the current network quality and the estimated network quality. It can be determined that the interaction quality is poor in the following situations: the current network quality is the current network quality of the first network quality level, and / or the estimated network quality is the estimated network quality of the first network quality level; the current network quality is the current network quality of the second network quality level, and the estimated network quality is the estimated network quality of the first network quality level; the current network quality is the current network quality of the third network quality level, and the estimated network quality is the estimated network quality of the first network quality level.

[0208] S1706: The first client prioritizes loading recommended videos with better prior video information and loads videos from video servers with better transmission performance.

[0209] S1707: The first client judges whether the interaction quality is good.

[0210] If the result is better, proceed to step S1708; if the result is not better, proceed to step S1709.

[0211] In this step, the first client determines whether the interaction quality is good based on the current network quality and the estimated network quality. It can be determined that the interaction quality is good under the following conditions: the current network quality is the third network quality level, and the estimated network quality is the second network quality level.

[0212] If the current network quality is the same as the second network quality level, and the estimated network quality is the same as the second network quality level, then the interaction quality can be determined to be medium.

[0213] S1708: The first client prioritizes loading recommended videos with poor prior video information and loads videos from video servers with poor transmission performance.

[0214] S1709: The first client prioritizes loading recommended videos with medium-level prior video information and loads videos from video servers with medium transmission performance.

[0215] S1710: Repeat steps S1705-S1709 above until all recommended videos in the recommendation list have been loaded.

[0216] In this embodiment, the flowchart and clear text description illustrate video loading strategies under different conditions. Specifically, when interaction quality is about to deteriorate, the client executes a video with higher deterministic transmission performance, quickly filling the player buffer, reducing the probability of client stuttering, and enhancing the user experience. This application can optimize the client's user experience in video loading scenarios. Through edge-side perception and collaboration, the client can essentially determine the video transmission quality of different servers before requesting video data. Real-time detection of interaction quality allows the client to execute differentiated video loading strategies, mitigating the situation where the client downloads videos with poor network transmission performance due to insufficient player cache. This improves the client's user experience and enhances the competitiveness of application service providers.

[0217] Please see Figure 18 This is a structural schematic diagram of a video loading device provided in an embodiment of this application. Figure 18As shown, the video loading device 1800 can be a computer program (including program code) running on a computer device, for example, the video loading device 1800 is an application software; the device can be used to execute the corresponding steps in the video loading method provided in the embodiments of this application. Figure 18 As shown, the video loading device 1800 can run in the first client and may include: a receiving module 181, an information acquisition module 182, an adjustment module 183, a loading module 184, a quality determination module 185, and a recommendation level determination module 186;

[0218] The receiving module 181 is used to receive a recommendation list containing N recommended videos sent by the recommendation server; N is a positive integer, and the N recommended videos include recommended video j; j is a positive integer less than or equal to N;

[0219] The information acquisition module 182 is used to acquire the prior video loading information of the recommended video j from the recommendation list if the recommendation list also includes prior video loading information of the recommended video j; the prior video loading information of the recommended video j is obtained by feeding back the recommended video j when it was loaded in the past.

[0220] The information acquisition module 182 is used to acquire the current network quality and the estimated network quality of the first client; the estimated network quality refers to the network quality at the next moment estimated based on the current network quality.

[0221] The adjustment module 183 is used to adjust the recommendation priority of the recommended video j in the recommendation list based on the current network quality, the estimated network quality, and the prior video loading information of the recommended video j;

[0222] The loading module 184 is used to load the recommended video j based on the adjusted recommendation list.

[0223] In one feasible embodiment, when the information acquisition module 182 acquires the current network quality and estimated network quality of the first client, it specifically performs the following steps:

[0224] The network operating status of the first client is detected, including the playback status of the player on the first client and the cache status of the player's playback cache.

[0225] Obtain a network evaluation strategy for assessing the network's operational status; the network evaluation strategy includes a status evaluation threshold for assessing the network's operational status.

[0226] Based on the playback status data corresponding to the playback status and the stuttering threshold used to evaluate the stuttering status in the status evaluation threshold, the current network quality corresponding to the network operating status is determined;

[0227] Based on the cached data corresponding to the cached state and the cached threshold used to evaluate the cached state in the state evaluation threshold, the estimated network quality corresponding to the network operating state is determined.

[0228] In one feasible embodiment, the stuttering threshold includes a first stuttering threshold and a second stuttering threshold; when the quality determination module 185 determines the current network quality corresponding to the network operating state based on the playback state data corresponding to the playback state and the stuttering threshold used to evaluate the stuttering state in the state evaluation threshold, it specifically performs the following steps:

[0229] The stuttering attribute value of the player is determined by the playback status data corresponding to the playback status, and the stuttering attribute value and the stuttering threshold are compared in the first comparison process to obtain the first comparison process result.

[0230] If the first comparison processing result indicates that the stuttering attribute value is greater than or equal to the first stuttering threshold, then the current network quality corresponding to the network operating state is determined as the current network quality that reaches the first network quality level indicated by the network evaluation strategy.

[0231] In one feasible embodiment, the quality determination module 185 is further configured to determine the current network quality corresponding to the network operating state as the current network quality that reaches the second network quality level indicated by the network evaluation strategy if the first comparison processing result indicates that the stuttering attribute value is less than the first stuttering threshold and greater than or equal to the second stuttering threshold.

[0232] The quality determination module 185 is further configured to determine the current network quality corresponding to the network operating state as the current network quality that reaches the third network quality level indicated by the network evaluation strategy if the first comparison processing result indicates that the stuttering attribute value is less than the second stuttering threshold.

[0233] Wherein, the current network quality of the first network quality level is worse than the current network quality of the second network quality level, and the current network quality of the second network quality level is worse than the current network quality of the third network quality level.

[0234] In one feasible embodiment, when the network quality determination module 185 determines the estimated network quality corresponding to the network operating state based on the cached data corresponding to the cached state and the cached threshold used to evaluate the cached state in the state evaluation threshold, it specifically performs the following steps:

[0235] The cache attribute value of the player is determined by the cache data corresponding to the cache state, and the cache attribute value and the cache threshold are compared in a second comparison process to obtain the second comparison result.

[0236] The estimated network quality corresponding to the network operating state is determined based on the second comparison processing result.

[0237] In one feasible embodiment, when the network quality determination module 185 determines the estimated network quality corresponding to the network operating state based on the second comparison processing result, it specifically performs the following steps:

[0238] If the second comparison processing result indicates that the cache attribute value is less than the cache threshold, then the estimated network quality corresponding to the network operating state is determined as the estimated network quality that reaches the first network quality level indicated by the network evaluation strategy.

[0239] If the second comparison processing result indicates that the cache attribute value is greater than or equal to the cache threshold, then the estimated network quality corresponding to the network operating state is determined as the estimated network quality that reaches the second network quality level indicated by the network evaluation strategy.

[0240] The estimated network quality of the first network quality level is worse than the estimated network quality of the second network quality level.

[0241] In one feasible embodiment, when the adjustment module 183 adjusts the recommendation priority of the recommended video j in the recommendation list based on the current network quality, the estimated network quality, and the prior video loading information, it specifically performs the following steps:

[0242] The interaction quality of the first client is determined by the current network quality and the estimated network quality.

[0243] Based on the prior video loading information of the recommended videos among the N recommended videos that have prior video loading information, and the prior video loading information of the recommended video j, the recommendation level of the recommended video j is determined;

[0244] Obtain the initial recommendation priority of the recommended video j in the recommendation list, and determine the target recommendation priority of the recommended video j in the recommendation list based on the recommendation level of the recommended video j and the interaction quality;

[0245] The recommendation priority of the recommended video j in the recommendation list is changed from the initial recommendation priority to the target recommendation priority.

[0246] In one feasible embodiment, when the recommendation level determination module 186 determines the recommendation level of the recommended video j based on the prior video loading information of the recommended videos among the N recommended videos that have prior video loading information, and the prior video loading information of the recommended video j, it specifically performs the following steps:

[0247] Detect the network bandwidth parameters of the first client;

[0248] The recommended videos with prior video loading information among the N recommended videos are used as a reference recommended video set. A reference network bandwidth range is determined using the network bandwidth parameters of each recommended video in the reference recommended video set. Within this reference network bandwidth range, the network bandwidth range centered on the network bandwidth parameters of the first client is defined as the target network bandwidth range. Recommended videos whose network bandwidth parameters fall within the target network bandwidth range are selected as filtered recommended videos from the reference recommended video set. The network bandwidth parameters of each recommended video are included in the prior video loading information of each recommended video.

[0249] Based on the prior video loading information of the recommended video j and the prior video loading information of the filtered recommended videos, the recommendation level of the recommended video j is determined in the filtered recommended videos.

[0250] In one feasible embodiment, the prior video loading information includes video loading speed; when the recommendation level determination module 186 determines the recommendation level of the recommended video j among the selected recommended videos based on the prior video loading information of the recommended video j and the prior video loading information of the selected recommended videos, it specifically performs the following steps:

[0251] Based on the prior video loading information of the recommended videos, including the video loading speed, the video loading speed is divided into M video loading speed intervals, and one video loading speed corresponds to one video recommendation level.

[0252] Based on the video loading speed included in the prior video loading information of the recommended video j, the target video loading speed range of the recommended video j is determined from the M video loading speed ranges;

[0253] The video recommendation level of the recommended video j is determined based on the target video loading speed range of the recommended video j.

[0254] In one feasible embodiment, when the quality determination module 185 determines the interaction quality of the first client based on the current network quality and the estimated network quality, it specifically performs the following steps:

[0255] If the current network quality is the current network quality of the first network quality level, and the estimated network quality is the estimated network quality of the first network quality level, then the interaction quality of the first client is determined to be the interaction quality of the first level.

[0256] If the current network quality is the current network quality of the first network quality level, or the estimated network quality is the estimated network quality of the first network quality level, then the interaction quality of the first client is determined to be the interaction quality of the second level.

[0257] If the current network quality is the current network quality of the second network quality level, and the estimated network quality is the estimated network quality of the second network quality level, then the interaction quality of the first client is determined to be the interaction quality of the third level.

[0258] If the current network quality is the current network quality level of the third network quality level, and the estimated network quality is the estimated network quality level of the second network quality level, then the interaction quality of the first client is determined to be the interaction quality level of the fourth level.

[0259] In one feasible embodiment, when the recommendation level determination module 186 determines the target recommendation priority of the recommended video j in the recommendation list based on the recommendation level of the recommended video j and the interaction quality, it specifically performs the following steps:

[0260] If the interaction quality of the first client is the first level of interaction quality, and the recommendation level of the recommended video j is the first recommendation level, then the target recommendation priority of the recommended video j in the recommendation list is determined to be the first priority.

[0261] If the interaction quality of the first client is the second level of interaction quality, and the recommendation level of the recommended video j is the second recommendation level, then the target recommendation priority of the recommended video j in the recommendation list is determined to be the second priority.

[0262] In one feasible embodiment, the recommendation level determination module 186 is further configured to: if the interaction quality of the first client is the third level of interaction quality and the recommendation level of the recommended video j is the third recommendation level, then determine that the target recommendation priority of the recommended video j in the recommendation list is the third priority; or, if the interaction quality of the first client is the third level of interaction quality and the recommendation level of the recommended video j is the fourth recommendation level, then determine that the target recommendation priority of the recommended video j in the recommendation list is the first priority or the second priority.

[0263] The recommendation level determination module 186 is further configured to: if the interaction quality of the first client is the fourth level of interaction quality and the recommendation level of the recommended video j is the third recommendation level, then determine that the target recommendation priority of the recommended video j in the recommendation list is the fourth priority; or, if the interaction quality of the first client is the fourth level of interaction quality and the recommendation level of the recommended video j is the fifth recommendation level, then determine that the target recommendation priority of the recommended video j in the recommendation list is the first priority or the second priority; or, if the interaction quality of the first client is the fourth level of interaction quality and the recommendation level of the recommended video j is the fourth recommendation level, then determine that the target recommendation priority of the recommended video j in the recommendation list is the third priority.

[0264] It is understood that the functions of each functional unit of the video loading device 1800 provided in this application embodiment can be specifically implemented according to the methods in the above method embodiments. The specific implementation process can be referred to the relevant descriptions in the above method embodiments, and will not be repeated here.

[0265] In feasible embodiments, the video loading device 1800 provided in this application embodiment can be implemented in software. The video loading device 1800 can be stored in a memory and can be software in the form of programs and plug-ins, and includes a series of modules, including a receiving module 181, an information acquisition module 182, an adjustment module 183, a loading module 184, a quality determination module 185, and a recommendation level determination module 186; wherein, the receiving module 181, the information acquisition module 182, the adjustment module 183, the loading module 184, the quality determination module 185, and the recommendation level determination module 186 are used to implement the video loading method provided in this application embodiment.

[0266] In other feasible embodiments, the video loading device 1800 provided in this application embodiment can also be implemented in a combination of hardware and software. As an example, the video loading device 1800 provided in this application embodiment can be a processor in the form of a hardware decoding processor, which is programmed to implement the video loading method provided in this application embodiment. For example, the processor in the form of a hardware decoding processor can be one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.

[0267] Please see Figure 19 This is a structural schematic diagram of a video loading device provided in an embodiment of this application. Figure 19 As shown, the video loading device 1900 can be a computer program (including program code) running on a computer device, for example, the video loading device 1900 is an application software; the device can be used to execute the corresponding steps in the video loading method provided in the embodiments of this application. Figure 19 As shown, the video loading device 1900 can run in a recommendation server and may include: a list determination module 191, a search module 192, an add module 193, a send module 194, a generate module 195, and a storage module 196;

[0268] The determining module 191 is used to determine an initial recommendation list associated with the first client; the initial recommendation list contains N recommended videos; N is a positive integer;

[0269] The lookup module 192 is used to obtain a recommended video j from the N recommended videos and to look up the prior video loading information of the recommended video j; where j is a positive integer less than or equal to N; the prior video loading information is obtained by feeding back the recommended video j when it was loaded in the past.

[0270] Add module 193, used to add the prior video loading information of the found recommended video j to the initial recommendation list to obtain the recommendation list;

[0271] The sending module 194 is used to send the recommendation list to the first client, so that when the first client obtains the prior video loading information of the recommended video j from the recommendation list, it obtains the current network quality and the estimated network quality of the first client, and adjusts the recommendation priority of the recommended video j in the recommendation list based on the current network quality, the estimated network quality and the prior video loading information of the recommended video j, and loads the recommended video j based on the adjusted recommendation list. The estimated network quality identifier refers to the network quality estimated at the next moment based on the target network quality identifier.

[0272] In one feasible embodiment, the prior video loading information of the recommended video j is determined by the historical transmission information associated with the recommended video j uploaded by the second client, and the historical transmission information is fed back by the second client when the recommended video j was loaded in the past.

[0273] The sending module 194 is further configured to recommend a first recommendation list carrying the recommended video j to the second client based on the interaction attribute data information of the second client, so that the second client can obtain the historical network quality associated with the recommended video j and the historical service quality provided by the video server corresponding to the recommended video j based on the recommendation feedback strategy associated with the first recommendation list, and determine the historical transmission information associated with the recommended video j through the historical network quality and the historical service quality.

[0274] The sending module 194 is also configured to receive historical transmission information associated with the recommended video j, which is fed back by the second client in accordance with the recommendation feedback strategy.

[0275] In some feasible embodiments, the generation module 195 is used to generate prior video loading information of the recommended video j based on the historical transmission information associated with the recommended video j;

[0276] Storage module 196 is used to store the prior video loading information of the recommended video j and the identification information of the recommended video j into the information storage database;

[0277] When the search module 192 searches for the prior video loading information of the recommended video j, it specifically performs the following steps:

[0278] Using the identification information of the recommended video j, search the information storage database for prior video loading information that matches the recommended video j;

[0279] If the information storage database contains prior video loading information that matches the recommended video j, then the prior video loading information that matches the recommended video j will be used as the prior video loading information for the recommended video j.

[0280] It is understood that the functions of each functional unit of the video loading device 1900 provided in this application embodiment can be specifically implemented according to the methods in the above method embodiments. The specific implementation process can be referred to the relevant descriptions in the above method embodiments, and will not be repeated here.

[0281] In feasible embodiments, the video loading device 1900 provided in this application embodiment can be implemented in software. The video loading device 1900 can be stored in a memory and can be software in the form of programs and plug-ins, and includes a series of modules, including a list determination module 191, a search module 192, an add module 193, a send module 194, a generate module 195, and a storage module 196; wherein, the list determination module 191, the search module 192, the add module 193, the send module 194, the generate module 195, and the storage module 196 are used to implement the video loading method provided in this application embodiment.

[0282] In other feasible embodiments, the video loading device 1900 provided in this application embodiment can also be implemented in a combination of hardware and software. As an example, the video loading device 1 provided in this application embodiment can be a processor in the form of a hardware decoding processor, which is programmed to implement the video loading method provided in this application embodiment. For example, the processor in the form of a hardware decoding processor can be one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), or other electronic components.

[0283] Further, please see Figure 20 , Figure 20 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Figure 20 As shown, the computer device 1000 can be a client, and the client can be the aforementioned Figure 2 Optionally, the computer device 1000 may also be a recommendation server, as described above, in the corresponding embodiment of the user terminal 101. Figure 2The corresponding embodiment uses the recommendation server 102. At this time, the computer device 1000 may include: a processor 1001, a network interface 1004, and a memory 1005. Furthermore, the computer device 1000 may also include: a user interface 1003, and at least one communication bus 1002. The communication bus 1002 is used to implement communication between these components. The user interface 1003 may include a display screen and a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1005 may be high-speed RAM or non-volatile memory, such as at least one disk storage device. Optionally, the memory 1005 may also be at least one storage device located remotely from the aforementioned processor 1001. Figure 20 As shown, the memory 1005, which serves as a computer storage medium, may include an operating system, a network communication module, a user interface module, and a device control application program.

[0284] The network interface 1004 in the computer device 1000 can also provide network communication functions, and the optional user interface 1003 can also include a display screen and a keyboard. Figure 20 In the computer device 1000 shown, the network interface 1004 provides network communication functionality; the user interface 1003 is mainly used to provide an input interface for the user; and the processor 1001 can be used to call the device control application stored in the memory 1005 to implement the aforementioned... Figure 4 , Figure 15 , Figure 16 or Figure 17 The description of the video loading method in the corresponding embodiments can also be executed as described above. Figure 18 The description of the video loading device 1 in the corresponding embodiment can also be performed as described above. Figure 19 The description of the video loading device 1900 in the corresponding embodiments will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated here.

[0285] Furthermore, it should be noted that this application embodiment also provides a computer storage medium, which stores a computer program executed by the aforementioned video loading device 1 or video loading device 1900. The computer program includes program instructions, and when the processor executes the program instructions, it can execute the aforementioned... Figure 4 , Figure 15 , Figure 16 or Figure 17The description of the video loading method in the corresponding embodiments is already provided and will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated. For technical details not disclosed in the computer storage medium embodiments related to this application, please refer to the description of the method embodiments of this application.

[0286] It is understood that embodiments of this application also provide a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. The processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the aforementioned... Figure 4 , Figure 15 , Figure 16 or Figure 17 The description of the video loading method in the corresponding embodiments is already provided and will not be repeated here. Furthermore, the beneficial effects of using the same method will also not be repeated. For technical details not disclosed in the computer storage medium embodiments related to this application, please refer to the description of the method embodiments of this application.

[0287] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0288] In the several embodiments provided in this application, it should be understood that the disclosed apparatus can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative, and the division of modules described above is only a logical functional division. In actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed.

[0289] In the embodiments of this application, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0290] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A video loading method, characterized in that, The method is executed by the first client and includes: Receive a recommendation list containing N recommended videos from the recommendation server; N is a positive integer, and the N recommended videos include recommended video j; j is a positive integer less than or equal to N; If the recommendation list also includes prior video loading information of the recommended video j, then the prior video loading information of the recommended video j is obtained from the recommendation list; the prior video loading information of the recommended video j is obtained by feeding back the recommended video j when it was loaded in the past. Obtain the current network quality and estimated network quality of the first client; the estimated network quality refers to the network quality at the next moment estimated based on the current network quality. Based on the current network quality, the estimated network quality, and the prior video loading information of the recommended video j, the recommendation priority of the recommended video j in the recommendation list is adjusted; Based on the adjusted recommendation list, the recommended video j is loaded.

2. The method according to claim 1, characterized in that, The step of obtaining the current network quality and estimated network quality of the first client includes: The network operating status of the first client is detected, including the playback status of the player on the first client and the cache status of the player's playback cache. Obtain a network evaluation strategy for assessing the network's operational status; the network evaluation strategy includes a status evaluation threshold for assessing the network's operational status. Based on the playback status data corresponding to the playback status and the stuttering threshold used to evaluate the stuttering status in the status evaluation threshold, the current network quality of the first client is determined. The estimated network quality of the first client is determined based on the cached data corresponding to the cached state and the cached threshold used to evaluate the cached state in the state evaluation threshold.

3. The method according to claim 2, characterized in that, The stuttering threshold includes a first stuttering threshold and a second stuttering threshold; The step of determining the current network quality of the first client based on the playback status data corresponding to the playback status and the stuttering threshold used to evaluate the stuttering status in the status evaluation threshold includes: The stuttering attribute value of the player is determined by the playback status data corresponding to the playback status, and the stuttering attribute value is compared with the stuttering threshold to obtain the first comparison result. If the first comparison processing result indicates that the lag attribute value is greater than or equal to the first lag threshold, then the current network quality of the first client is determined to be the current network quality that reaches the first network quality level indicated by the network evaluation strategy.

4. The method according to claim 3, characterized in that, The method further includes: If the first comparison processing result indicates that the lag attribute value is less than the first lag threshold and greater than or equal to the second lag threshold, then the current network quality of the first client is determined to be the current network quality that reaches the second network quality level indicated by the network evaluation strategy. If the first comparison processing result indicates that the lag attribute value is less than the second lag threshold, then the current network quality of the first client is determined to be the current network quality that reaches the third network quality level indicated by the network evaluation strategy. Wherein, the current network quality of the first network quality level is worse than the current network quality of the second network quality level, and the current network quality of the second network quality level is worse than the current network quality of the third network quality level.

5. The method according to claim 2, characterized in that, The step of determining the estimated network quality of the first client based on the cached data corresponding to the cached state and the cached threshold used to evaluate the cached state in the state evaluation threshold includes: The cache attribute value of the player is determined by the cache data corresponding to the cache state, and the cache attribute value is compared with the cache threshold to obtain a second comparison result. The estimated network quality of the first client is determined based on the second comparison processing result.

6. The method according to claim 5, characterized in that, Determining the estimated network quality of the first client based on the second comparison processing result includes: If the second comparison processing result indicates that the cache attribute value is less than the cache threshold, then the estimated network quality of the first client is determined to be the estimated network quality that reaches the first network quality level indicated by the network evaluation strategy. If the second comparison processing result indicates that the cache attribute value is greater than or equal to the cache threshold, then the estimated network quality of the first client is determined to be the estimated network quality that reaches the second network quality level indicated by the network evaluation strategy. The estimated network quality of the first network quality level is worse than the estimated network quality of the second network quality level.

7. The method according to claim 1 or 2, characterized in that, The step of adjusting the recommendation priority of recommended video j in the recommendation list based on the current network quality, estimated network quality, and prior video loading information includes: The interaction quality of the first client is determined by the current network quality and the estimated network quality. Based on the prior video loading information of the recommended videos among the N recommended videos that have prior video loading information, and the prior video loading information of the recommended video j, the recommendation level of the recommended video j is determined; Obtain the initial recommendation priority of the recommended video j in the recommendation list, and determine the target recommendation priority of the recommended video j in the recommendation list based on the recommendation level of the recommended video j and the interaction quality; The recommendation priority of the recommended video j in the recommendation list is changed from the initial recommendation priority to the target recommendation priority.

8. The method according to claim 7, characterized in that, The step of determining the recommendation level of recommended video j based on the prior video loading information of recommended videos among the N recommended videos that have prior video loading information, and the prior video loading information of recommended video j, includes: Detect the network bandwidth parameters of the first client; The recommended videos with prior video loading information among the N recommended videos are used as a reference recommended video set. A reference network bandwidth range is determined using the network bandwidth parameters of each recommended video in the reference recommended video set. Within this reference network bandwidth range, the network bandwidth range centered on the network bandwidth parameters of the first client is defined as the target network bandwidth range. Recommended videos whose network bandwidth parameters fall within the target network bandwidth range are selected as filtered recommended videos from the reference recommended video set. The network bandwidth parameters of each recommended video are included in the prior video loading information of each recommended video. Based on the prior video loading information of the recommended video j and the prior video loading information of the filtered recommended videos, the recommendation level of the recommended video j is determined in the filtered recommended videos.

9. The method according to claim 8, characterized in that, The prior video loading information includes the video loading speed; The step of determining the recommendation level of recommended video j in the filtered recommended videos based on the prior video loading information of recommended video j and the prior video loading information of filtered recommended videos includes: Based on the prior video loading information of the recommended videos, including the video loading speed, the video loading speed is divided into M video loading speed intervals, and one video loading speed corresponds to one video recommendation level. Based on the video loading speed included in the prior video loading information of the recommended video j, the target video loading speed range of the recommended video j is determined from the M video loading speed ranges; The video recommendation level of the recommended video j is determined based on the target video loading speed range of the recommended video j.

10. The method according to claim 7, characterized in that, Determining the interaction quality of the first client based on the current network quality and the estimated network quality includes: If the current network quality is the current network quality of the first network quality level, and the estimated network quality is the estimated network quality of the first network quality level, then the interaction quality of the first client is determined to be the interaction quality of the first level. If the current network quality is the current network quality of the first network quality level, or the estimated network quality is the estimated network quality of the first network quality level, then the interaction quality of the first client is determined to be the interaction quality of the second level. If the current network quality is the current network quality of the second network quality level, and the estimated network quality is the estimated network quality of the second network quality level, then the interaction quality of the first client is determined to be the interaction quality of the third level. If the current network quality is the current network quality level of the third network quality level, and the estimated network quality is the estimated network quality level of the second network quality level, then the interaction quality of the first client is determined to be the interaction quality level of the fourth level.

11. The method according to claim 10, characterized in that, The step of determining the target recommendation priority of recommended video j in the recommendation list based on the recommendation level of recommended video j and the interaction quality includes: If the interaction quality of the first client is the first level of interaction quality, and the recommendation level of the recommended video j is the first recommendation level, then the target recommendation priority of the recommended video j in the recommendation list is determined to be the first priority. If the interaction quality of the first client is the second level of interaction quality, and the recommendation level of the recommended video j is the second recommendation level, then the target recommendation priority of the recommended video j in the recommendation list is determined to be the second priority.

12. The method according to claim 11, characterized in that, The method further includes: If the interaction quality of the first client is the third level of interaction quality, and the recommendation level of the recommended video j is the third recommendation level, then the target recommendation priority of the recommended video j in the recommendation list is determined to be the third priority; or, if the interaction quality of the first client is the third level of interaction quality, and the recommendation level of the recommended video j is the fourth recommendation level, then the target recommendation priority of the recommended video j in the recommendation list is determined to be the first priority or the second priority. If the interaction quality of the first client is the fourth level of interaction quality, and the recommendation level of the recommended video j is the third recommendation level, then the target recommendation priority of the recommended video j in the recommendation list is determined to be the fourth priority; or, if the interaction quality of the first client is the fourth level of interaction quality, and the recommendation level of the recommended video j is the fifth recommendation level, then the target recommendation priority of the recommended video j in the recommendation list is determined to be the first priority or the second priority; or, if the interaction quality of the first client is the fourth level of interaction quality, and the recommendation level of the recommended video j is the fourth recommendation level, then the target recommendation priority of the recommended video j in the recommendation list is determined to be the third priority.

13. A video loading method, characterized in that, The method is executed by a recommendation server, and the method includes: Determine an initial recommendation list associated with the first client; the initial recommendation list contains N recommended videos; N is a positive integer; Obtain recommended video j from the N recommended videos, and search for the prior video loading information of recommended video j; where j is a positive integer less than or equal to N; the prior video loading information is obtained by feeding back the recommended video j when it was loaded in the past. The prior video loading information of the found recommended video j is added to the initial recommendation list to obtain a recommendation list. The recommendation list is then sent to the first client so that when the first client obtains the prior video loading information of the recommended video j from the recommendation list, it can obtain the current network quality and the estimated network quality of the first client. Based on the current network quality, the estimated network quality, and the prior video loading information of the recommended video j, the recommendation priority of the recommended video j in the recommendation list is adjusted. The recommended video j is then loaded based on the adjusted recommendation list. The estimated network quality identifier refers to the network quality estimated at the next moment based on the target network quality identifier.

14. The method according to claim 13, characterized in that, The prior video loading information of the recommended video j is determined by the historical transmission information associated with the recommended video j uploaded by the second client. The historical transmission information is fed back by the second client when the recommended video j was loaded in the past. The method further includes: Based on the interaction attribute data information of the second client, a first recommendation list carrying the recommended video j is recommended to the second client, so that the second client can obtain the historical network quality associated with the recommended video j and the historical service quality provided by the video server corresponding to the recommended video j based on the recommendation feedback strategy associated with the first recommendation list. Through the historical network quality and the historical service quality, the historical transmission information associated with the recommended video j is determined. Receive the historical transmission information associated with the recommended video j, which is fed back by the second client in accordance with the recommendation feedback strategy.

15. The method according to claim 14, characterized in that, The method further includes: Based on the historical transmission information associated with the recommended video j, generate the prior video loading information of the recommended video j; The prior video loading information of the recommended video j and the identification information of the recommended video j are stored in the information storage database; The step of searching for prior video loading information of the recommended video j includes: Using the identification information of the recommended video j, search the information storage database for prior video loading information that matches the recommended video j; If the information storage database contains prior video loading information that matches the recommended video j, then the prior video loading information that matches the recommended video j will be used as the prior video loading information for the recommended video j.

16. A video loading device, characterized in that, The device is installed in the first client, and the device includes: The receiving module is used to receive a recommendation list containing N recommended videos sent by the recommendation server; N is a positive integer, and the N recommended videos include recommended video j; j is a positive integer less than or equal to N; The information acquisition module is used to acquire the prior video loading information of the recommended video j from the recommendation list if the recommendation list also includes videos with prior video loading information of the recommended video j; the prior video loading information of the recommended video j is obtained by feeding back the recommended video j when it was loaded in the past. The information acquisition module is further configured to acquire the current network quality and estimated network quality of the first client; the estimated network quality identifier refers to the network quality estimated at the next moment based on the target network quality identifier. The adjustment module is used to adjust the recommendation priority of the recommended video j in the recommendation list based on the current network quality, the estimated network quality, and the prior video loading information of the recommended video j; A loading module is used to load the recommended video j based on the adjusted recommendation list.

17. A video loading device, characterized in that, The device is installed in the recommendation server, and the device includes: The list determination module is used to determine an initial recommendation list associated with the first client; the initial recommendation list contains N recommended videos; N is a positive integer; The search module is used to obtain a recommended video j from the N recommended videos and search for the prior video loading information of the recommended video j; where j is a positive integer less than or equal to N; the prior video loading information is obtained by feeding back the recommended video j when it was loaded in the past. An add module is used to add the prior video loading information of the found recommended video j to the initial recommendation list to obtain the recommendation list; The sending module is configured to send the recommendation list to the first client, so that when the first client obtains the prior video loading information of the recommended video j from the recommendation list, it can obtain the current network quality and the estimated network quality of the first client, and adjust the recommendation priority of the recommended video j in the recommendation list based on the current network quality, the estimated network quality and the prior video loading information of the recommended video j, and load the recommended video j based on the adjusted recommendation list. The estimated network quality identifier refers to the network quality estimated at the next moment based on the target network quality identifier.

18. A computer device, characterized in that, The computer device includes: A processor, suitable for implementing one or more computer programs; and, A computer-readable storage medium storing one or more computer programs adapted to be loaded by the processor and executed as described in any one of claims 1-15.

19. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores one or more computer programs adapted to be loaded by a processor and executed by the video loading method as described in any one of claims 1-15.

20. A computer program product, characterized in that, The computer program product includes a computer program stored in a computer-readable storage medium, a processor of a computer device reading the computer program from the computer-readable storage medium, and the processor executing the computer program to cause the computer device to perform the video loading method as described in any one of claims 1-15.