A method and system for video pre-distribution

By processing user behavior and video playback records locally on the client side, video features and a playlist are generated, solving the problems of latency and low accuracy in video prediction in existing technologies, and improving the real-time performance and accuracy of video pre-distribution.

CN116389803BActive Publication Date: 2026-02-17HUNAN HAPPLY SUNSHINE INTERACTIVE ENTERTAINMENT MEDIA CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310436180.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-21
Publication Date
2026-02-17
Estimated Expiration
2043-04-21

AI Technical Summary

Technical Problem

In existing technologies, the prediction of video playlists relies on server model training, resulting in delays and low accuracy in the prediction results, making it impossible to generate accurate video playlists based on users' real-time behavior.

Method used

The client combines local user behavior and video playback records to generate video features and a list of videos to be played. It then uses a video prediction model to determine the videos to be cached, improving the real-time performance and accuracy of the prediction.

Benefits of technology

By processing local real-time data, the accuracy of video pre-distribution is improved, user waiting time is reduced, and the smoothness of video playback is enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116389803B_ABST
    Figure CN116389803B_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a video pre-distribution method and system, which is used for making a client predict a video based on data with higher real-time performance, and improving the accuracy of the pre-distributed video. The method comprises the following steps: a client sends video playing behavior data to a server; the server generates video features based on the video playing behavior data; the server recalls a to-be-watched video list based on the video playing behavior data; the server sends the video features and the to-be-watched video list to the client; the client acquires local user behavior and video playing records; the client determines a local to-be-played list according to the video playing records; the client determines to-be-predicted video features according to the video features, the local user behavior, the to-be-watched video list and the local to-be-played list; the client determines a first to-be-cached video according to the to-be-predicted video features; and the client caches the first to-be-cached video.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data processing, and particularly relates to a video pre-distribution method and system. BACKGROUND

[0002] At present, video technology is experiencing evolution from high definition to ultra high definition (UHD), and the average code rate of video is rising. In the prior art, in order to enable a user to play a next video quickly, a client usually pre-caches a video to be played in advance based on a video play list provided by a server. However, the video play list needs to be obtained by prediction through a model in the server, and the training of the model has a certain delay, so that the prediction result cannot be generated according to real-time behavior of the user, resulting in low accuracy of the predicted video play list. Therefore, how to improve the accuracy of the pre-distributed video has become a technical problem to be solved at present. SUMMARY

[0003] In view of the above problems, the purpose of the present application is to provide a video pre-distribution method and system, so that the client combines local user behavior to predict a video to be cached, thereby generating a prediction result according to real-time behavior of the user, and improving the accuracy of the predicted video to be cached. The specific scheme is as follows:

[0004] In a first aspect, an embodiment of the present application provides a video pre-distribution method, which comprises the following steps:

[0005] A client sends video play behavior data to a server;

[0006] The server generates video features based on the video play behavior data;

[0007] The server recalls a video list to be watched based on the video play behavior data;

[0008] The server sends the video features and the video list to be watched to the client;

[0009] The client obtains local user behavior and video play records;

[0010] The client determines a local video list to be played according to the video play records;

[0011] The client determines video features to be predicted according to the video features, the local user behavior, the video list to be watched and the local video list to be played;

[0012] The client determines a first video to be cached according to the video features to be predicted;

[0013] The client caches the first to-be-cached video.

[0014] Optionally, the server generates video features based on the video playback behavior data, including:

[0015] The video playback behavior includes video content of videos played by the user in a preset time period, and user playback behavior corresponding to the videos played by the user in the preset time period.

[0016] The server determines video content features and video theme features according to the video content.

[0017] The server determines video statistical features according to the user playback behavior.

[0018] The server takes the video content features and the video theme features as the video features.

[0019] Optionally, the client determines the first to-be-cached video according to to-be-predicted video features, including:

[0020] The client inputs the to-be-predicted video features into a video prediction model in the client, and takes an output result of the video prediction model as the first to-be-cached video.

[0021] Optionally, the method further includes:

