CN111432246B - Method, device and storage medium for pushing video data - Google Patents

Method, device and storage medium for pushing video data Download PDF

Info

Publication number
CN111432246B
CN111432246B CN202010207532.8A CN202010207532A CN111432246B CN 111432246 B CN111432246 B CN 111432246B CN 202010207532 A CN202010207532 A CN 202010207532A CN 111432246 B CN111432246 B CN 111432246B
Authority
CN
China
Prior art keywords
video
sample
video data
qoe
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010207532.8A
Other languages
Chinese (zh)
Other versions
CN111432246A (en
Inventor
任尔斌
王汉超
石磊
刘丽
朱敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bigo Technology Singapore Pte Ltd
Original Assignee
Guangzhou Baiguoyuan Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Baiguoyuan Information Technology Co Ltd filed Critical Guangzhou Baiguoyuan Information Technology Co Ltd
Priority to CN202010207532.8A priority Critical patent/CN111432246B/en
Publication of CN111432246A publication Critical patent/CN111432246A/en
Application granted granted Critical
Publication of CN111432246B publication Critical patent/CN111432246B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Abstract

The application discloses a method, a device and a storage medium for pushing video data, and belongs to the technical field of multimedia. In the application, the plurality of video feature vectors of the acquired first video are respectively processed through the QoE analysis model to obtain the QoE score of the video data of each video code rate, and then the target terminal is preloaded and fed back based on the video data with the highest QoE score. The QoE analysis model is obtained through supervised learning training based on the sample video feature vector and the reference QoE score, and the complex relation between the video feature vector and the QoE score is learned by the QoE analysis model in the training process, so that the QoE score determined according to the QoE analysis model is accurate, and the pushed video data can better meet the watching requirements of users on the basis.

Description

Method, device and storage medium for pushing video data
Technical Field
The present application relates to the field of multimedia technologies, and in particular, to a method, an apparatus, and a storage medium for pushing video data.
Background
Currently, a user can view various videos, such as short videos, through an application on a terminal. When the terminal plays a video, the terminal can switch the video to be played according to the sliding operation of the user or the automatic switching mode of the terminal. In the case that a user watches a video through a terminal, after the terminal loads video data of the video, the terminal may send a preloading request for preloading video data of a next video of the video to a server, so as to download, cache, decode, and the like the video data of the next video in advance. For a video, the server may store video data of different video rates of the video. When receiving the preloading request, the server can select video data with one video code rate from the stored video data with different video code rates to perform preloading feedback on the terminal.
In the related art, for video data with each video code rate, the server may determine the video code rate corresponding to the video currently played on the terminal as a target video code rate, where the target video code rate may be a video code rate selected by a user according to a current viewing demand. The server can perform preloading feedback on the terminal based on the video data of the target video code rate corresponding to the next video.
However, since the videos are different, the video bitrate selected by the user to be applied to a certain video is not necessarily applied to other videos, and therefore, the viewing requirement of the user may not be met by pushing the video data of the next video according to the video bitrate selected by the user.
Disclosure of Invention
The application provides a method, a device and a storage medium for pushing video data, which can push video data capable of meeting watching requirements of users. The technical scheme is as follows:
in one aspect, a method for pushing video data is provided, where the method includes:
receiving a preloading request sent by a target terminal, wherein the preloading request is used for requesting to preload video data of a first video;
obtaining a plurality of video feature vectors of the first video, wherein each video feature vector corresponds to video data of one video code rate of the first video;
determining a QoE score of the video data of each video code rate through a QoE analysis model according to the plurality of video feature vectors, wherein the QoE analysis model is obtained through supervised learning training based on the sample video feature vectors and the reference QoE score;
and acquiring the video data with the highest QoE score from the video data of the first video with multiple video code rates, and performing preloading feedback on the target terminal based on the acquired video data with the highest QoE score.
Optionally, the obtaining a plurality of video feature vectors of the first video includes:
for the video data of each video code rate of the first video, acquiring data characteristics corresponding to the video data of the video code rate, wherein the data characteristics comprise at least one of basic characteristics of the video data, pre-loading capability characteristics of the target terminal and historical operation characteristics of a target user account, and the target user account refers to a user account currently logged in by the target terminal;
and generating a video feature vector corresponding to the video code rate for the first video according to the data feature corresponding to the video data of the video code rate.
Optionally, the basic feature includes at least one of a video bitrate and a video duration.
Optionally, the preloading capability feature comprises an inherent attribute feature and a real-time status feature for characterizing the preloading capability.
Optionally, the inherent property feature includes at least one of a decoding speed parameter, and a capability parameter of whether parallel download and play is supported.
Optionally, the real-time status feature comprises at least one of a download bandwidth, a preload preparation duration, and a preload proportion.
Optionally, the historical operation feature is used to indicate whether at least one of a comment operation, a sharing operation, and a like operation is received during the process of playing the last video of the currently played video.
Optionally, the preloading request carries device information of the target terminal, where the device information includes at least one of a device type, a network type, and a geographic area to which the device information belongs;
determining the QoE score of the video data of each video bitrate through a QoE analysis model according to the plurality of video feature vectors, wherein the QoE score comprises the following steps:
determining a QoE analysis model from a plurality of stored QoE analysis models as a target QoE analysis model according to the equipment information of the target terminal;
and respectively taking the plurality of video feature vectors as the input of the target QoE analysis model, and determining the QoE score of the video data of each video code rate through the target QoE analysis model.
Optionally, before receiving a preloading request for requesting to preload video data of a first video, sent by a target terminal, the method further includes:
acquiring the playing time of sample video data played by a sample terminal, sample parameter values of basic characteristics of the sample video data, sample parameter values of preloading capability characteristics of the sample terminal and sample parameter values of historical operating characteristics of a sample user account, wherein the sample user account refers to a user account currently logged in by the sample terminal;
determining the reference QoE score of the sample video data based on the playing time length of the sample video data played by the sample terminal, and determining the sample video feature vector based on the sample parameter value of the basic feature of the sample video data, the sample parameter value of the preloading capability feature of the sample terminal and the sample parameter value of the historical operating feature of the sample user account;
and obtaining the QoE analysis model through supervised learning training based on the sample video feature vector and the reference QoE score.
In another aspect, an apparatus for pushing video data is provided, the apparatus comprising:
the system comprises a receiving module, a pre-loading module and a processing module, wherein the receiving module is used for receiving a pre-loading request sent by a target terminal, and the pre-loading request is used for requesting to pre-load video data of a first video;
a first obtaining module, configured to obtain a plurality of video feature vectors of the first video, where each video feature vector corresponds to video data of one video bitrate of the first video;
a first determining module, configured to determine, according to the plurality of video feature vectors, a QoE score of the video data at each video bitrate through a QoE analysis model, where the QoE analysis model is obtained through supervised learning training based on a sample video feature vector and a reference QoE score;
and the preloading feedback module is used for acquiring the video data with the highest QoE score from the video data with the multiple video code rates of the first video and performing preloading feedback on the target terminal based on the acquired video data with the highest QoE score.
Optionally, the first obtaining module includes:
the obtaining submodule is used for obtaining data characteristics corresponding to video data with the video code rate for the video data with each video code rate of the first video, wherein the data characteristics comprise at least one of basic characteristics of the video data, pre-loading capacity characteristics of the target terminal and historical operation characteristics of a target user account, and the target user account refers to a user account which is currently logged in by the target terminal;
and the generation submodule is used for generating a video feature vector corresponding to the video code rate for the first video according to the data feature corresponding to the video data of the video code rate.
Optionally, the basic feature includes at least one of a video rate and a video duration.
Optionally, the preloading capability feature comprises an inherent attribute feature and a real-time status feature for characterizing the preloading capability.
Optionally, the inherent property feature includes at least one of a decoding speed parameter, and a capability parameter of whether parallel download and play is supported.
Optionally, the real-time status feature includes at least one of a download bandwidth, a preload preparation duration, and a preload proportion.
Optionally, the historical operation feature is used to indicate whether at least one of a comment operation, a share operation, and a like operation is received during the process of playing a previous video of the currently playing video.
Optionally, the preloading request carries device information of the target terminal, where the device information includes at least one of a device type, a network type, and information of a geographic area to which the device information belongs;
optionally, the first determining module includes:
a first determining sub-module, configured to determine, according to the device information of the target terminal, one QoE analysis model from the stored QoE analysis models as a target QoE analysis model;
and the second determining submodule is used for taking the plurality of video feature vectors as the input of the target QoE analysis model respectively, and determining the QoE score of the video data of each video code rate through the target QoE analysis model.
Optionally, the apparatus further comprises:
the second acquisition module is used for acquiring the playing time of sample video data played by a sample terminal, sample parameter values of basic characteristics of the sample video data, sample parameter values of preloading capacity characteristics of the sample terminal and sample parameter values of historical operating characteristics of a sample user account, wherein the sample user account refers to a user account currently logged in by the sample terminal;
a second determining module, configured to determine the reference QoE score of the sample video data based on a playing duration of the sample video data played by the sample terminal, and determine the sample video feature vector based on a sample parameter value of a basic feature of the sample video data, a sample parameter value of a preloading capability feature of the sample terminal, and a sample parameter value of a historical operating feature of the sample user account;
and the third determining module is used for obtaining the QoE analysis model through supervised learning training based on the sample video feature vector and the reference QoE score.
In another aspect, a computer-readable storage medium is provided, in which a computer program is stored, which, when being executed by a processor, carries out the steps of the method for pushing video data provided in the foregoing.
The beneficial effect that technical scheme that this application provided brought includes at least:
in the embodiment of the application, the plurality of video feature vectors of the acquired first video are respectively processed through the QoE analysis model to obtain the QoE score of the video data of each video code rate, and then the target terminal is preloaded and fed back based on the video data with the highest QoE score. The QoE analysis model is obtained through supervised learning training based on the sample video feature vector and the reference QoE score, and the complex relation between the video feature vector and the QoE score is learned by the QoE analysis model in the training process, so that the QoE score determined according to the QoE analysis model is accurate, and the pushed video data better meet the watching requirements of users on the basis.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a system architecture diagram according to a method for pushing video data provided in an embodiment of the present application;
fig. 2 is a flowchart of a method for pushing video data according to an embodiment of the present application;
FIG. 3 is a schematic diagram of determining a preload ratio according to an embodiment of the present application;
fig. 4 is a flowchart of a method for determining a QoE analysis model according to an embodiment of the present disclosure;
fig. 5 is a schematic structural diagram of an apparatus for pushing video data according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a computer device according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Before explaining the embodiments of the present application in detail, an application scenario related to the embodiments of the present application will be described.
Currently, a user can view various videos, such as short videos, through an application on a terminal. In the process of playing the video by the terminal, the server may send a recommendation list to the terminal, where the recommendation list includes basic data of a plurality of videos, including the identifiers of the corresponding videos, and the like. After receiving the recommendation list, the terminal may sequentially request for preloading from the server according to a plurality of videos included in the recommendation list. After the server performs the preloading feedback of the video data of a certain video to the terminal, if the user starts to watch the video, the terminal can smoothly play the part of the video data fed back by the server, and simultaneously continues to load the rest part of the video data, and after the video data of the video are completely loaded, the terminal can continue to request for preloading of the next video. For a video requested to be preloaded by the terminal, the server may store video data of different video bit rates of the video. The server can select video data with a proper code rate from the stored video data with different video code rates according to the method for pushing the video data provided by the scheme, and pre-load feedback is carried out on the terminal, so that the terminal can pre-load the video data with the proper code rate, and the watching requirements of users are met.
For example, when a user views a short video through a certain application, the video to be viewed can be switched by a slide-up and down operation. In the process of watching the currently played video, after the video data of the current video is completely loaded, the terminal can send a preloading request for loading the next video to the server. The server can select video data with proper code rate according to the scheme and perform preloading feedback on the terminal. The terminal then starts preloading the next video so that the user can view the video with the appropriate definition while it is being downslide played.
It should be noted that, what is described above is that the terminal supports parallel downloading and playing, and for a terminal that does not support parallel downloading and playing, the server may also send the preload feedback to the terminal according to the scheme provided in the present application, and the terminal needs to play a video after the video data of the video is loaded, and send a preload request for preloading a next video to the server at the same time.
Next, a system architecture related to the method for pushing video data provided by the embodiment of the present application is described.
Fig. 1 is a system architecture diagram according to a method for pushing video data provided in an embodiment of the present application. As shown in fig. 1, the system architecture includes a terminal 101 and a server 102. The terminal 101 and the server 102 may be connected for communication by wireless or wired means.
The terminal 101 is configured to send a preload request to the server 102 to request for preloading of video data of the first video, receive a preload feedback sent by the server 102 according to the preload request, download video data according to the preload feedback, and play a corresponding video.
The server 102 is configured to store video data of various videos, where the server 102 stores video data of various video bit rates for each video. After receiving the preloading request sent by the terminal, the server 102 may determine, according to the preloading request, a QoE score of each video bitrate of the first video through a QoE analysis model, acquire video data with the highest QoE score, and perform preloading feedback on the terminal 101 based on the acquired video data. The server 102 may also be used to obtain samples and determine a QoE analysis model based on the samples.
It should be noted that, in other embodiments, the QoE analysis model may also be determined by other computer devices according to the video sample, and then the QoE analysis model may be deployed in the server 102, which is not limited in this embodiment.
In this embodiment, the terminal 101 may be a mobile phone, a desktop computer, a notebook computer, a tablet computer, and the like, and the server 102 may be one server, may also be a server cluster formed by multiple servers, or may be a cloud computing service center, which is not limited in this embodiment.
Next, a method for pushing video data provided by an embodiment of the present application is described.
Fig. 2 is a flowchart of a method for pushing video data according to an embodiment of the present application, where the method may be applied to a server. As shown in fig. 2, the method comprises the steps of:
step 201: and receiving a preloading request sent by a target terminal, wherein the preloading request is used for requesting to preload video data of the first video.
In the embodiment of the application, the target terminal can play videos for users to watch, and in the process of playing the videos by the target terminal, the server can send a recommendation list to the target terminal, wherein the recommendation list comprises basic data of a plurality of videos, and the basic data can comprise identifications of corresponding videos and the like. After receiving the recommendation list, the target terminal may sequentially request the server for preloading according to a plurality of videos included in the recommendation list, that is, may continue to request for preloading of a next video after the video data of one video is loaded. In the embodiment of the present application, a video to be preloaded by the target terminal may be referred to as a first video. For example, when a user watches a video through an application installed on a target terminal, the user may slide a screen up and down to switch the video, and when the currently playing video is loaded, the next video of the video is the first video, or the first video in a recommendation list sent by a server to the terminal after the application is started is the first video. The target terminal may transmit a preload request requesting preloading of video data of the first video to the server.
Optionally, the preload request may carry an identifier of the first video and an identifier of the target user account, and in addition, the preload request may also carry inherent attribute features and some real-time status features of the target terminal. The inherent attribute characteristics of the target terminal are used for characterizing the pre-loading capability, and may include at least one of a decoding speed parameter and a capability parameter of whether parallel downloading and playing are supported. In addition, the preloading request may also carry a download bandwidth of a network where the target terminal is currently located, and the download bandwidth may be one of real-time status characteristics of the target terminal.
It should be noted that the download bandwidth of the target terminal may vary with the performance of the network where the target terminal is located and the handover of the network. The decoding speed parameter may refer to the number of video frames that can be decoded by the player in a unit time, and is used to characterize the decoding capability of the player of the target terminal, including depending on the hard decoding capability supported by the video card and/or depending on the soft decoding capability supported by the processor. The capability parameter of whether to support the downloading and playing parallelism is related to the application installed on the target terminal, the application of the high version may support the downloading and playing parallelism, and the application of the low version may not support the downloading and playing parallelism.
Illustratively, the download bandwidth of the target terminal may be 4000kbps, 2000kbps, or the like.
Step 202: a plurality of video feature vectors of a first video are obtained.
In the embodiment of the application, the server stores video data of a first video with multiple video bit rates, and after receiving a preloading request for requesting to preload the video data of the first video, which is sent by a target terminal, the server can obtain multiple video feature vectors of the first video according to the preloading request. Each video feature vector may correspond to video data of a video bitrate of the first video.
Optionally, each video feature vector includes parameter values of a plurality of features, the preload request may carry parameter values of relevant features of the target terminal, and the features may include some of the plurality of features, and in addition, the relevant data of the first video stored in the server or the stored historical usage data may also include some of the plurality of features. Based on this, the server may obtain parameter values for which each video feature vector includes multiple features from the pre-load request, stored data related to the first video, and stored historical usage data.
Optionally, for the video data at each video bitrate of the first video, the server may obtain data characteristics corresponding to the video data at the video bitrate, where the data characteristics may include at least one of basic characteristics of the video data, pre-loading capability characteristics of the target terminal, and historical operation characteristics of a target user account, where the target account refers to a user account to which the target terminal currently logs in. That is, each video feature vector may be used to represent at least one of a base feature of video data corresponding to a video bitrate, a pre-loading capability feature of a target terminal, and a historical operation feature of a target user account.
It should be noted that, in the case that the data features include basic features of the video data, pre-loading capability features of the target terminal, and historical operation features of the target user account, the factors represented by each video feature vector are more comprehensive, that is, the factors considered for determining the QoE score are more comprehensive.
In the embodiment of the present application, the basic feature of the video data may include at least one of a video rate and a video duration. Based on this, after receiving the preloading request sent by the target terminal, the server may first obtain the video duration or multiple video bit rates of the first video, or the video duration and multiple video bit rates, according to the identifier of the first video carried in the preloading request, that is, obtain the parameter value of the basic characteristic of the video data of each video bit rate of the first video.
It should be noted that each video corresponds to one video duration and multiple video code rates, the server may store a correspondence between the video identifier and the video duration and the video code rate, and the server may obtain the video duration and the multiple video code rates of the first video according to the first video identifier and the stored correspondence. The video duration of the first video and each video code rate are combined to be used as a parameter value of basic characteristics of video data.
For example, assuming that the video duration of the first video may be 30s, the plurality of video rates may include 500kbps, 800kbps, 1000kbps, 3000kbps, 5000kbps, and the like, the video duration 30s and the video rate 500kbps are parameter values of the basic feature of the video data of 500kbps of the first video, the video duration 30s and the video rate 800kbps are parameter values of the basic feature of the video data of 800kbps of the first video, and so on.
After the parameter value of the basic feature of the video data of each video code rate of the first video is obtained, the server may obtain the parameter value of the preloading capability feature of the target terminal. The preloading capability features of the target terminal can comprise inherent attribute features and real-time state features for characterizing the preloading capability.
As can be seen from the foregoing description, the preloading request sent by the target terminal may carry inherent attribute characteristics and some real-time status characteristics of the target terminal, where the inherent attribute characteristics may include at least one of a decoding speed parameter and a capability parameter of whether to support downloading and playing in parallel, and the real-time status characteristics may include a downloading bandwidth of the target terminal. Based on this, the server can obtain the inherent attribute characteristics and some real-time status characteristics of the target terminal from the preloading request.
Optionally, the server may also obtain the download bandwidth of the target terminal from the stored historical usage data when the preloading request carries the decoding speed parameter of the target terminal and the capability parameter of whether to support parallel download and play, but does not carry the download bandwidth of the target terminal. For example, the server may further store a corresponding relationship between an identifier of a user account and historical usage data, and the server may obtain the historical usage data corresponding to the identifier of the target user account from the stored corresponding relationship between the identifier of the user account and the historical usage data, where the historical usage data may include log data reported to the server by the target user account when logging in the target terminal this time to watch videos, the reported log data may include a historical download bandwidth of the target terminal, the historical download bandwidth includes a download bandwidth of each video played before the current time after logging in the target terminal this time, and the download bandwidth of each video played may refer to a smooth value of a download bandwidth that dynamically changes in the playing process. After the server acquires the historical download bandwidth, the download bandwidth of the last video of the currently played video in the historical download bandwidth may be determined as the acquired download bandwidth of the target terminal, or the smooth value of the download bandwidth of each video played within a time period before the current time in the historical download bandwidth may be determined as the acquired download bandwidth of the target terminal.
For example, assuming that the download bandwidth of the video played last time before the current time is 4000kbps, the server may use 4000kbps as the download bandwidth of the target terminal.
In this embodiment of the application, the historical usage data may further include historical cache data of the target terminal in the process that the target user account logs in the target terminal to watch the video this time, that is, the historical cache data of the target terminal is stored in the server. The server can determine other real-time state characteristics of the target terminal according to the historical cache data of the target terminal, such as the pre-loading preparation time length and the pre-loading proportion. That is, the real-time status characteristic of the target terminal may include at least one of a download bandwidth, a preload preparation time length, and a preload proportion.
For example, in one possible implementation manner, the history cache data of the target terminal may include a pre-loading preparation time length of each video historically played by the target terminal. The server may use a pre-loading preparation time length of a last video of a currently played video played on the target terminal as a real-time status feature of the target terminal. Alternatively, the server may use a smooth value of the preload preparation duration of each video played on the target terminal within a duration before the current time as a real-time status feature of the target terminal.
It should be noted that the preload preparation duration may include at least one of a player preparation duration and a download interface call duration, or include a sum of the player preparation duration and the download interface call duration. The player preparation duration refers to a time interval from calling a video UI (User Interface) layer function to starting the player preparation of the terminal, and the download Interface calling duration refers to a time interval from starting the player to calling the download Interface to start downloading of the terminal.
For example, assuming that the player preparation time length of the video played last time before the current time is 0.05s and the download interface calling time length is 0.02s, the server may use both 0.05s and 0.5s as the preloading time length of the target terminal, that is, the preloading time length of the target terminal is 0.05s and 0.02s.
Optionally, in another possible implementation manner, in a case that the currently played video is already downloaded and is still playing, the history cache data of the terminal may include a watching time length of a last video of the currently played video and a downloading time length of the currently played video. In this case, the server may pre-estimate the pre-loading ratio according to the video duration of the first video, the multiple video bit rates, the download bandwidth of the target terminal, the watching duration of the last video of the currently played video, and the download duration of the currently played video. And taking the preloading proportion as the real-time state characteristic of the target terminal.
For example, referring to fig. 3, S0 is a last video of a currently playing video, and the video duration of S0 is d 0 Viewing duration t 0 S1 is the current playing video, and the video duration of S1 is d 1 The download duration is t 1 S2 is a first video, and the video duration of S2 is d 2 Video code rate of b 2 ,b 2 May be { b } 21 ,b 22 ,...,b 2n The download bandwidth of the target terminal is bw 2 Then, the server may calculate the pre-loading ratio PD corresponding to the video data of each video code rate according to formula (1) i
Figure BDA0002421653860000111
Wherein n refers to the number of video code rates of the first video.
Under the condition that the currently played video is not downloaded and is still played, the historical cache data of the terminal can comprise the watching time length and the downloading time length of the last video of the currently played video, and the server can obtain the watching time length of the last video of the currently played video according to the video time length of the first video, the code rates of various videos, the downloading bandwidth of the target terminal and the watching time length of the last video of the currently played videoAnd downloading duration to pre-estimate the pre-loading proportion corresponding to each video code rate. That is, the download duration t in the above formula (1) can be set 1 And replacing the downloading time length of the last video of the currently played video.
In addition, for a terminal that does not support downloading and playing in parallel, the preloading proportion may be determined according to the method described above, or may be a default preloading proportion, such as 0, 0.5, or 1.
It should be noted that, in this embodiment of the application, if the server does not store the historical usage data of the target user account, the server may also determine both the download bandwidth and the real-time status feature of the target terminal as default values of the corresponding features, where the default values may be 0 or a statistical average of the corresponding features, for example, the default value of the download bandwidth may be 0kbps or 4000kbps (assuming that 4000 kbpsp is the statistical average).
For example, when the user registers the target user account through the target terminal and watches the video for the first time, the server does not store the historical usage data of the target user account, and in this case, the server may determine the download bandwidth and the real-time status feature of the target terminal to be 0.
After the parameter value of the preloading capability characteristic of the target terminal is obtained, the server can obtain the parameter value of the historical operation characteristic of the target user account. The historical usage data stored in the server may further include historical operation data of the user account. Based on this, the server may obtain historical operation data of the target user account, where the historical operation data may include whether a comment operation, a sharing operation, or a praise operation has been received in each video played before the video is currently played after the target user account logs in the target terminal this time. The server may determine, according to the historical operation data of the target user account, a historical operation feature of the target user account, where the historical operation feature is used to indicate whether at least one of a comment operation, a sharing operation, and a like operation has been received in a process of playing a last video of a currently played video. Illustratively, the historical operation characteristic may be characterized by a flag field, which may include a plurality of flag bits, each flag bit corresponding to a type of historical operation. If the value of a flag bit is a first value, it indicates that the operation corresponding to the flag bit has been received, and if the value of a flag bit is a second value, it may indicate that the operation corresponding to the flag bit has not been received. Where the first value and the second value are different, for example, the first value may be '1' and the second value may be '0'.
It is noted that the above-described acquisition order of the parameter values of the various features of the video data may not be sequential. That is, parameter values of the various features may be obtained simultaneously or in other sequences, and the embodiments of the present application are not limited herein.
In the above description, the implementation manner in which the server obtains the parameter values of the basic features of the video data of the first video at various video bit rates, the parameter value of the preloading capability feature of the target terminal, and the parameter value of the historical operation feature of the target user account is introduced, and after obtaining the parameter values of these features, the server can generate the video feature vector corresponding to the video data of each video bit rate according to the parameter values of these features. That is, after the server obtains the data characteristics corresponding to the video data of each video bitrate, the server may generate the video characteristic vectors corresponding to the video bitrate for the first video according to the data characteristics of the video data of the corresponding video bitrate, so as to obtain a plurality of video characteristic vectors of the first video.
Exemplarily, it is assumed that the data features include basic features of video data, preloading capability features of a target terminal, and historical operation features of a target user account, the basic features of the video data include video duration and multiple video bitrate, the preloading capability features of the target terminal include inherent attribute features and real-time status features for characterizing preloading capability, the historical operation features of the target user account are used for indicating whether a comment operation is received during playing of a last video of a currently played video, the inherent attribute features include a decoding speed parameter and a capability parameter for supporting parallel downloading and playing, and the real-time status features include downloading bandwidth, preloading bandwidth, and capability parameter for supporting parallel downloading and playingThe method comprises the steps of loading preparation time and a preloading proportion, wherein the preloading preparation time comprises player preparation time and downloading interface calling time. Suppose that the video duration of the first video is d and the various video bit rates are b 1 ,...,b n The downloading bandwidth of the target terminal is bw, the decoding speed parameter is dc, the capability parameter whether supporting downloading and playing in parallel is lw, the preparation time length of the player is pp, the calling time length of the downloading interface is sd, and the preloading proportion is pd 1 ,...,pd n The historical operating characteristic is, where the pre-load ratio pd 1 ,...,pd n Is related to the video code rate b 1 ,...,b n In one-to-one correspondence, the generated plurality of video feature vectors are [ d, b i ,bw,dc,lw,pp,sd,pd i ,is]I = 1.. And n, that is, n video feature vectors are generated, and each video feature vector corresponds to a video bitrate.
Step 203: and determining the QoE score of the video data of each video code rate through a QoE analysis model according to the plurality of video feature vectors.
In this embodiment of the application, the server may process each video feature vector in the plurality of video feature vectors through a QoE analysis model deployed by the server to obtain a corresponding QoE score, that is, a QoE score of video data of each video bitrate is obtained. The QoE analysis model is obtained through supervised learning training based on the sample video feature vector and the reference QoE score.
It should be noted that, in the application embodiment, the QoE analysis model may be a model determined by a supervised learning training mode based on a machine learning algorithm, for example, an xgboost model, a random forest model, an SVM model, or a neural network model, a regression model, and the like, which is not limited in this application embodiment.
Exemplarily, assuming that the QoE analysis model in this embodiment IS an xgboost model, as shown in table 1, the video bitrate of the first video IS five video bitrate, 300kbps, 500kbps, 1000kbps, 3000kbps, and 5000kbps, each video feature vector includes a video bitrate R, a video duration D, a download bandwidth SP, a player preparation duration PP, a download interface call duration SD, a preload ratio PD, a capability parameter LW of whether to support download and play parallel, a decoding speed parameter DC, and a historical operating feature IS, and the server may process each video feature vector in the multiple video feature vectors through the xgboost model to obtain corresponding QoE scores, that IS, qoE scores of video data of the five video bitrate are 0.60, 0.65, 0.55, 0.4, and 0.2, respectively.
TABLE 1
Gear position R(kbps) D SP(kbps) PP …… IS QoE
1080p 5000 30 4000 0.2 0 0.60
720p 3000 30 4000 0.2 0 0.65
540p 1000 30 4000 0.2 0 0.55
480p 800 30 4000 0.2 0 0.4
360p 500 30 4000 0.2 0 0.2
In addition, the viewing requirements of the users may be different due to different device types of the terminals, different types of networks in which the terminals are located, or different geographical areas to which the terminals belong. For example, the definition of the video desired to be viewed by users of terminals of different manufacturers, operating systems, or device models may be different, the definition of the video desired to be viewed by users of different countries or cities, etc., and the definition of the video desired to be viewed by users of different network types (e.g., 3G, 4G, 5G, etc.) may be different. Therefore, in this embodiment of the application, the server may further obtain a plurality of different training data sets in advance according to the device information of the terminal, respectively train the plurality of training data sets to obtain one QoE analysis model, and then deploy the plurality of QoE analysis models in the server to provide corresponding services for various terminals. Based on this, the cache request sent by the target terminal may also carry device information of the target terminal, where the device information includes at least one of a device type, a network type, and a geographic area to which the device information belongs, and the server may determine, according to the device information of the target terminal, one QoE analysis model from among the stored QoE analysis models as a target QoE analysis model, use the multiple video feature vectors as inputs of the target QoE analysis model, and determine a QoE score of the video data of each video bitrate through the target QoE analysis model.
It should be noted that the server may obtain a plurality of training sample sets according to the device information of the terminal, where each training sample set corresponds to one device information, and a QoE analysis model may be determined and obtained according to each training sample set. The server may store a correspondence between model identifiers of multiple QoE analysis models and device information. In this case, the server may obtain, according to the device information carried in the preloading request, the corresponding model identifier from the stored correspondence, and then select, according to the model identifier, a corresponding model from the stored QoE analysis models as the target QoE analysis model. And then, respectively taking the plurality of video feature vectors as the input of the target learning model, and determining the QoE score of the video data of each video code rate through the target learning model.
Step 204: and acquiring video data with the highest QoE score from the video data of the first video with various video code rates, and preloading and feeding back the target terminal based on the acquired video data with the highest QoE score.
After determining the QoE score of the video data of each video bitrate, the server may obtain the video data with the highest QoE score from the video data of the multiple video bitrates of the first video, and perform pre-loading feedback on the target terminal based on the obtained video data with the highest QoE score. The server may perform pre-loading feedback on the target terminal based on the video data with the highest QoE score by: the server transmits the plurality of fragments included in the video data to the target terminal in a video stream form, and the target terminal can receive the fragments one by one, namely, pre-load the fragments.
Exemplarily, assuming that the video bitrate of the first video is three of 300kbps, 500kbps and 1000kbps, the server determines the QoE scores of the video data of the three video bitrate to be 0.5, 0.65 and 0.6 respectively, and since 0.65 is the highest, the video data with the highest QoE score obtained by the server is the video data of 500kbps, and transmits a plurality of slices included in the video data of 500kbps to the target terminal in the form of video stream, and the terminal receives the video data piece by piece for preloading.
In the above embodiment, a method is described in which a server processes a plurality of video feature vectors through a QoE analysis model to obtain a QoE score of each video feature vector, obtains video data with a suitable video bitrate according to the QoE score, and preloads and feeds back a target terminal based on the obtained video data, where it is to be noted that the QoE analysis model in this embodiment is a model obtained by training in advance, and then a method for obtaining a QoE analysis model through training is described, where the method may be applied to a server, see fig. 4, and the method includes steps 401 to 403.
Step 401: the method comprises the steps of obtaining the playing time of the sample video data played by the sample terminal, the sample parameter value of the basic characteristic of the sample video data, the sample parameter value of the preloading capacity characteristic of the sample terminal and the sample parameter value of the historical operation characteristic of the sample user account. The sample user account refers to a user account currently logged in by the sample terminal.
In an embodiment of the application, the server may obtain an initial data set, the initial data set including initial data of a plurality of sample video data, each sample video data including parameter values of a plurality of characteristics.
In the embodiment of the present application, the initial data of the multiple sample video data may be log data generated by logging one or more user accounts into one or more sample terminals to watch videos. The initial data of each sample video data may be log data generated by a user account viewing a sample video through a sample terminal. The initial data of each sample video data includes parameter values of a plurality of characteristics. The multiple characteristics may include video code rate, video duration, terminal model, terminal manufacturer, terminal decoding capability, terminal network operator, application version, user history operation, history cache, and the like. The initial data of each sample video data includes a large number of features, for example, 100.
For example, in the embodiment of the present application, the initial data of a plurality of sample video data may be stored in a table form, where a row of data in the table may be the initial data of one sample video data, that is, may include parameter values of a plurality of features. A column in the table includes a plurality of parameter values for a feature.
It should be noted that the initial data set including the initial data of the plurality of sample video data may be stored in the server, or may be stored in another computer device, which is not limited in this embodiment of the present application. If the initial data set is stored in the server, the server may directly obtain the initial data set from the data stored in the server, and if the initial data set is stored in another computer device, the server may send an obtaining request to the another computer device to obtain the initial data set.
In addition, as can be seen from the description in the foregoing embodiment, a plurality of QoE analysis models corresponding to a plurality of types of device information may be stored in the server, where a QoE analysis model corresponding to each type of device information is obtained by training a training sample set corresponding to the type of device information. Based on this, in the embodiment of the present application, the initial data of the sample video data may also be classified according to the device information of the terminal corresponding to the initial data of the sample video data, so as to obtain a plurality of initial data sets corresponding to the plurality of types of device information, respectively. In this way, the server may obtain the plurality of initial data sets and process each initial data set using the methods described below. Illustratively, the QoE analysis model is related to a geographic area, and the server may obtain a plurality of initial data sets divided by the geographic area, each initial data set including initial data of a plurality of sample video data reported by terminals in one geographic area.
In the embodiment of the application, after the server acquires the initial data of the plurality of sample video data, the server may perform data cleaning and preprocessing on the initial data of the plurality of sample video data because the number of features included in the initial data is large, some features may be invalid or redundant features, and parameter values of some features may be abnormal values.
For example, the server may filter a plurality of features included in the initial data of the plurality of sample video data according to parameter values of the same feature in the initial data of the plurality of sample video data, to obtain candidate data of the plurality of sample video data, where the candidate data of each sample video data includes parameter values of a plurality of candidate features filtered from the plurality of features.
In this embodiment, the server may count a ratio of null values in parameter values of the same feature in the initial data of the plurality of sample video data, and if the ratio of null values in parameter values of a certain feature exceeds a preset ratio, the server may screen out the feature, and this operation is performed on each feature to screen out a feature with a higher ratio of null values, so as to obtain a plurality of candidate features.
For example, assuming that the initial data of the plurality of sample video data is stored in a table form, where each row of the initial data of the plurality of sample video data is the initial data of one sample video data, and each column is a plurality of parameter values of one feature, the server may count a ratio of the number of null values in each column of data to the total number of parameter values of the column, delete a column of which the ratio exceeds a preset ratio, and determine the features of the remaining columns as candidate features.
The server may further zero abnormal values in the parameter values of the multiple candidate features, for example, zero data that exceeds a parameter range of a certain feature in the parameter values of the feature.
Optionally, after the feature is filtered, the server may further perform normalization processing on parameter values of the plurality of candidate features. For example, the server may normalize the duration-related parameter values by the video duration of the corresponding sample video. The characteristic parameters of the two characteristics of the transmission speed and the decoding speed are normalized by a 99 percent normalization method. Data with parameter values as percentages are normalized to between [0,1], i.e., expressed in decimal numbers. And normalizing the parameter values characterized by the continuous variables by a maximum and minimum normalization method.
For example, the server may divide the playing time length by the video time length of the sample video data to normalize the playing time length, thereby obtaining the playing progress.
After the server performs data cleaning and preprocessing, candidate data of a plurality of sample video data can be obtained, and the candidate data of each sample video data comprises parameter values of a plurality of candidate characteristics obtained by screening from the plurality of characteristics.
In the embodiment of the application, after the data cleaning and preprocessing, the number of features included in the candidate data of the sample video data may still be large, and part of the candidate features may still be redundant features, so that the server may further perform feature screening.
Optionally, there may be a plurality of methods for the server to further screen a plurality of candidate features, for example, a feature screening method based on a machine learning algorithm, a feature screening method based on a pearson correlation, a feature screening method based on mutual information and a maximum information coefficient, a univariate feature screening method, and the like, and a method combining two or more feature screening methods may also be used. The machine learning algorithm may be a tree model such as an xgboost algorithm, a random forest algorithm, an SVM algorithm, or a regression algorithm, a neural network algorithm, or the like.
Next, taking a feature screening method based on a tree model and a feature screening method of pearson correlation as an example, a variety of candidate feature screening in the embodiment of the present application will be described.
Since the feature screening method based on the tree model includes a process of supervised learning of the tree model, before screening multiple candidate features again, the server may first obtain a reference QoE score corresponding to each sample video data as a label of the corresponding sample video data. In this embodiment of the present application, the server may determine the reference QoE score of the sample video data based on the playing time length of the sample terminal on the sample video data.
For example, if the server normalizes the play duration to the play progress in the preprocessing of the aforementioned data, the server may take the play progress of each sample video data as the reference QoE score of the corresponding sample video data. That is, if the candidate data of the sample video data includes a play progress, the server may take the play progress included in the candidate data of each of the plurality of sample video data as the reference QoE score of the corresponding video. Optionally, if the candidate data of the sample video data does not include the playing progress, and the initial data of the sample video data includes the playing duration, the server may normalize the playing duration included in the initial data of each of the plurality of sample video data to obtain the playing progress, and then use the playing progress as the reference QoE score of the corresponding sample video data.
After determining the reference QoE score of each sample video data, the server may determine a first tree model according to the candidate data of the plurality of sample video data and the reference QoE score of each sample video data, and then obtain an ordering value of each candidate feature of the plurality of candidate features according to the first tree model, where the ordering value is used to indicate an importance degree of the corresponding candidate feature.
For example, the first tree model in this embodiment may be an xgboost model, and the first tree model may be determined according to candidate data of the plurality of sample video data and the reference QoE score of each sample video data. The parameters used for determining the first tree model may be preset default hyper-parameters, or the hyper-parameters may also be adjusted to ensure that the trained xgboost model has high indexes such as precision rate. The determined first tree model comprises a plurality of nodes, each node corresponds to a feature, and the features corresponding to different nodes may be the same or different. After the server obtains the first tree model, the server may count the total number of nodes corresponding to each candidate feature in the first tree model, and the count is used as a ranking value of the corresponding candidate feature, or the server may normalize the total number of nodes corresponding to each candidate feature to obtain a ranking value of the corresponding candidate feature.
After obtaining the ranking value of each candidate feature, the server may screen out the candidate features with lower ranking values, thereby obtaining a plurality of initial target features.
For example, the server may rank the ranking values of the various candidate features from large to small, obtain a plurality of candidate features ranked before the reference scale, and obtain a plurality of initial target features.
For example, the reference proportion may be 50%, and after the server sorts the ranking values of the candidate features from large to small, the server may take a plurality of candidate features ranked 50% before as the initial target features.
In this embodiment, after obtaining the plurality of initial target features, the server may further filter the plurality of initial target features according to the pearson correlation between each two features in the plurality of initial target features to obtain a plurality of target features.
For example, the server may calculate a pearson correlation between each two features of the plurality of initial target features, and group the plurality of initial target features according to the pearson correlation between each two features of the plurality of initial target features, to obtain a plurality of redundant feature groups. Then, the server may obtain the feature with the largest ranking value from each redundant feature group as the target feature corresponding to the corresponding redundant feature group, so as to obtain multiple target features.
It should be noted that, after the server calculates the pearson correlation degree between each two features in the multiple initial target features, taking any one of the features as an example, for convenience of description, it is referred to as a first initial target feature, and the server may classify a feature whose pearson correlation degree with the first initial target feature exceeds a correlation degree threshold value into a redundant feature group together with the first initial target feature. Other features may be processed as such to yield one or more redundant sets of features. Then, the server may use the feature with the largest score value in each redundant feature group as the target feature corresponding to the corresponding redundant feature group to obtain a plurality of target features.
In other embodiments, the server may control the number of target features finally filtered by controlling the size of the correlation threshold. For example, the server may set the correlation threshold to be smaller, so that the number of redundant feature sets obtained is reduced, and thus the number of target features finally determined is relatively reduced. Alternatively, if the server sets the correlation threshold to be larger, the number of the obtained redundant feature sets may be increased, and correspondingly, the number of the determined target features may be increased.
It should be noted that, in the embodiment of the present application, after the feature screening, the multiple target features obtained by the server may include video time, video code rate, download bandwidth, decoding speed parameter, capability parameter of whether parallel downloading and playing is supported, player preparation time, download interface calling time, preloading proportion, and whether comment operation is received. The video duration and the video code rate are basic characteristics of video data, the decoding speed parameter, whether the capability parameter supporting parallel downloading and playing is an inherent attribute characteristic of the terminal, the downloading bandwidth, the downloading preparation duration, the downloading starting duration and the preloading proportion are real-time state characteristics of the terminal, whether comment operation is received as historical operation characteristics of a target user account or not, and the inherent attribute characteristic and the real-time state characteristic can represent the preloading capability characteristic of the terminal. In this case, after the server subsequently trains a QoE analysis model according to the parameter values of the features of the sample video data, the QoE analysis model can be used to determine the QoE score of the video data at each video bitrate by the method described in the embodiment shown in fig. 2.
It should be noted that the target features obtained in the above description are only one possibility of obtaining a plurality of target features in the embodiments of the present application, and in practice, different types of models, parameters of models, selection of samples, feature screening methods, and the like may have an influence on the final target features, that is, the finally determined target features may include other features in addition to the above features. In this case, after subsequent training has resulted in a QoE analysis model, the features employed in determining the QoE score for the video data using the QoE analysis model will accordingly also include other features.
In addition, in the process of screening out the characteristics by the server, the used method is to carry out primary screening according to the tree model and further screen according to the Pearson correlation degree to obtain the target characteristics. In the embodiment of the present application, in addition to the above-described feature screening method, candidate features may be screened according to other feature screening methods to obtain target features, and different feature screening methods may obtain different target features, which is not limited in this application.
After determining the plurality of target features, the server may determine target data for the plurality of sample video data based on the plurality of target features and the candidate data for the plurality of sample video data. The target data of each sample video data comprises parameter values of a plurality of target characteristics obtained by screening from a plurality of candidate characteristics. That is, the server may remove parameter values other than the parameter values of the multiple target features from the parameter values included in the candidate data of the multiple sample video data to obtain the target data of the multiple sample video data. The target data of the sample video data may include a playing time length for the sample video data played by the sample terminal, a sample parameter value of a basic feature of the sample video data, a sample parameter value of a preloading capability feature of the sample terminal, and a sample parameter value of a historical operating feature of the sample user account.
Step 402: the method comprises the steps of determining a reference QoE score of sample video data based on the playing time of the sample video data played by a sample terminal, and determining a sample video feature vector based on a sample parameter value of basic features of the sample video data, a sample parameter value of preloading capability features of the sample terminal and a sample parameter value of historical operating features of a sample user account.
After determining the target data of the plurality of sample video data according to the plurality of target features, the server may further determine a sample video feature vector according to a plurality of parameter values (i.e., a plurality of sample parameter values) included in each target data, so as to obtain a plurality of sample video feature vectors. Wherein each sample video feature vector comprises a plurality of parameter values within one target data.
In addition, after the server obtains the playing time length of the sample video data played by the sample terminal, the playing time length of the sample video data can be normalized by the video time length of the corresponding sample video data, so that the reference QoE score of the target data of the corresponding sample video data is obtained, that is, the reference QoE score corresponding to the corresponding sample video feature vector is obtained. Optionally, as described in step 401, during the process of processing the initial data of the sample video data, the server may normalize the playing duration of the sample video data to the playing progress, and in this case, the playing progress may be directly used as the reference QoE score of the corresponding sample video feature vector. Alternatively, as described in step 401, when the server filters a plurality of candidate features through the tree model, the server may obtain the playback progress in the initial data of each sample video data as the corresponding reference QoE score, and based on this, in this step, the server may directly obtain the reference QoE score as the reference QoE score of the corresponding sample video feature vector.
It should be noted that, in the embodiment of the present application, the reference QoE score is determined according to the playback time length, that is, the QoE score is obtained by using the playback time length as an index, and in other embodiments, other parameters may also be used as the index of the QoE score.
Step 403: and obtaining a QoE analysis model through supervised learning training based on the sample video feature vector and the reference QoE score.
In this embodiment of the present application, after obtaining the sample video feature vectors and the benchmark QoE score of each sample video feature vector, the server may obtain a QoE analysis model through supervised learning training according to the sample video feature vectors and the benchmark QoE score of each sample video feature vector.
It should be noted that, in the embodiment of the present application, the QoE analysis model may be an xgboost model, and the reference QoE score may be a play progress. In addition, the QoE analysis model in the embodiment of the present application may also be other learning models such as a tree model, a neural network model, and a regression model.
For example, assuming that the QoE analysis model is an xgboost model, the server may obtain an xgboost model through supervised learning training according to the sample video feature vectors and the reference QoE score of each sample video feature vector, and use the xgboost model as a final QoE analysis model. The server can select one of the super-parameters at each time as the super-parameter of the xgboost model to be trained to determine the xgboost model, and determine evaluation indexes of the model, such as accuracy, precision, recall rate, AUC value and the like.
For example, the hyper-parameters of the xgboost model may include a learning rate eta, a minimum loss of splitting min _ split _ loss, a maximum depth of the tree max _ depth, a sampling rate of training samples subsample, a sampling rate of features colsample _ byte, etc., and the 5 hyper-parameters may be taken as follows:
eta:[1.0,0.1,0.01];
min_split_los:[0.0,1.0,10.0];
max_depth:[3,6,10];
subsample:[0.7,1.0];
colsample_bytree:[0.3,0.5,0.7,1.0]。
the server can select eat =1.0, min \_loss =0.0, max_depth =3, subsample =0.7, colsample_byte =0.3 for the first time, and train according to the target video sample and the playing progress, determine the first xgboost model, and determine the AUC value of the model. The server can select eat =0.1,min \_loss =0.0,max_depth =3, subsample =0.7, colsample_byte =0.3 for the second time, and train again according to the target video sample and the playing progress, determine the second xgboost model, and determine the AUC value of the model. The server can obtain 3 × 2 × 4=216 xgboost models through supervised learning training by various combinations of the five hyper-parameters, and obtain the AUC value corresponding to each model. Then, the server may determine the xgboost model with the highest AUC value as the final QoE analysis model, and combine the corresponding hyper-parameters of the model into the optimal parameter combination.
Optionally, each training process may be trained by using a 10-fold cross validation method, or may be trained according to other methods, which is not limited in this application.
In the above embodiment, the server uses the playing progress as a reference QoE score, and may obtain a sample video feature vector according to data related to a video data watched by a sample terminal, where each video feature vector is determined based on the data related to the video data watched by the sample terminal, and further obtain a QoE analysis model through supervised learning training. In other embodiments, the server may also use the number of videos watched, the duration of the videos watched, or the like as the reference QoE score. In this case, each video feature vector may be determined according to the related data of one or more video data viewed by a user within a preset time period. The number of videos watched can refer to the total number of videos watched by one user in a preset time period, the video watching time period can refer to the total time period of videos watched by one user in the preset time period, and the video approval and/or the video sharing times can refer to the total approval and/or the video sharing times in the process of watching videos by one user in the preset time period.
The method for pushing video data provided by the embodiment can be applied to application scenes related to short videos, and is also applicable to application scenes related to live videos. Exemplarily, in an application scenario of a live video, a user pushes a stream to a server through a terminal, that is, the live video stream is transmitted to the server, the server transcodes a received live video stream and can also obtain video streams with several corresponding video bit rates, the server can obtain video feature vectors corresponding to each video bit rate according to a scheme provided by the application, and determine a video bit rate with the highest QoE score according to a QoE analysis model, so as to perform preloading feedback on a target terminal, that is, push the live video stream with a proper bit rate to the target terminal.
It should be noted that, in this scenario, in the process of determining the QoE analysis model, the screened multiple target features may be different from multiple target features in the short video scene, and based on this, the features included in the video feature vector acquired by the server may be different from the features included in the short video, for example, the preloading proportion may not be included.
To sum up, in the embodiment of the present application, the multiple video feature vectors of the acquired first video are respectively processed through the QoE analysis model, so as to obtain the QoE score of the video data of each video bitrate, and then, the target terminal is preloaded and fed back based on the video data with the highest QoE score. The QoE analysis model is obtained through supervised learning training based on the sample video feature vector and the reference QoE score, and the complex relation between the video feature vector and the QoE score is learned by the QoE analysis model in the training process, so that the QoE score determined according to the QoE analysis model is accurate, and the pushed video data can better meet the watching requirements of users on the basis.
Referring to fig. 5, an embodiment of the present application provides an apparatus 500 for pushing video data, where the apparatus 500 may be applied in a server, and the apparatus 500 includes:
a receiving module 501, configured to receive a preloading request sent by a target terminal, where the preloading request is used to request to preload video data of a first video;
a first obtaining module 502, configured to obtain a plurality of video feature vectors of a first video, where each video feature vector corresponds to video data of one video code rate of the first video;
a first determining module 503, configured to determine a QoE score of the video data at each video bitrate through a QoE analysis model according to the plurality of video feature vectors, where the QoE analysis model is obtained through supervised learning training based on the sample video feature vectors and the reference QoE score;
the preloading feedback module 504 is configured to obtain video data with the highest QoE score from the video data of the first video at multiple video bit rates, and perform preloading feedback on the target terminal based on the obtained video data with the highest QoE score.
Optionally, the first obtaining module includes:
the acquisition submodule is used for acquiring data characteristics corresponding to video data with each video code rate of a first video, wherein the data characteristics comprise basic characteristics of the video data, pre-loading capacity characteristics of a target terminal and historical operation characteristics of a target user account, and the target user account refers to a user account currently logged in by the target terminal;
and the generation submodule is used for generating a video feature vector corresponding to the video code rate for the first video according to the data feature corresponding to the video data of the video code rate.
Optionally, the base characteristic includes at least one of a video bitrate and a video duration.
Optionally, the preload capability feature comprises an inherent attribute feature and a real-time status feature for characterizing the preload capability.
Optionally, the inherent property feature includes at least one of a decoding speed parameter, a capability parameter of whether parallel download and play is supported.
Optionally, the real-time status feature comprises at least one of a download bandwidth, a preload preparation time length, and a preload proportion.
Optionally, the historical operation feature is used to indicate whether at least one of a comment operation, a share operation, and a like operation is received during the process of playing a previous video of the currently playing video.
Optionally, the preloading request carries device information of the target terminal, where the device information includes at least one of a device type, a network type, and a geographic area to which the device information belongs;
the first determination module 503 includes:
the first determining sub-module is used for determining one QoE analysis model from the stored QoE analysis models as a target QoE analysis model according to the equipment information of the target terminal;
and the second determining submodule is used for taking the plurality of video feature vectors as the input of a target QoE analysis model respectively, and determining the QoE score of the video data of each video code rate through the target QoE analysis model.
Optionally, the apparatus 500 further comprises:
the second acquisition module is used for acquiring the playing time of the sample video data played by the sample terminal, the sample parameter value of the basic characteristic of the sample video data, the sample parameter value of the preloading capability characteristic of the sample terminal and the sample parameter value of the historical operating characteristic of a sample user account, wherein the sample user account refers to a user account currently logged in by the sample terminal;
the second determination module is used for determining a reference QoE score of the sample video data based on the playing time of the sample video data played by the sample terminal, and determining a sample video feature vector based on a sample parameter value of basic features of the sample video data, a sample parameter value of preloading capability features of the sample terminal and a sample parameter value of historical operating features of a sample user account;
and the third determining module is used for obtaining a QoE analysis model through supervised learning training based on the sample video feature vector and the reference QoE score.
To sum up, in the embodiment of the present application, the multiple video feature vectors of the acquired first video are respectively processed through the QoE analysis model, so as to obtain the QoE score of the video data of each video bitrate, and then, the target terminal is preloaded and fed back based on the video data with the highest QoE score. The QoE analysis model is obtained through supervised learning training based on the sample video feature vector and the reference QoE score, and the complex relation between the video feature vector and the QoE score is learned by the QoE analysis model in the training process, so that the QoE score determined according to the QoE analysis model is accurate, and the pushed video data can better meet the watching requirements of users on the basis.
It should be noted that: in the apparatus for pushing video data according to the foregoing embodiment, when pushing video data, only the division of the functional modules is illustrated, and in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules, so as to complete all or part of the functions described above. In addition, the apparatus for pushing video data and the method for pushing video data provided by the foregoing embodiments belong to the same concept, and specific implementation processes thereof are described in detail in the method embodiments and are not described herein again.
Fig. 6 is a schematic structural diagram of a computer device according to an embodiment of the present application. The server in the embodiment shown in fig. 2 described above may be implemented by the computer device. The computer device 600 comprises a processor 601, a communication interface 602, a memory 603 and a communication bus 604. The processor 601, the communication interface 602 and the memory 603 complete communication with each other through the communication bus 604. The memory 603 is used for storing computer programs, and the processor 601 is used for executing the programs stored in the memory 603 to implement the method for pushing video data provided by the embodiment shown in fig. 2.
Processor 601 may be a Central Processing Unit (CPU), and memory 603 may include one or more programs, one or more programs stored in memory 603 and configured to be executed by the CPU. The one or more programs include instructions for performing the method for pushing video data provided by the embodiments of the present application. Memory 603 may also include a computer-readable storage medium (not shown), such as a hard disk or CD-ROM drive.
The communication interface 602 includes a basic input/output interface 6021 and a network interface 6022. The basic input/output interface 6021 includes, among other things, a display for displaying information and an input device (not shown), such as a mouse, keyboard, etc., for a user to input information. The computer device 600 may communicate with other devices on the network through the network interface 6022.
An embodiment of the present application further provides a non-transitory computer-readable storage medium, where instructions in the storage medium, when executed by a processor of a server, enable the server to perform the method for pushing video data provided in the embodiment shown in fig. 2.
The embodiment of the present application further provides a computer program product containing instructions, which when run on a computer, causes the computer to execute the method for pushing video data provided in the embodiment shown in fig. 2.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only exemplary of the present application and should not be taken as limiting, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (9)

1. A method for pushing video data, the method comprising:
receiving a preloading request sent by a target terminal, wherein the preloading request is used for requesting to preload video data of a first video;
for the video data of each video code rate of the first video, acquiring data characteristics corresponding to the video data of the video code rate, wherein the data characteristics comprise basic characteristics of the video data, preloading capability characteristics of the target terminal and historical operation characteristics of a target user account, the basic characteristics comprise video code rate and video time length, the preloading capability characteristics comprise inherent attribute characteristics and real-time state characteristics for representing preloading capability, the inherent attribute characteristics comprise decoding speed parameters and capability parameters for judging whether downloading and playing are supported in parallel, the real-time state characteristics comprise downloading bandwidth, preloading preparation time length and preloading proportion, and the target user account refers to a user account currently logged in by the target terminal;
generating a video feature vector corresponding to the video code rate for the first video according to the data feature corresponding to the video data of the video code rate;
determining a QoE score of video data of each video bitrate through a user quality of experience (QoE) analysis model according to the plurality of video feature vectors, wherein the QoE analysis model is obtained through supervised learning training based on sample video feature vectors and reference QoE scores;
and acquiring the video data with the highest QoE score from the video data of the first video with multiple video code rates, and performing preloading feedback on the target terminal based on the acquired video data with the highest QoE score.
2. The method of claim 1, wherein the historical operation characteristic is used to indicate that at least one of a comment operation, a share operation and a like operation is received in the process of playing a last video of a currently played video.
3. The method according to claim 1 or 2, wherein the preloading request carries device information of the target terminal, and the device information comprises at least one of a device type, a network type, and a geographical area to which the target terminal belongs;
the determining the QoE score of the video data of each video bitrate through a QoE analysis model according to the plurality of video feature vectors comprises the following steps:
determining a QoE analysis model from a plurality of stored QoE analysis models as a target QoE analysis model according to the equipment information of the target terminal;
and respectively taking the plurality of video feature vectors as the input of the target QoE analysis model, and determining the QoE score of the video data of each video code rate through the target QoE analysis model.
4. The method according to claim 1 or 2, wherein before receiving the preload request sent by the target terminal, the method further comprises:
acquiring the playing time of sample video data played by a sample terminal, sample parameter values of basic characteristics of the sample video data, sample parameter values of preloading capability characteristics of the sample terminal and sample parameter values of historical operating characteristics of a sample user account, wherein the sample user account refers to a user account currently logged in by the sample terminal;
determining the reference QoE score of the sample video data based on the playing time length of the sample video data played by the sample terminal, and determining the sample video feature vector based on the sample parameter value of the basic feature of the sample video data, the sample parameter value of the preloading capability feature of the sample terminal and the sample parameter value of the historical operating feature of the sample user account;
and obtaining the QoE analysis model through supervised learning training based on the sample video feature vector and the reference QoE score.
5. An apparatus for pushing video data, the apparatus comprising:
the system comprises a receiving module, a pre-loading module and a processing module, wherein the receiving module is used for receiving a pre-loading request sent by a target terminal, and the pre-loading request is used for requesting to pre-load video data of a first video;
the system comprises an acquisition submodule and a first acquisition module of a generation submodule, wherein the acquisition submodule is used for acquiring data characteristics corresponding to video data of each video code rate of a first video, the data characteristics comprise basic characteristics of the video data, preloading capability characteristics of a target terminal and historical operation characteristics of a target user account, the basic characteristics comprise the video code rate and video duration, the preloading capability characteristics comprise inherent attribute characteristics and real-time state characteristics used for representing preloading capability, the inherent attribute characteristics comprise decoding speed parameters and capability parameters for judging whether to support downloading and playing in parallel, the real-time state characteristics comprise downloading bandwidth, preloading preparation duration and preloading proportion, and the target user account refers to a user account currently logged in by the target terminal; the generating submodule is used for generating a video feature vector corresponding to the video code rate for the first video according to the data feature corresponding to the video data of the video code rate;
a first determining module, configured to determine a QoE score of the video data at each video bitrate through a QoE analysis model according to the plurality of video feature vectors, where the QoE analysis model is obtained through supervised learning training based on a sample video feature vector and a reference QoE score;
and the preloading feedback module is used for acquiring the video data with the highest QoE score from the video data with the multiple video bit rates of the first video and performing preloading feedback on the target terminal based on the acquired video data with the highest QoE score.
6. The apparatus of claim 5, wherein the historical operation characteristic is used to indicate whether at least one of a comment operation, a share operation, and a like operation is received during a process of playing a last video of a currently played video.
7. The apparatus according to claim 5 or 6, wherein the preload request carries device information of the target terminal, the device information including at least one of a device type, a network type, and a geographic area to which the device information belongs;
the first determining module includes:
a first determining sub-module, configured to determine, according to the device information of the target terminal, a QoE analysis model from among the stored QoE analysis models as a target QoE analysis model;
and the second determining submodule is used for taking the plurality of video feature vectors as the input of the target QoE analysis model respectively, and determining the QoE score of the video data of each video code rate through the target QoE analysis model.
8. The apparatus of claim 5 or 6, further comprising:
the second acquisition module is used for acquiring the playing time of sample video data played by a sample terminal, sample parameter values of basic characteristics of the sample video data, sample parameter values of preloading capability characteristics of the sample terminal and sample parameter values of historical operating characteristics of a sample user account, wherein the sample user account refers to a user account currently logged in by the sample terminal;
a second determining module, configured to determine the QoE score of the sample video data based on a playing duration of the sample video data played by the sample terminal, and determine the sample video feature vector based on a sample parameter value of a basic feature of the sample video data, a sample parameter value of a preloading capability feature of the sample terminal, and a sample parameter value of a historical operating feature of the sample user account;
and the third determining module is used for obtaining the QoE analysis model through supervised learning training based on the sample video feature vector and the reference QoE score.
9. A computer-readable storage medium, characterized in that a computer program is stored in the storage medium, which computer program, when being executed by a processor, carries out the steps of the method according to any one of claims 1-4.
CN202010207532.8A 2020-03-23 2020-03-23 Method, device and storage medium for pushing video data Active CN111432246B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010207532.8A CN111432246B (en) 2020-03-23 2020-03-23 Method, device and storage medium for pushing video data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010207532.8A CN111432246B (en) 2020-03-23 2020-03-23 Method, device and storage medium for pushing video data

Publications (2)

Publication Number Publication Date
CN111432246A CN111432246A (en) 2020-07-17
CN111432246B true CN111432246B (en) 2022-11-15

Family

ID=71549132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010207532.8A Active CN111432246B (en) 2020-03-23 2020-03-23 Method, device and storage medium for pushing video data

Country Status (1)

Country Link
CN (1) CN111432246B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367564A (en) * 2020-10-30 2021-02-12 北京达佳互联信息技术有限公司 Video playing parameter determination method and device
CN112752117B (en) * 2020-12-30 2023-03-28 百果园技术(新加坡)有限公司 Video caching method, device, equipment and storage medium
CN113038163B (en) * 2021-03-26 2023-06-23 百果园技术(新加坡)有限公司 User experience model training method, short video user experience assessment method and device
CN112954409B (en) * 2021-03-31 2023-05-12 百果园技术(新加坡)有限公司 Video downloading method, device, server and storage medium
CN113282853B (en) * 2021-05-26 2024-04-16 北京字跳网络技术有限公司 Comment preloading method and device, storage medium and electronic equipment
CN115510272B (en) * 2022-09-20 2023-07-14 广州金狐智能科技有限公司 Computer data processing system based on big data analysis
CN116962757B (en) * 2023-09-20 2023-12-12 腾讯科技(深圳)有限公司 Video code rate grade determining method and device, electronic equipment and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179438A (en) * 2011-12-20 2013-06-26 中国移动通信集团上海有限公司 Method and device for determining of video playing first access code rate
CN103248962A (en) * 2013-04-23 2013-08-14 华为技术有限公司 Method, equipment and system for obtaining streaming media data
CN103269331A (en) * 2013-04-20 2013-08-28 华为技术有限公司 Method and device for selectively playing code rate content
CN106375790A (en) * 2016-09-23 2017-02-01 西安交通大学 QoE-driven adaptive scheduling method of multichannel HAS code rate
CN108833995A (en) * 2018-06-08 2018-11-16 西安交通大学 The transmission method of adaptive stream media in a kind of wireless network environment
CN108965949A (en) * 2018-07-27 2018-12-07 清华大学 Meet the code rate adaptive approach of user individual experience in a kind of video traffic
CN109302623A (en) * 2018-11-01 2019-02-01 南京大学 A kind of transmission method based on QoE model dynamic self-adapting video
CN110049352A (en) * 2019-04-18 2019-07-23 北京达佳互联信息技术有限公司 Code rate determines method, apparatus, computer equipment and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017091961A1 (en) * 2015-11-30 2017-06-08 华为技术有限公司 Method of acquiring quality of experience information, and equipment and system
CN110149560B (en) * 2019-06-05 2021-11-16 亦非云互联网技术(上海)有限公司 Player optimization method and system based on HLS protocol, storage medium and terminal
CN110719535B (en) * 2019-09-02 2021-09-14 北方工业大学 Adaptive equalization adjustment method for downlink video stream code rate at video source end

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103179438A (en) * 2011-12-20 2013-06-26 中国移动通信集团上海有限公司 Method and device for determining of video playing first access code rate
CN103269331A (en) * 2013-04-20 2013-08-28 华为技术有限公司 Method and device for selectively playing code rate content
CN103248962A (en) * 2013-04-23 2013-08-14 华为技术有限公司 Method, equipment and system for obtaining streaming media data
CN106375790A (en) * 2016-09-23 2017-02-01 西安交通大学 QoE-driven adaptive scheduling method of multichannel HAS code rate
CN108833995A (en) * 2018-06-08 2018-11-16 西安交通大学 The transmission method of adaptive stream media in a kind of wireless network environment
CN108965949A (en) * 2018-07-27 2018-12-07 清华大学 Meet the code rate adaptive approach of user individual experience in a kind of video traffic
CN109302623A (en) * 2018-11-01 2019-02-01 南京大学 A kind of transmission method based on QoE model dynamic self-adapting video
CN110049352A (en) * 2019-04-18 2019-07-23 北京达佳互联信息技术有限公司 Code rate determines method, apparatus, computer equipment and storage medium

Also Published As

Publication number Publication date
CN111432246A (en) 2020-07-17

Similar Documents

Publication Publication Date Title
CN111432246B (en) Method, device and storage medium for pushing video data
CN108391179B (en) Live broadcast data processing method and device, server, terminal and storage medium
US9626364B2 (en) Streaming media
US11706491B2 (en) Deep reinforcement learning for personalized screen content optimization
US11483630B1 (en) Systems and methods to generate metadata for content
US20180139501A1 (en) Optimized delivery of sequential content by skipping redundant segments
US11741148B2 (en) Methods and systems for personalized screen content optimization
CN106331109A (en) Method for realizing intelligent recommendation system of visual information in digital television
DE112010002621T5 (en) Group-driven automated real-time media content selection
CN110582024A (en) method and device for playing video
CN110784731B (en) Data stream transcoding method, device, equipment and medium
CN114257572A (en) Data processing method and device, computer readable medium and electronic equipment
CN108134948B (en) Television program recommendation method, device and system and readable storage medium
US20220180216A1 (en) Systems and methods for providing media content recommendations
US11539998B2 (en) Evolutionary parameter optimization for selecting optimal personalized screen carousels
CN112533032B (en) Video data processing method and device and storage medium
EP2902924A1 (en) Method for automatically selecting a real-time video stream among a plurality of available real-time video streams, and associated system
CN112492351A (en) Video processing method, device, equipment and storage medium
US11949928B2 (en) Video loading method and device
KR102492014B1 (en) Method, Apparatus and System of managing contents in Multi-channel Network
KR102656804B1 (en) Edge caching system
CN109325154B (en) Application data acquisition method and electronic equipment
CN109218801B (en) Information processing method, device and storage medium
CN112543356A (en) Video pushing method and device, computer equipment and storage medium
CN112619165A (en) Game user selection method, system, server and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231012

Address after: 31a, 15 / F, building 30, maple mall, bangrang Road, Brazil, Singapore

Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd.

Address before: 511402 5-13 / F, West Tower, building C, 274 Xingtai Road, Shiqiao street, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right