[0022] The client sends a second to-be-cached video to the server; the second to-be-cached video is a to-be-cached video corresponding to a last prediction period.

[0023] The server generates an optimized prediction model according to the second to-be-cached video and the video playback behavior.

[0024] The server sends the optimized prediction model to the client.

[0025] The client takes the optimized prediction model as the video prediction model.

[0026] Optionally, the method further includes:

[0027] The client determines pre-caching statistical data; the pre-caching statistical data is pre-cached video data corresponding to a last prediction period.

[0028] The client sends the pre-caching statistical data to the server.

[0029] The server optimizes a caching time length of pre-cached videos according to a playback result of the pre-caching statistical data, to obtain a pre-cached video optimization strategy.

[0030] The server sends the pre-cache video optimization strategy to the client.

[0031] The client caches the first to-be-cached video based on the pre-cache video optimization strategy.

[0032] In a second aspect, the embodiments of the present application provide a video pre-distribution system, which comprises a client and a server.

[0033] The client is configured to send video playing behavior data to the server.

[0034] The server is configured to generate video features based on the video playing behavior data, recall a to-be-watched video list based on the video playing behavior data, and send the video features and the to-be-watched video list to the client.

[0035] The client is further configured to acquire local user behavior and video playing records, determine a local to-be-played list according to the video playing records, determine to-be-predicted video features according to the video features, the local user behavior, the to-be-watched video list and the local to-be-played list, determine a first to-be-cached video according to the to-be-predicted video features, and cache the first to-be-cached video.

[0036] Optionally, the server is specifically configured to:

[0037] The video playing behavior comprises video content of videos played by a user in a preset time period and user playing behavior corresponding to the videos played by the user in the preset time period.

[0038] The video content features are determined according to the video content.

[0039] The video theme features are determined according to the video content and the user playing behavior.

[0040] The video content features and the video theme features are taken as the video features.

[0041] Optionally, the client is specifically configured to:

[0042] The to-be-predicted video features are input into a video prediction model in the client, and an output result of the video prediction model is taken as the first to-be-cached video.

[0043] Optionally, the client is further configured to send a second to-be-cached video to the server, wherein the second to-be-cached video is a to-be-cached video corresponding to a last prediction period.

[0044] The server is further configured to generate an optimized prediction model based on the second video to be cached and the video playback behavior; and send the optimized prediction model to the client.

[0045] The client is also used to use the optimized test model as the video prediction model.

[0046] Thirdly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements any of the above-described video pre-distribution methods.

[0047] Compared with the prior art, this application has the following advantages:

[0048] By sending video playback behavior data to the server, the server generates video features and a list of videos to be watched corresponding to the video playback behavior data. Since the server does not need to build a model and determine the videos to be cached, the video features and the list of videos to be watched received by the client have high real-time performance. The client obtains local user behavior and video playback records, determines the local list of videos to be played based on the video playback records, and determines the features of the videos to be predicted based on the video features, local user behavior, the list of videos to be watched, and the local list of videos to be played. Since the client can obtain real-time local user behavior and video playback records, both the local user behavior and the local list of videos to be played determined based on the video playback records have real-time performance. Therefore, the features of the videos to be predicted determined based on the video features, local user behavior, the list of videos to be watched, and the local list of videos to be played have high real-time performance. Based on the features of the videos to be predicted, the client determines the videos to be cached and caches them, thereby enabling the client to perform video prediction based on data with high real-time performance, improving the accuracy of pre-distributed videos. Attached Figure Description

[0049] Figure 1 This is a flowchart illustrating the video pre-caching method in the prior art;

[0050] Figure 2 A flowchart illustrating a video pre-distribution method provided in an embodiment of this application;

[0051] Figure 3 A flowchart illustrating another video pre-distribution method provided in an embodiment of this application;

[0052] Figure 4 This is a schematic diagram of the structure of a video pre-distribution system provided in an embodiment of this application. Detailed Implementation

[0053] 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.

[0054] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments described herein can be implemented in a sequence other than that illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0055] For ease of understanding, the embodiments of this application will be described in detail below with reference to the accompanying drawings:

[0056] like Figure 1 As shown, in existing technologies, the client sends user data to the server, the server trains a model based on the received user data, and after the model training is complete, the user data is input into the trained model to obtain a video playlist, which is then returned to the client for pre-caching. Because the client needs to report user data, the real-time nature of both client reporting and server processing affects the prediction results. Furthermore, model training on the server typically has a certain latency, making it impossible to use real-time user behavior as a reference factor for prediction. Therefore, the prediction results generated based on existing technologies have low accuracy.

[0057] To address the aforementioned problems, embodiments of this application provide a method for video pre-distribution, such as... Figure 2 As shown, the method includes:

[0058] S201: The client sends video playback behavior data to the server.

[0059] Video playback behavior data includes: the user's video viewing history within a preset time period, as well as the playback content of each video, video ID, user ID, and user playback behavior (such as the user's viewing progress, number of views, video playback speed, etc.), historical playback behavior, and other relevant user actions and video data related to the video playback. It should be noted that the data included in the video playback behavior data can be selected according to actual needs.

[0060] Users can configure on the client side whether to send any one or more types of video playback behavior data, thereby protecting user privacy. For example, when video playback behavior includes A1 data, A2 data, and A3 data, if the user configures on the client side to disable sending A1 data, the client will send video playback behavior data including A2 data and A3 data to the server.

[0061] S202: The server generates video features based on the video playback behavior data.

[0062] After receiving video playback behavior data sent by the client, the server generates video features by comparing the frequency of various data with preset thresholds, extracting various data contained in the video playback behavior data, or extracting and summarizing various data contained in the video playback behavior data.

[0063] In an optional embodiment, step S202 specifically includes:

[0064] The video playback behavior includes the video content played by the user within a preset time period, and the user playback behavior corresponding to the video played by the user within the preset time period.

[0065] The server determines video content features and video theme features based on the video content;

[0066] The server determines video statistical features based on the user's playback behavior;

[0067] The server uses the video content features and the video theme features as the video features.

[0068] When the server receives video playback behavior including the video content of the video played by the user within a preset time period, as well as the user playback behavior corresponding to the video played, it extracts video content features and video theme features related to the video content, performs statistics and analysis on the user playback behavior, and generates video statistical features.

[0069] In one optional embodiment, determining video content features based on video content includes:

[0070] Computer vision technology is used to analyze video content and extract key information. Specifically, image recognition technology can be used to analyze images in a video and extract information such as faces, objects, and scenes.

[0071] Speech recognition technology is used to analyze the audio in videos and extract information such as dialogue and sounds.

[0072] Using natural language processing and sentiment analysis technologies, we analyze the text and speech-to-text content in videos to extract information such as themes and emotions.

[0073] In one optional embodiment, the server determines video theme characteristics based on user playback behavior, including:

[0074] Based on user playback behavior, we analyze and statistically analyze information such as the type of video played, tags, playback duration, playback time period, and linked videos, as well as user ratings and comments on the videos, to generate video statistical features.

[0075] S203: The server recalls a list of videos to be watched based on the video playback behavior data.

[0076] Based on video playback behavior, the server determines the list of videos that the user is about to watch, and inputs the video list into a pre-trained filtering model. Based on the output of the filtering model, the server determines the content of the list of videos to be watched.

[0077] It should be noted that the filtering model can be of several types, such as ranking and rating models. When the filtering model is a ranking model, the content of the list of videos to be watched is determined based on the output of the filtering model. Specifically, the top N results in the ranking are selected as the videos to be watched, where N is the preset number of videos to be returned. When the filtering model is a rating model, the content of the list of videos to be watched is determined based on the output of the filtering model. Specifically, the M videos with ratings higher than a preset threshold are selected as the videos to be watched.

[0078] In an optional embodiment, step S203 specifically includes:

[0079] The server performs multi-path recall, such as i2i recall, popular video-to-video (VV) recall, and high completion rate recall. Among them, i2i recall is based on the association of videos viewed by the user in the past. The list of videos to be watched returned by the server is a list that combines the recall results of the above methods.

[0080] S204: The server sends the video features and the list of videos to be watched to the client.

[0081] S205: The client obtains local user behavior and video playback records.

[0082] The client uses real-time user behavior as local user behavior and real-time video playback records as video playback records. User behavior refers to the various actions a user takes in response to video playback, thus improving the timeliness of local user behavior and increasing the factors that can be considered in subsequent prediction processes.

[0083] S206: The client determines the local playlist based on the video playback history.

[0084] Based on the acquired video playback history, the client identifies videos related to each video in the history and generates a local playlist. For example, if the user is currently watching video B1, and the playback history includes video C1, the local playlist could include the next episode B2 of video B1, clip B3 related to video B1, the next episode C2 of video C1, and clip C3 related to video C1, etc. This real-time generation of the local playlist provides more predictive factors for subsequent prediction processes.

[0085] S207: The client determines the video features to be predicted based on the video features, the local user behavior, the list of videos to be watched, and the local list of videos to be played.

[0086] The client determines the video features to be predicted based on the video features obtained from the server, the list of videos to be watched, and the local user behavior and the local playlist obtained locally. Since the video features, the list of videos to be watched, the local user behavior, and the local playlist all have high real-time characteristics, more factors are considered for the video features to be predicted, thus obtaining video features to be predicted that are closer to the features of the next video played by the user.

[0087] It should be noted that the features of the video to be predicted can be represented in the form of a two-dimensional table. For example, each row corresponds to a video and the features that the video has, and each column is the ID of the video and a detailed description of the features that the video has.

[0088] S208: The client determines the first video to be cached based on the features of the video to be predicted.

[0089] The first video to be cached is determined by feature filtering or inputting into a preset prediction model based on the features of the video to be predicted. The first video to be cached is the video to be cached predicted by the client based on the currently obtained features of the video to be predicted.

[0090] It should be noted that the first video to be cached may include one or more videos that the user may watch next.

[0091] In an optional embodiment, step S208 specifically includes:

[0092] The client inputs the features of the video to be predicted into the video prediction model in the client, and uses the output of the video prediction model as the first video to be cached.

[0093] S209: The client caches the first video to be cached.

[0094] After identifying the first video to be cached, the client caches it. This allows the client to quickly play the video that the user switches to after switching to it, provided that the switched video is one of the videos in the first cached list, without requiring the user to wait.

[0095] It should be noted that after the client identifies the first video to be cached, the timing of caching the first video can be chosen based on the actual situation. For example, the video can be cached directly after identification, or, considering that P2P download time is longer than HTTP playback, the video can be cached when the time remaining before the end of playback is less than a preset time value, thereby making the most of P2P for download and saving pre-caching bandwidth costs.

[0096] By sending video playback behavior data to the server, the server generates video features and a list of videos to be watched corresponding to the video playback behavior data. Since the server does not need to build a model and determine the videos to be cached, the video features and the list of videos to be watched received by the client have high real-time performance. The client obtains local user behavior and video playback records, determines the local list of videos to be played based on the video playback records, and determines the features of the videos to be predicted based on the video features, local user behavior, the list of videos to be watched, and the local list of videos to be played. Since the client can obtain real-time local user behavior and video playback records, both the local user behavior and the local list of videos to be played determined based on the video playback records have real-time performance. Therefore, the features of the videos to be predicted determined based on the video features, local user behavior, the list of videos to be watched, and the local list of videos to be played have high real-time performance. Based on the features of the videos to be predicted, the client determines the videos to be cached and caches them, thereby enabling the client to perform video prediction based on data with high real-time performance, improving the accuracy of pre-distributed videos.

[0097] In an optional embodiment, the above-described video pre-distribution method further includes:

[0098] The client sends the second video to be cached to the server; the second video to be cached is the video to be cached corresponding to the previous prediction period.

[0099] The server generates an optimized prediction model based on the second video to be cached and the video playback behavior;

[0100] The server sends the optimized prediction model to the client;

[0101] The client uses the optimized test model as the video prediction model.

[0102] The server determines the video features corresponding to the second video to be cached. It should be noted that the difference between the video features corresponding to the second video to be cached and those corresponding to the first video to be cached is that the video features corresponding to the first video to be cached are generated based on video playback behavior data from the current period, while the video features corresponding to the second video to be cached are generated based on video playback behavior data from the previous period. Those skilled in the art can also, according to actual needs, extract the video IDs of the second video to be cached and each video in the video playback behavior, obtain the video content based on the video IDs, and regenerate the video features corresponding to the second video to be cached.

[0103] Extract the user ID corresponding to the second video to be cached, obtain the user's playback history data based on the user ID, and concatenate statistical features with user preferences to generate user features. Combine the video and user features to generate model training features. Train the model based on these features, selecting features that significantly improve performance and discarding useless features to reduce the number of features required by the model. It should be noted that the model type can be either a deep learning model or a GBDT tree model.

[0104] After the model training is completed, the optimized prediction model generated by the training is replaced with a model type supported by edge intelligence, such as a model supported by mobile model inference libraries such as TensorFlow Lite or Alibaba MNN, so that the client can use it normally after receiving the optimized prediction model.

[0105] The client uses the received optimized prediction model as the video prediction model, thereby completing the iterative optimization of the prediction model stored locally on the client, making the optimized prediction model more suitable for the client.

[0106] In an optional embodiment, the above-described video pre-distribution method further includes:

[0107] The client determines the pre-cached statistics; the pre-cached statistics are the pre-cached video data corresponding to the previous prediction period.

[0108] The client sends the pre-cached statistics to the server;

[0109] The server optimizes the caching duration of the pre-cached video based on the playback results of the pre-cached statistics, thus obtaining a pre-cached video optimization strategy.

[0110] The server sends the pre-cached video optimization strategy to the client;

[0111] The client caches the first video to be cached based on the pre-cached video optimization strategy.

[0112] Pre-caching statistics include cache duration and user playback duration. Based on the playback results from the pre-caching statistics, the server calculates the traffic hit rate. If a pre-cached video is subsequently played by a user, the traffic is hit, and the video is considered a positive sample. If a pre-cached video is not subsequently played by a user, it is considered a negative sample. Those skilled in the art can choose whether to use positive and negative samples as one of the reference factors when optimizing the server model, depending on the actual situation. A pre-caching video optimization strategy is generated based on the traffic hit rate to determine the optimal cache duration for maximizing caching efficiency. Therefore, during pre-caching, the video download duration is determined according to the video optimization strategy to reduce traffic waste. For example, if the client's pre-cached video cache duration is 6 seconds under the current network conditions, but the client only needs to cache the first 5 seconds of the video for smooth playback, the pre-caching video optimization strategy is to cache only the first 5 seconds of the video, thereby improving caching efficiency and preventing other pre-cached videos from consuming bandwidth due to excessively long cache durations, thus reducing traffic waste.

[0113] It should be noted that pre-cached statistics and the second video to be cached can be sent at any time within the current period. For ease of understanding, let's take the example of the client simultaneously sending video playback behavior data, pre-cached statistics, and the second video to be cached to the server:

[0114] like Figure 3As shown, the client reports video playback behavior data, pre-caching statistics, and a second video to be cached. The server collects the reported data, generates video features based on the video playback behavior data, and recalls a list of videos to be watched. The server returns the video features and the list of videos to be watched to the client. The client generates predictable video features based on the video features, the list of videos to be watched, and locally generated user behavior and a local playlist. These predictable video features are input into a prediction model stored locally on the client to determine the final prediction result. Based on the prediction result, video pre-caching is performed from the CDN / P2P. The server trains the prediction model stored on the server based on the second video to be cached, obtaining an optimized prediction model for the client. This optimized prediction model is sent to the client, enabling the client to predict videos to be cached in the next prediction cycle based on the optimized prediction model. The server generates a pre-caching video optimization strategy based on the received pre-caching statistics and sends this strategy to the client, enabling the client to pre-cachise videos according to the optimization strategy in the current or next prediction cycle. After the client performs video pre-caching, the video is played using the player on the client. This enables clients to perform video predictions based on highly real-time data, continuously optimizing the prediction model based on the client's data characteristics and updating the prediction model stored in the client to generate personalized prediction models for each user, thus improving the accuracy of pre-distributed videos. Furthermore, by generating user-specific video optimization strategies, different optimal caching efficiencies are generated for different users, reducing bandwidth waste.

[0115] It should be noted that the player supports the indiscriminate use of pre-cached data and data downloaded from CDN / P2P. In other words, whether the data being played comes from the CDN / P2P network or the local cache is transparent to the player.

[0116] like Figure 4 As shown in the illustration, this application also provides a video pre-distribution system, which includes a client and a server;

[0117] The client 401 is used to send video playback behavior data to the server 402;

[0118] The server 402 is used to generate video features based on the video playback behavior data; recall a list of videos to be watched based on the video playback behavior data; and send the video features and the list of videos to be watched to the client 401.

[0119] The client 401 is further configured to obtain local user behavior and video playback records; determine a local playlist based on the video playback records; determine video features to be predicted based on the video features, the local user behavior, the playlist of videos to be watched, and the local playlist; determine a first video to be cached based on the video features to be predicted; and cache the first video to be cached.

[0120] In an optional embodiment, the server 402 is specifically used for:

[0121] The video playback behavior includes the video content played by the user within a preset time period, and the user playback behavior corresponding to the video played by the user within the preset time period.

[0122] Determine video content features based on the video content;

[0123] Based on the video content and the user's playback behavior, determine the video theme characteristics;

[0124] The video content features and the video theme features are used as the video features.

[0125] In an optional embodiment, the client 401 is specifically used for:

[0126] The features of the video to be predicted are input into the video prediction model in the client 401, and the output of the video prediction model is used as the first video to be cached.

[0127] In one alternative embodiment,

[0128] The client 401 is also used to send a second video to be cached to the server 402; the second video to be cached is the video to be cached corresponding to the previous prediction period.

[0129] The server 402 is further configured to generate an optimized prediction model based on the second video to be cached and the video playback behavior; and send the optimized prediction model to the client 401.

[0130] The client 401 is also used to use the optimized test model as the video prediction model.

[0131] In one alternative embodiment,

[0132] The client 401 is also used to determine pre-cached statistics; the pre-cached statistics are pre-cached video data corresponding to the previous prediction period;

[0133] The client 401 is also used to send the pre-cached statistics to the server 402;

[0134] The server 402 is also used to optimize the caching duration of the pre-cached video based on the playback results of the pre-cached statistics, and obtain a pre-cached video optimization strategy.

[0135] The server 402 is also used to send the pre-cached video optimization strategy to the client 401;

[0136] The client 401 is also used to cache the first video to be cached based on the pre-cached video optimization strategy.

[0137] By sending video playback behavior data to the server, the server generates video features and a list of videos to be watched corresponding to the video playback behavior data. Since the server does not need to build a model and determine the videos to be cached, the video features and the list of videos to be watched received by the client have high real-time performance. The client obtains local user behavior and video playback records, determines the local list of videos to be played based on the video playback records, and determines the features of the videos to be predicted based on the video features, local user behavior, the list of videos to be watched, and the local list of videos to be played. Since the client can obtain real-time local user behavior and video playback records, both the local user behavior and the local list of videos to be played determined based on the video playback records have real-time performance. Therefore, the features of the videos to be predicted determined based on the video features, local user behavior, the list of videos to be watched, and the local list of videos to be played have high real-time performance. Based on the features of the videos to be predicted, the client determines the videos to be cached and caches them, thereby enabling the client to perform video prediction based on data with high real-time performance, improving the accuracy of pre-distributed videos.

[0138] This application also provides a computer-readable storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements any of the above-described video pre-distribution methods.

[0139] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0140] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.

[0141] The technical content provided by the present invention has been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of the present invention. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A method for video pre-distribution, characterized in that, The method includes: The client sends video playback behavior data to the server, which is the user's historical video viewing behavior data. The server generates video features based on the video playback behavior data; The server recalls a list of videos to be watched based on the video playback behavior data. The server sends the video features and the list of videos to be watched to the client. The client obtains local user behavior and video playback records, wherein the local user behavior is the user behavior obtained in real time; The client determines the local playlist based on the video playback history. The client determines the video features to be predicted based on the video features, the local user behavior, the list of videos to be watched, and the local list of videos to be played. The client determines the first video to be cached based on the characteristics of the video to be predicted. The client caches the first video to be cached.

2. The method according to claim 1, characterized in that, The server generates video features based on the video playback behavior data, including: The video playback behavior includes the video content played by the user within a preset time period, and the user playback behavior corresponding to the video played by the user within the preset time period. The server determines video content features and video theme features based on the video content; The server determines video statistical features based on the user's playback behavior; The server uses the video content features and the video theme features as the video features.

3. The method according to claim 1, characterized in that, The client determines the first video to be cached based on the features of the video to be predicted, including: The client inputs the features of the video to be predicted into the video prediction model in the client, and uses the output of the video prediction model as the first video to be cached.

4. The method according to claim 3, characterized in that, The method further includes: The client sends the second video to be cached to the server; the second video to be cached is the video to be cached corresponding to the previous prediction period. The server generates an optimized prediction model based on the second video to be cached and the video playback behavior; The server sends the optimized prediction model to the client; The client uses the optimized prediction model as the video prediction model.

5. The method according to claim 1, characterized in that, The method further includes: The client determines the pre-cached statistics; the pre-cached statistics are the pre-cached video data corresponding to the previous prediction period. The client sends the pre-cached statistics to the server; The server optimizes the caching duration of the pre-cached video based on the playback results of the pre-cached statistics, thus obtaining a pre-cached video optimization strategy. The server sends the pre-cached video optimization strategy to the client; The client caches the first video to be cached based on the pre-cached video optimization strategy.

6. A video pre-distribution system, characterized in that, The system includes: a client and a server; The client is used to send video playback behavior data to the server, and the video playback behavior data is the user's historical video playback behavior data; The server is used to generate video features based on the video playback behavior data; recall a list of videos to be watched based on the video playback behavior data; and send the video features and the list of videos to be watched to the client. The client is also used to obtain local user behavior and video playback records, wherein the local user behavior is user behavior obtained in real time; determine a local list to be played based on the video playback records; determine the features of a video to be predicted based on the video features, the local user behavior, the list of videos to be watched, and the local list to be played; determine a first video to be cached based on the features of the video to be predicted; and cache the first video to be cached.

7. The system according to claim 6, characterized in that, The server is specifically used for: The video playback behavior includes the video content played by the user within a preset time period, and the user playback behavior corresponding to the video played by the user within the preset time period. Determine video content features based on the video content; Based on the video content and the user's playback behavior, determine the video theme characteristics; The video content features and the video theme features are used as the video features.

8. The system according to claim 6, characterized in that, The client is specifically used for: The features of the video to be predicted are input into the video prediction model in the client, and the output of the video prediction model is used as the first video to be cached.

9. The system according to claim 8, characterized in that, The client is also used to send a second video to be cached to the server; the second video to be cached is the video to be cached corresponding to the previous prediction period. The server is further configured to generate an optimized prediction model based on the second video to be cached and the video playback behavior; and send the optimized prediction model to the client. The client is also used to use the optimized prediction model as the video prediction model.

10. A computer-readable storage medium, characterized in that, It stores a computer program, wherein the computer program, when executed by a processor, implements a video pre-distribution method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Video recommendation method and device, electronic equipment and storage medium

    CN114168794A

  • Computer System and Method for Streaming Video with Dynamic User Features

    US20170180772A1