CN114900732B - Video caching method and device, electronic equipment and storage medium - Google Patents
Video caching method and device, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN114900732B CN114900732B CN202210442349.5A CN202210442349A CN114900732B CN 114900732 B CN114900732 B CN 114900732B CN 202210442349 A CN202210442349 A CN 202210442349A CN 114900732 B CN114900732 B CN 114900732B
- Authority
- CN
- China
- Prior art keywords
- target video
- video block
- target
- seek
- probability
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000006399 behavior Effects 0.000 claims abstract description 182
- 230000003139 buffering effect Effects 0.000 claims description 53
- 230000015654 memory Effects 0.000 claims description 47
- 230000001960 triggered effect Effects 0.000 claims description 2
- 239000002699 waste material Substances 0.000 abstract description 8
- 230000009471 action Effects 0.000 description 19
- 238000013500 data storage Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
- H04N21/44222—Analytics of user selections, e.g. selection of programs or purchase activity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The embodiment of the invention relates to a video caching method, a video caching device, electronic equipment and a storage medium, comprising the following steps: before caching a target video block, determining the probability of triggering seek behaviors of the target video block by a target user, wherein the target video block is any video block which is positioned behind a current playing point and is not cached in a target video currently played by a client; determining whether a preset pause buffer condition is met or not currently based on the probability of triggering seek behaviors on target video blocks by a target user and the current video buffer quantity; if yes, returning to execute the step of determining whether the preset pause buffer condition is met or not based on the probability of triggering the seek behavior on the target video block by the target user and the current video buffer quantity after waiting for the preset time period; if not, the target video block is cached. Therefore, the bandwidth waste caused by the fact that the video blocks corresponding to the seek behaviors of the user are cached can be effectively avoided, and the bandwidth is saved.
Description
Technical Field
The embodiment of the invention relates to the technical field of video processing, in particular to a video caching method, a video caching device, electronic equipment and a storage medium.
Background
Currently, in a video playing scene, in order to make the playing of a video smoother, a mode of playing and buffering is generally adopted.
However, during video playback, the user may trigger seek behavior for the video for reasons such as disinterest in a certain piece of video content, viewing time tension, etc. Here, the seek behavior refers to a user jumping the play progress of a video from a current play position to a subsequent play position while watching the video.
Therefore, in the video playing process, the technical problem that the video cached by the client is seek easily occurs, so that the downloading bandwidth is wasted is more remarkable, especially when the client caches the video in a CDN (Content Delivery Network ) mode, the downloading bandwidth is wasted due to the generation of downloading cost.
Disclosure of Invention
In view of this, in order to solve the technical problem that the video cached by the client is seek, and thus the downloading bandwidth is wasted, embodiments of the present invention provide a video caching method, apparatus, electronic device, and storage medium.
In a first aspect, an embodiment of the present invention provides a video buffering method, including:
Before a client caches a target video block, determining the probability of triggering seek behaviors by a target user on the target video block, wherein the target video block is any video block which is positioned behind a current playing point and is not cached in a target video currently played by the client;
determining whether a preset pause buffer condition is met or not currently based on the probability that the target user triggers a seek action on the target video block and the current buffer quantity of the client side on the target video;
if so, returning to execute the step of determining whether the current buffer memory condition is met or not according to the probability of triggering the seek behavior on the target video block by the target user and the current buffer memory quantity of the target video by the client after waiting for the preset time;
and if not, controlling the client to cache the target video block.
In one possible implementation, the determining the probability that the target user triggers seek behavior on the target video block includes:
determining one or more of the following viewing behavior data: viewing behavior data of a target user in a preset historical time period, viewing behavior data of the target user on a currently played video, and viewing behavior data of a plurality of users on the target video block in the preset historical time period;
And determining the probability of triggering seek behaviors on the target video block by the target user according to the determined one or more items of viewing behavior data.
In a possible implementation manner, the determining, according to the determined one or more items of viewing behavior data, a probability that the target user triggers seek behavior on the target video block includes:
determining a first probability value based on the viewing behavior data of the target user in a preset historical time period; and/or the number of the groups of groups,
determining a second probability value based on viewing behavior data of the target user on the currently played video; and/or the number of the groups of groups,
determining a third probability value based on viewing behavior data of the plurality of users for the target video block within the preset historical period;
and determining the probability of triggering seek behaviors on the target video block by the target user according to the first probability value and/or the second probability value and/or the third probability value.
In one possible implementation manner, the determining, based on the probability that the target user triggers seek behavior on the target video block and the current buffer size of the target video by the client, whether the current buffer size meets a preset pause buffer condition includes:
Determining a prediction buffer amount corresponding to the target video block based on the probability that the target user triggers seek behavior on the target video block;
comparing the predicted cache quantity corresponding to the target video block with the current cache quantity of the target video by the client;
if the current buffering quantity of the client to the target video is larger than the predicted buffering quantity corresponding to the target video block, determining that a preset pause buffering condition is met currently;
if the current buffering quantity of the client to the target video is smaller than or equal to the predicted buffering quantity corresponding to the target video block, determining that the current buffering condition does not meet the preset buffering suspension condition.
In one possible implementation manner, the determining the prediction buffer amount corresponding to the target video block based on the probability that the target user triggers seek behavior on the target video block includes:
dividing the length of the target video block by the current playing code rate to obtain the playing time consumption of the target video block;
dividing the length of the target video block by the current downloading speed to obtain the time consumption for downloading the target video block;
calculating the playing time consumption of the target video block, the probability of triggering seek behaviors of the target video block by the target user and the downloading time consumption of the target video block by using a preset formula to obtain a prediction buffer quantity corresponding to the target video block, wherein the preset formula is as follows: cn=cd (1-P) +t1+c0;
Wherein Cn is a prediction buffer amount corresponding to the target video block, cd is a playing time consumption of the target video block, P is a probability that the target user triggers seek behavior on the target video block, T1 is a downloading time consumption of the target video block, and C0 is a preset constant value.
In one possible implementation, the determining the first probability value based on the video viewing behavior data of the target user in a preset historical period of time includes:
determining the total number of first videos and the total number of second videos, which trigger seek behaviors in a preset historical time period, of the target user based on video watching behavior data of the target user in the preset historical time period;
dividing the total number of the first videos triggering seek behaviors in a preset historical time period by the total number of the second videos by the target user to obtain the first probability value.
In one possible implementation manner, the determining the second probability value based on the viewing behavior data of the target user on the currently played video includes:
determining the total number of first video blocks of seek occurring in the currently played video and the total number of second video blocks in the currently played video based on the watching behavior data of the target user on the currently played video;
Dividing the total number of the first video blocks generating seek in the currently played video by the total number of the second video blocks in the currently played video to obtain a second probability value.
In one possible implementation manner, the determining a third probability value based on the viewing behavior data of the plurality of users for the target video block in the preset history period includes:
determining a first total number of times the plurality of users trigger seek behaviors on the target video block in the preset historical time period and a total number of times the plurality of users watch the target video block based on the watching behavior data of the plurality of users on the target video block in the preset historical time period;
dividing the first total times of the plurality of users for triggering seek behaviors on the target video block in the preset historical time period by the total times of watching the target video block to obtain a third probability value.
In one possible embodiment, the method further comprises:
determining whether the current downloading mode is CDN downloading of a content delivery network;
if yes, the step of determining the probability that the target user triggers seek behaviors on the target video block before the target video block is cached is executed.
In a second aspect, an embodiment of the present invention provides a video buffering device, where the device includes:
the determining module is used for determining the probability of triggering seek behaviors on the target video blocks by a target user before the target video blocks are cached by the client, wherein the target video blocks are any video blocks which are positioned behind the current playing point and are not cached in the target video currently played by the client;
the judging module is used for determining whether the current buffering quantity of the client to the target video meets the preset buffering suspension condition or not based on the probability that the target user triggers the seek action to the target video block;
the execution module is used for returning to execute the step of determining whether the preset pause buffer condition is met or not according to the probability of triggering the seek behavior of the target video block by the target user after waiting for the preset time period and the current buffer quantity of the target video by the client;
and the caching module is used for caching the target video block if the current pause caching condition is not met.
In one possible embodiment, the determining module includes:
A first determining unit for determining one or more of the following viewing behavior data: viewing behavior data of a target user in a preset historical time period, viewing behavior data of the target user on a currently played video, and viewing behavior data of a plurality of users on the target video block in the preset historical time period;
and the second determining unit is used for determining the probability of triggering seek behaviors of the target user on the target video block according to the determined one or more items of viewing behavior data.
In one possible embodiment, the second determining unit includes:
a first subunit, configured to determine a first probability value based on viewing behavior data of the target user in a preset historical time period; and/or the number of the groups of groups,
a second subunit, configured to determine a second probability value based on viewing behavior data of the target user on a currently played video; and/or the number of the groups of groups,
a third subunit configured to determine a third probability value based on viewing behavior data of the plurality of users for the target video block during the preset historical period;
and the determining subunit is used for determining the probability of triggering seek behaviors on the target video block by the target user according to the first probability value and/or the second probability value and/or the third probability value.
In one possible implementation manner, the judging module includes:
a third determining unit, configured to determine a prediction buffer amount corresponding to the target video block based on a probability that the target user triggers a seek behavior on the target video block;
a comparison unit, configured to compare a predicted buffer size corresponding to the target video block with a current buffer size of the target video by the client;
a fourth determining unit, configured to determine that a preset pause buffer condition is currently met if it is compared that the current buffer amount of the client to the target video is greater than the predicted buffer amount corresponding to the target video block;
and the fifth determining unit is used for determining that the preset pause buffer condition is not met currently if the current buffer quantity of the client to the target video is smaller than or equal to the predicted buffer quantity corresponding to the target video block.
In a possible embodiment, the third determining unit is specifically configured to:
dividing the length of the target video block by the current playing code rate to obtain the playing time consumption of the target video block;
dividing the length of the target video block by the current downloading speed to obtain the time consumption for downloading the target video block;
Calculating the playing time consumption of the target video block, the probability of triggering seek behaviors of the target video block by the target user and the downloading time consumption of the target video block by using a preset formula to obtain a prediction buffer quantity corresponding to the target video block, wherein the preset formula is as follows: cn=cd (1-P) +t1+c0;
wherein Cn is a prediction buffer amount corresponding to the target video block, cd is a playing time consumption of the target video block, P is a probability that the target user triggers seek behavior on the target video block, T1 is a downloading time consumption of the target video block, and C0 is a preset constant value.
In one possible embodiment, the first subunit is specifically configured to:
determining the total number of first videos and the total number of second videos, which trigger seek behaviors in a preset historical time period, of the target user based on video watching behavior data of the target user in the preset historical time period;
dividing the total number of the first videos triggering seek behaviors in a preset historical time period by the total number of the second videos by the target user to obtain the first probability value.
In one possible embodiment, the second subunit is specifically configured to:
Determining the total number of first video blocks of seek occurring in the currently played video and the total number of second video blocks in the currently played video based on the watching behavior data of the target user on the currently played video;
dividing the total number of the first video blocks generating seek in the currently played video by the total number of the second video blocks in the currently played video to obtain a second probability value.
In one possible embodiment, the third subunit is specifically configured to:
determining a first total number of times the plurality of users trigger seek behaviors on the target video block in the preset historical time period and a total number of times the plurality of users watch the target video block based on the watching behavior data of the plurality of users on the target video block in the preset historical time period;
dividing the first total times of the plurality of users for triggering seek behaviors on the target video block in the preset historical time period by the total times of watching the target video block to obtain a third probability value.
In one possible embodiment, the apparatus further comprises:
the downloading mode determining module is used for determining whether the current downloading mode is CDN downloading or not;
and the probability determining module is used for determining the probability that the target user triggers the seek action on the target video block before caching the target video block if the current downloading mode is CDN downloading.
In a third aspect, an embodiment of the present invention provides an electronic device, including: a processor and a memory, the processor being configured to execute a video buffering program stored in the memory, to implement the video buffering method according to any one of the first aspects.
In a fourth aspect, an embodiment of the present invention provides a storage medium storing one or more programs executable by one or more processors to implement the video buffering method of any one of the first aspects.
According to the technical scheme provided by the embodiment of the invention, before the target video block is cached, the probability of triggering seek behaviors of the target video block by the target user is determined, wherein the target video block is any uncached video block positioned behind the current playing point in the currently played video, and then whether the preset pause caching condition is met or not is determined based on the probability of triggering seek behaviors of the target video block by the target user and the current caching quantity of the target video by the client; if so, returning to execute the step of determining whether the current condition of pausing the cache is met or not based on the probability that the target user triggers the seek behavior on the target video block and the current cache quantity of the client to the target video after waiting for the preset time; if the target video block is not met, the target video block is cached, and whether the preset pause caching condition is met or not is determined according to the probability that the user triggers the seek action on the target video block to be cached, so that the video caching progress can be controlled according to the probability that the target user triggers the seek action on the target video block before the target video block is cached, and the bandwidth waste caused by the fact that the video block corresponding to the seek action of the user is cached can be effectively avoided, and the bandwidth is saved.
Drawings
Fig. 1 is a schematic view of an application scenario according to an embodiment of the present invention;
fig. 2 is a flowchart of an embodiment of a video buffering method according to an embodiment of the present invention;
FIG. 3 is a flowchart of another embodiment of a video buffering method according to an embodiment of the present invention;
FIG. 4 is a block diagram of a video file according to an embodiment of the present invention;
FIG. 5 is a flowchart of an embodiment of a video buffering method according to an embodiment of the present invention;
FIG. 6 is a flowchart of an embodiment of a video buffering method according to an embodiment of the present invention;
fig. 7 is a block diagram of an embodiment of a video buffering device according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Referring to fig. 1, a schematic diagram of an application scenario is shown in an embodiment of the present invention.
The application scenario shown in fig. 1 includes: a device 101, a data storage platform 102, and a server 103. Wherein the device 101, the data storage platform 102, and the server 103 are connected by network communication.
The device 101 may be a hardware device or software that supports network connections to provide various network services. When the device 101 is hardware, it may be a variety of electronic devices supporting a display screen, including but not limited to smartphones, tablets, laptop portable computers, desktop computers, etc., only desktop computers being exemplified in fig. 1. When the device 101 is software, it can be installed in the above-listed electronic device. In an embodiment of the present invention, the device 101 may play video by installing a corresponding video play application.
The data storage platform 102 may be implemented by using one server, or may be implemented by using a form that a plurality of servers form a server cluster, which is not limited in this embodiment of the present invention.
In embodiments of the present invention, data storage platform 102 may be used to collect and store data related to the playing of video by a device (e.g., device 101). Here, the data collected by the data storage platform 102 includes, but is not limited to: viewing behavior data of a user in a preset historical time period, viewing behavior data of the user on a currently played video, and the like.
The server 103 is a server corresponding to the device 101, and the server 103 may be implemented by one server, or may be implemented by a form that a plurality of servers form a server cluster, which is not limited in this embodiment of the present invention.
Based on the application scenario shown in fig. 1, the user may watch video through the device 101, i.e. the device 101 may play video. In the prior art, in order to ensure smoothness of video playing, the device 101 generally adopts a manner of playing and buffering the currently played video. Wherein the device 101 will buffer the currently playing video in the form of video blocks.
However, during the playing of the video by the device 101, the user may trigger the seek behavior for the video currently being played by the device 101 for some reasons, such as lack of interest for a certain piece of video content, tension in viewing time, etc. If the video block corresponding to the seek behavior has been downloaded, bandwidth waste is generated.
For example, assume that the user triggers the seek behavior N times during the playing of the video by the device 101, and that the video duration corresponding to each seek behavior is s seconds, and that the average code rate of the video is 3Mbps, the sharing ratio is P (where the sharing ratio may represent the traffic downloaded by the device 101 from a P2P (Point to Point) server/the total traffic downloaded by the device 101 from the P2P server and the CDN server). Then, the N seek actions triggered by the user will result in a waste of a total of n×s×3 (1-p) megaflows. Further, when the number of users triggering seek behavior is large, a large amount of bandwidth is wasted by accumulation.
In view of the above, the embodiment of the present invention provides a video caching method, so as to effectively avoid the technical problem that in the video playing process of a client, the downloading bandwidth is wasted because the video block corresponding to the seek behavior of the user is cached.
The video buffering method provided by the invention is further explained with reference to the drawings in the following by using specific embodiments, and the embodiments do not limit the embodiments of the invention.
Referring to fig. 2, a flowchart of an embodiment of a video buffering method is provided in an embodiment of the present invention. As an embodiment, the flow shown in fig. 2 may be applied to a server, for example, the server 103 in the application scenario shown in fig. 1, and as shown in fig. 2, the flow may include the following steps:
step 201, before the client caches the target video block, determining the probability that the target user triggers the seek behavior on the target video block, where the target video block is any video block that is located behind the current playing point and is not cached in the target video currently played by the client.
The target user may be a user currently viewing video through an electronic device (e.g., device 101 illustrated in fig. 1), and may be understood as a logged-in user of a video playback application in the electronic device.
As can be seen from the above description, when the device 101 plays the video, the video block can be used as granularity to buffer the video that is currently played, that is, when the device 101 plays the video, each time one video block is buffered, the next video block is buffered. Fig. 4 is a block diagram of a video file according to an embodiment of the present invention. Based on this, in the embodiment of the present invention, the video buffering method provided by the embodiment of the present invention is executed with the video block as granularity.
The target video block refers to any video block that is located after the current playing point and is not cached in the video currently played by the device 101 (hereinafter referred to as target video for convenience of description).
In the embodiment of the present invention, before buffering the target video block, the device 101 may first send the relevant information of the target video block to the server 103, so that the server 103 determines the probability that the target user triggers seek behavior on the target video block. It will be appreciated that here the probability that the target user triggers seek behavior on the target video block is a predicted value and not a true value.
In an embodiment, referring to fig. 3, determining the probability that the target user triggers seek behavior on the target video block may include the steps of:
Step 301, determining one or more of the following viewing behavior data: video watching behavior data of a target user in a preset historical time period, watching behavior data of the target user on a currently played video, and watching behavior data of a plurality of users on a target video block in the preset historical time period.
The preset history period may be one week before the current day or one month before the current day, which is not limited in the embodiment of the present invention.
From the above description, the data storage platform 102 may collect behavior data related to the device when playing video, and thus, the server 103 may obtain one or more items of viewing behavior data from the data storage platform 102.
Step 302, determining the probability of triggering seek behavior on the target video block by the target user according to the determined one or more items of viewing behavior data.
In an embodiment, for each item of viewing behavior data determined above, a probability that a target user triggers a seek behavior on a target video block may be determined from the dimensions of the viewing behavior data, and then, based on the determined probability of one or more dimensions, a probability that a final target user triggers a seek behavior on the target video block may be determined.
Specifically, in the case where it is determined in the above step 301 that there is video viewing behavior data of the target user in the preset history period, the determination of the first probability value based on the video viewing behavior data of the target user in the preset history period may be achieved by: and determining the total number of first videos and the total number of second videos which are watched and used by the target user for triggering the seek behavior in the preset historical time period based on the video watching behavior data of the target user in the preset historical time period, and dividing the total number of the first videos which are used by the target user for triggering the seek behavior in the preset historical time period by the total number of the second videos to obtain a first probability value.
Alternatively, in the case where it is determined in the above step 301 that there is viewing behavior data of the target user on the currently playing video, determining the second probability value based on the viewing behavior data of the target user on the currently playing video may be achieved by: based on the watching behavior data of the target user on the currently played video, determining the total number of the first video blocks with the seek in the currently played video and the total number of the second video blocks in the currently played video, and dividing the total number of the first video blocks with the seek in the currently played video by the total number of the second video blocks in the currently played video to obtain a second probability value.
Alternatively, in the case where it is determined in the above step 301 that there are a plurality of users 'viewing behavior data of the target video block within the preset history period, determining the third probability value based on the plurality of users' viewing behavior data of the target video block within the above preset history period may be implemented by: and dividing the first total times of the plurality of users for triggering the seek behaviors of the target video block by the total times of the watching target video block in the preset historical time period based on the first total times of the plurality of users for triggering the seek behaviors of the target video block in the preset historical time period and the total times of watching the target video block, so as to obtain a third probability value.
According to the above description, the probability that the final target user triggers seek behavior on the target video block may be determined according to any one, any two, or all three of the first probability value, the second probability value, and the third probability value. When determining the probability that the final target user triggers the seek behavior on the target video block according to any two or three of the first probability value, the second probability value and the third probability value, the two or three may be weighted and summed to obtain the probability that the final target user triggers the seek behavior on the target video block.
For example, let the first probability value be p1, the weight corresponding to the first probability value be w1, the second probability value be p2, the weight corresponding to the second probability value be w2, the third probability value be p3, and the weight corresponding to the third probability value be w3. Continuing to assume that the probability that the target user triggers the seek behavior on the target video block is determined according to the three probability values, the first probability value, the second probability value and the third probability value can be weighted according to the following formula (one), so as to obtain the probability p that the target user triggers the seek behavior on the target video block.
p=p1×w1+p2+w2+p3×w3 formula (one)
Step 202, determining whether a preset pause buffer condition is met currently or not based on the probability that the target user triggers the seek behavior on the target video block and the current buffer amount of the target video by the client, and if so, executing step 203; if not, step 204 is performed.
Step 203, after waiting for a preset period of time, returning to execute step 202.
Step 204, controlling the client to cache the target video block.
The following collectively describes steps 202 to 204:
in an embodiment, to avoid bandwidth waste caused by the triggering of seek behavior by a user on a cached video block, before downloading a target video block, determining whether a preset pause buffer condition is currently met based on the probability that the target user triggers seek behavior on the target video block and the current buffer amount of the target video by a client; if the pause buffer condition is met, the downloading of the target video block is paused, and whether the pause buffer condition is met is judged again after waiting for a preset time period; and if the pause buffering condition is not met, buffering the target video block. The preset duration may be 1s or 5s, which is not limited in the present invention.
Wherein, determining whether the preset pause buffer condition is currently satisfied based on the probability of triggering the seek behavior on the target video block by the target user and the current video buffer amount can be realized through a flowchart as shown in fig. 5. As shown in fig. 5, the method comprises the following steps:
step 501, dividing the length of the target video block by the current playing code rate to obtain the playing time consumption of the target video block.
Step 502, dividing the length of the target video block by the current downloading speed to obtain the time-consuming downloading of the target video block.
Step 503, calculating the playing time of the target video block, the probability of triggering seek behavior of the target video block by the target user and the downloading time of the target video block by using a preset formula, so as to obtain the prediction buffer quantity corresponding to the target video block.
The following collectively describes steps 501 to 503:
as shown in fig. 4, each video block corresponds to a corresponding length, and the playing time consumed for playing the target video block can be obtained by dividing the length of the target video block by the current playing code rate. Dividing the length of the target video block by the current download speed can result in a download time consuming to download the target video block.
And then, calculating the probability of triggering seek behaviors of the target video block, the playing time consumption of the target video block and the downloading time consumption of the target video block by using a preset formula shown in the following formula (II), so as to obtain the prediction buffer quantity corresponding to the target video block.
Cn=cd (1-P) +t1+c0 formula (two)
In the above formula (ii), cn is the prediction buffer amount corresponding to the target video block, cd is the playing time consumption of the target video block, P is the probability that the target user triggers the seek behavior on the target video block, T1 is the downloading time consumption of the target video block, and C0 is a preset constant value.
Here, it should be noted that, in order to avoid the constant value of C0 that is set by jamming and satisfies the play, the constant value may be 1s, 2s or 4s, which is not limited by the present invention.
Step 504, comparing the predicted buffer amount corresponding to the target video block with the current buffer amount of the target video by the client, and if the current buffer amount of the target video by the client is greater than the predicted buffer amount corresponding to the target video block, executing step 505; if it is compared that the current amount of buffering of the target video by the client is less than or equal to the predicted amount of buffering corresponding to the target video block, step 506 is performed.
Step 505, determining that a preset pause buffer condition is currently met.
Step 506, determining that a preset pause buffer condition is not met currently.
The following collectively describes steps 504 to 506:
in an embodiment, comparing the current buffer capacity of the client to the target video with the predicted buffer capacity of the obtained target video block, if the current buffer capacity of the client to the target video is greater than the predicted buffer capacity of the target video block, the current buffer capacity is enough for the user to watch, so that it can be determined that the preset pause buffer condition is currently met; if the current buffer size of the client to the target video is smaller than or equal to the predicted buffer size of the target video block, the current buffer size is insufficient for the user to watch, so that it can be determined that the preset pause buffer condition is not met currently.
For example, in the process of playing the target video by the user, it is assumed that the second video block is being played at time t, and the target video block to be cached is the third video block. It is assumed that buffering of the target video block is suspended at this time as determined by the above-described method, and it is assumed that the user jumps the play progress of the target video directly from the current play point to the fourth video block. Therefore, the third video block corresponding to the seek action is not cached, so that the waste of bandwidth caused by triggering the seek action by the user is avoided.
According to the technical scheme provided by the embodiment of the invention, before the target video block is cached, the probability of triggering seek behaviors of the target video block by the target user is determined, wherein the target video block is any uncached video block positioned behind the current playing point in the currently played video, and then whether the preset pause caching condition is met or not is determined based on the probability of triggering seek behaviors of the target video block by the target user and the current caching quantity of the target video by the client; if so, returning to execute the step of determining whether the current condition of pausing the cache is met or not based on the probability that the target user triggers the seek behavior on the target video block and the current cache quantity of the client to the target video after waiting for the preset time; if the target video block is not met, the target video block is cached, and whether the preset pause caching condition is met or not is determined according to the probability that the user triggers the seek action on the target video block to be cached, so that the video caching progress can be controlled according to the probability that the target user triggers the seek action on the target video block before the target video block is cached, and the bandwidth waste caused by the fact that the video block corresponding to the seek action of the user is cached can be effectively avoided, and the bandwidth is saved.
Referring to fig. 6, a flowchart of an embodiment of a video buffering method according to another embodiment of the present invention is provided. The process shown in fig. 6 may include the following steps based on the process shown in fig. 5:
step 601, determining whether the current downloading mode is CDN downloading, if yes, executing step 602; if not, the process is ended.
As can be seen from the above description, if the client caches the video in the CDN manner, the technical problem of wasting the download bandwidth will be more remarkable due to the download cost, so in an embodiment, when the client caches the video in the CDN manner, the video caching method provided by the embodiment of the present invention is executed. That is, it is determined whether the current downloading mode is CDN downloading, if yes, step 602 is continuously performed; if not, the process is ended.
Step 602, before the client caches the target video block, determining a probability that the target user triggers seek behavior on the target video block, where the target video block is any video block that is located behind the current playing point and is not cached in the target video currently played by the client.
Step 603, determining whether a preset pause buffer condition is met currently or not based on the probability of triggering seek behavior on the target video block by the target user and the current buffer amount of the target video by the client, and if so, executing step 604; if not, go to step 605.
Step 604, after waiting for a preset period of time, returns to step 603.
Step 605, the target video block is cached.
The detailed descriptions of steps 602 to 605 can be referred to the descriptions of steps 201 to 204, and are not repeated here.
According to the technical scheme provided by the embodiment of the invention, whether the current downloading mode is CDN downloading is determined, if yes, the probability that a target user triggers the seek action on a target video block is determined, wherein the target video block is any video block which is positioned behind the current playing point and is not cached in the target video currently played by the client; then, whether the preset pause buffer condition is met or not can be determined based on the probability of triggering the seek behavior of the target video block by the target user and the current buffer quantity of the target video by the client, if so, the step of determining whether the preset pause buffer condition is met or not is performed after waiting for the preset time length; if not, the target video block is cached. Because the technical problem of wasting the downloading bandwidth is more remarkable due to the generation of the downloading cost if the client caches the video in the CDN mode, when the current downloading mode is determined to be CDN downloading, whether the preset pause caching condition is met or not is determined according to the probability that the user triggers the seek action on the target video block to be cached, the video caching progress is controlled according to the probability that the target user triggers the seek action on the target video block before the target video block is cached, and the bandwidth waste caused by the fact that the video block corresponding to the seek action of the user is cached can be effectively avoided, so that the bandwidth is saved.
Referring to fig. 7, a block diagram of an embodiment of a video buffering device according to an embodiment of the present invention is provided. As shown in fig. 7, the apparatus includes:
the determining module 71 is configured to determine, before the client caches the target video block, a probability that the target user triggers a seek behavior on the target video block, where the target video block is any video block that is located behind the current play point and is not cached in the target video currently played by the client;
a judging module 72, configured to determine whether a preset pause buffer condition is currently met based on a probability that the target user triggers a seek behavior on the target video block and a current buffer amount of the target video by the client;
an execution module 73, configured to return to execute the step of determining whether the preset pause buffer condition is currently satisfied based on the probability that the target user triggers the seek behavior on the target video block and the current buffer amount of the target video by the client after waiting for a preset time period if the preset pause buffer condition is currently satisfied;
and the caching module 74 is configured to cache the target video block if the preset pause caching condition is not met currently.
In one possible implementation, the determining module 71 includes (not shown in the figure):
a first determining unit for determining one or more of the following viewing behavior data: viewing behavior data of a target user in a preset historical time period, viewing behavior data of the target user on a currently played video, and viewing behavior data of a plurality of users on the target video block in the preset historical time period;
and the second determining unit is used for determining the probability of triggering seek behaviors of the target user on the target video block according to the determined one or more items of viewing behavior data.
In one possible embodiment, the second determining unit includes (not shown in the figure):
a first subunit, configured to determine a first probability value based on viewing behavior data of the target user in a preset historical time period; and/or the number of the groups of groups,
a second subunit, configured to determine a second probability value based on viewing behavior data of the target user on a currently played video; and/or the number of the groups of groups,
a third subunit configured to determine a third probability value based on viewing behavior data of the plurality of users for the target video block during the preset historical period;
And the determining subunit is used for determining the probability of triggering seek behaviors on the target video block by the target user according to the first probability value and/or the second probability value and/or the third probability value.
In one possible implementation, the determining module 72 includes (not shown in the figure):
a third determining unit, configured to determine a prediction buffer amount corresponding to the target video block based on a probability that the target user triggers a seek behavior on the target video block;
a comparison unit, configured to compare a predicted buffer size corresponding to the target video block with a current buffer size of the target video by the client;
a fourth determining unit, configured to determine that a preset pause buffer condition is currently met if it is compared that the current buffer amount of the client to the target video is greater than the predicted buffer amount corresponding to the target video block;
and the fifth determining unit is used for determining that the preset pause buffer condition is not met currently if the current buffer quantity of the client to the target video is smaller than or equal to the predicted buffer quantity corresponding to the target video block.
In a possible embodiment, the third determining unit is specifically configured to:
Dividing the length of the target video block by the current playing code rate to obtain the playing time consumption of the target video block;
dividing the length of the target video block by the current downloading speed to obtain the time consumption for downloading the target video block;
calculating the playing time consumption of the target video block, the probability of triggering seek behaviors of the target video block by the target user and the downloading time consumption of the target video block by using a preset formula to obtain a prediction buffer quantity corresponding to the target video block, wherein the preset formula is as follows: cn=cd (1-P) +t1+c0;
wherein Cn is a prediction buffer amount corresponding to the target video block, cd is a playing time consumption of the target video block, P is a probability that the target user triggers seek behavior on the target video block, T1 is a downloading time consumption of the target video block, and C0 is a preset constant value.
In one possible embodiment, the first subunit is specifically configured to:
determining the total number of first videos and the total number of second videos, which trigger seek behaviors in a preset historical time period, of the target user based on video watching behavior data of the target user in the preset historical time period;
Dividing the total number of the first videos triggering seek behaviors in a preset historical time period by the total number of the second videos by the target user to obtain the first probability value.
In one possible embodiment, the second subunit is specifically configured to:
determining the total number of first video blocks of seek occurring in the currently played video and the total number of second video blocks in the currently played video based on the watching behavior data of the target user on the currently played video;
dividing the total number of the first video blocks generating seek in the currently played video by the total number of the second video blocks in the currently played video to obtain a second probability value.
In one possible embodiment, the third subunit is specifically configured to:
determining a first total number of times the plurality of users trigger seek behaviors on the target video block in the preset historical time period and a total number of times the plurality of users watch the target video block based on the watching behavior data of the plurality of users on the target video block in the preset historical time period;
dividing the first total times of the plurality of users for triggering seek behaviors on the target video block in the preset historical time period by the total times of watching the target video block to obtain a third probability value.
In one possible embodiment, the apparatus further comprises (not shown in the figures):
the downloading mode determining module is used for determining whether the current downloading mode is CDN downloading or not;
and the probability determining module is used for determining the probability that the target user triggers the seek action on the target video block before caching the target video block if the current downloading mode is CDN downloading.
Fig. 8 is a schematic structural diagram of an electronic device according to an embodiment of the present invention, and an electronic device 800 shown in fig. 8 includes: at least one processor 801, memory 802, at least one network interface 804, and other user interfaces 803. The various components in the electronic device 800 are coupled together by a bus system 805. It is appreciated that the bus system 805 is used to enable connected communications between these components. The bus system 805 includes a power bus, a control bus, and a status signal bus in addition to the data bus. But for clarity of illustration, the various buses are labeled as bus system 805 in fig. 8.
The user interface 803 may include, among other things, a display, a keyboard, or a pointing device (e.g., a mouse, a trackball, a touch pad, or a touch screen, etc.).
It will be appreciated that the memory 802 in embodiments of the invention can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. The non-volatile memory may be a Read-only memory (ROM), a programmable Read-only memory (ProgrammableROM, PROM), an erasable programmable Read-only memory (ErasablePROM, EPROM), an electrically erasable programmable Read-only memory (ElectricallyEPROM, EEPROM), or a flash memory, among others. The volatile memory may be a random access memory (RandomAccessMemory, RAM) that acts as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), dynamic random access memory (DynamicRAM, DRAM), synchronous dynamic random access memory (SynchronousDRAM, SDRAM), double data rate synchronous dynamic random access memory (ddr SDRAM), enhanced Synchronous Dynamic Random Access Memory (ESDRAM), synchronous link dynamic random access memory (SynchlinkDRAM, SLDRAM), and direct memory bus random access memory (DirectRambusRAM, DRRAM). The memory 802 described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
In some implementations, the memory 802 stores the following elements, executable units or data structures, or a subset thereof, or an extended set thereof: an operating system 8021 and application programs 8022.
The operating system 8021 includes various system programs, such as a framework layer, a core library layer, a driver layer, and the like, for implementing various basic services and processing hardware-based tasks. The application 8022 includes various application programs such as a media player (MediaPlayer), a Browser (Browser), and the like for realizing various application services. The program for implementing the method of the embodiment of the present invention may be contained in the application program 8022.
In the embodiment of the present invention, by calling a program or an instruction stored in the memory 802, specifically, a program or an instruction stored in the application program 8022, the processor 801 is configured to perform method steps provided by each method embodiment, for example, including:
before a client caches a target video block, determining the probability of triggering seek behaviors on the target video block by a target user, wherein the target video block is any video block which is positioned behind a current playing point and is not cached in a target video currently played by the client;
Determining whether a preset pause buffer condition is met or not currently based on the probability that the target user triggers a seek action on the target video block and the current buffer quantity of the client side on the target video;
if so, returning to execute the step of determining whether the current buffer memory condition is met or not according to the probability of triggering the seek behavior on the target video block by the target user and the current buffer memory quantity of the target video by the client after waiting for the preset time;
and if not, controlling the client to cache the target video block.
The method disclosed in the above embodiment of the present invention may be applied to the processor 801 or implemented by the processor 801. The processor 801 may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuitry in hardware in the processor 801 or by instructions in software. The processor 801 described above may be a general purpose processor, a digital signal processor (DigitalSignalProcessor, DSP), an application specific integrated circuit (ApplicationSpecificIntegratedCircuit, ASIC), an off-the-shelf programmable gate array (FieldProgrammableGateArray, FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. The disclosed methods, steps, and logic blocks in the embodiments of the present invention may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present invention may be embodied directly in the execution of a hardware decoding processor, or in the execution of a combination of hardware and software elements in a decoding processor. The software elements may be located in a random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in a memory 802, and the processor 801 reads information in the memory 802 and, in combination with its hardware, performs the steps of the above method.
It is to be understood that the embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ApplicationSpecificIntegratedCircuits, ASIC), digital signal processors (DigitalSignalProcessing, DSP), digital signal processing devices (dspev), programmable logic devices (ProgrammableLogicDevice, PLD), field programmable gate arrays (Field-ProgrammableGateArray, FPGA), general purpose processors, controllers, micro-controllers, microprocessors, other electronic units configured to perform the functions described herein, or a combination thereof.
For a software implementation, the techniques described herein may be implemented by means of units that perform the functions described herein. The software codes may be stored in a memory and executed by a processor. The memory may be implemented within the processor or external to the processor.
The electronic device provided in this embodiment may be an electronic device as shown in fig. 8, and may perform all the steps of the video buffering method shown in fig. 2 to 3 or fig. 5 to 6, so as to achieve the technical effects of the video buffering method shown in fig. 2 to 3 or fig. 5 to 6, and the detailed description will be omitted herein for brevity.
The embodiment of the invention also provides a storage medium (computer readable storage medium). The storage medium here stores one or more programs. Wherein the storage medium may comprise volatile memory, such as random access memory; the memory may also include non-volatile memory, such as read-only memory, flash memory, hard disk, or solid state disk; the memory may also comprise a combination of the above types of memories.
When one or more programs in the storage medium are executable by one or more processors, the video buffering method executed on the electronic device side is implemented.
The processor is configured to execute a video buffering program stored in the memory, so as to implement the following steps of a video buffering method executed on the electronic device side:
before a client caches a target video block, determining the probability of triggering seek behaviors on the target video block by a target user, wherein the target video block is any video block which is positioned behind a current playing point and is not cached in a target video currently played by the client;
determining whether a preset pause buffer condition is met or not currently based on the probability that the target user triggers a seek action on the target video block and the current buffer quantity of the client side on the target video;
If so, returning to execute the step of determining whether the current buffer memory condition is met or not according to the probability of triggering the seek behavior on the target video block by the target user and the current buffer memory quantity of the target video by the client after waiting for the preset time;
and if not, controlling the client to cache the target video block.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative elements and steps are described above generally in terms of function in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied in hardware, in a software module executed by a processor, or in a combination of the two. The software modules may be disposed in Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The foregoing description of the embodiments has been provided for the purpose of illustrating the general principles of the invention, and is not meant to limit the scope of the invention, but to limit the invention to the particular embodiments, and any modifications, equivalents, improvements, etc. that fall within the spirit and principles of the invention are intended to be included within the scope of the invention.
Claims (11)
1. A video buffering method, the method comprising:
before a client caches a target video block, determining the probability of triggering seek behaviors by a target user on the target video block, wherein the target video block is any video block which is positioned behind a current playing point and is not cached in a target video currently played by the client;
determining whether a preset pause buffer condition is currently met or not based on the probability that the target user triggers seek behaviors on the target video block and the current buffer quantity of the client side on the target video, wherein the method comprises the following steps: determining a prediction buffer amount corresponding to the target video block based on the probability that the target user triggers seek behavior on the target video block; comparing the predicted cache quantity corresponding to the target video block with the current cache quantity of the target video by the client; if the current buffering quantity of the client to the target video is larger than the predicted buffering quantity corresponding to the target video block, determining that a preset pause buffering condition is met currently; if the current buffering quantity of the client to the target video is smaller than or equal to the predicted buffering quantity corresponding to the target video block, determining that the current buffering condition does not meet the preset pause buffering condition;
Wherein the determining the prediction buffer amount corresponding to the target video block based on the probability that the target user triggers seek behavior on the target video block includes: dividing the length of the target video block by the current playing code rate to obtain the playing time consumption of the target video block; dividing the length of the target video block by the current downloading speed to obtain the time consumption for downloading the target video block; calculating the playing time consumption of the target video block, the probability of triggering seek behaviors of the target video block by the target user and the downloading time consumption of the target video block to obtain the prediction buffer quantity of the target video block;
if so, returning to execute the step of determining whether the current buffer memory condition is met or not according to the probability of triggering the seek behavior on the target video block by the target user and the current buffer memory quantity of the target video by the client after waiting for the preset time;
and if not, controlling the client to cache the target video block.
2. The method of claim 1, wherein the determining the probability that the target user triggered seek behavior for the target video block comprises:
Determining one or more of the following viewing behavior data: viewing behavior data of a target user in a preset historical time period, viewing behavior data of the target user on a currently played video, and viewing behavior data of a plurality of users on the target video block in the preset historical time period;
and determining the probability of triggering seek behaviors on the target video block by the target user according to the determined one or more items of viewing behavior data.
3. The method of claim 2, wherein determining the probability that the target user triggers seek behavior on the target video block based on the determined one or more items of viewing behavior data comprises:
determining a first probability value based on the viewing behavior data of the target user in a preset historical time period; and/or the number of the groups of groups,
determining a second probability value based on viewing behavior data of the target user on the currently played video; and/or the number of the groups of groups,
determining a third probability value based on viewing behavior data of the plurality of users for the target video block within the preset historical period;
and determining the probability of triggering seek behaviors on the target video block by the target user according to the first probability value and/or the second probability value and/or the third probability value.
4. The method according to claim 1, wherein the obtaining the predicted buffer size of the target video block by performing operations on a playing time of the target video block, a probability that the target user triggers a seek behavior on the target video block, and a downloading time of the target video block includes:
calculating the playing time consumption of the target video block, the probability of triggering seek behaviors of the target video block by the target user and the downloading time consumption of the target video block by using a preset formula to obtain a prediction buffer quantity corresponding to the target video block, wherein the preset formula is as follows: cn=cd (1-P) +t1+c0;
wherein Cn is a prediction buffer amount corresponding to the target video block, cd is a playing time consumption of the target video block, P is a probability that the target user triggers seek behavior on the target video block, T1 is a downloading time consumption of the target video block, and C0 is a preset constant value.
5. The method of claim 3, wherein the determining a first probability value based on video viewing behavior data of the target user over a preset historical period of time comprises:
determining the total number of first videos and the total number of second videos, which trigger seek behaviors in a preset historical time period, of the target user based on video watching behavior data of the target user in the preset historical time period;
Dividing the total number of the first videos triggering seek behaviors in a preset historical time period by the total number of the second videos by the target user to obtain the first probability value.
6. The method of claim 3, wherein the determining a second probability value based on viewing behavior data of the target user for the currently playing video comprises:
determining the total number of first video blocks of seek occurring in the currently played video and the total number of second video blocks in the currently played video based on the watching behavior data of the target user on the currently played video;
dividing the total number of the first video blocks generating seek in the currently played video by the total number of the second video blocks in the currently played video to obtain a second probability value.
7. The method of claim 3, wherein the determining a third probability value based on the viewing behavior data of the target video block by the plurality of users over the preset historical period of time comprises:
determining a first total number of times the plurality of users trigger seek behaviors on the target video block in the preset historical time period and a total number of times the plurality of users watch the target video block based on the watching behavior data of the plurality of users on the target video block in the preset historical time period;
Dividing the first total times of the plurality of users for triggering seek behaviors on the target video block in the preset historical time period by the total times of watching the target video block to obtain a third probability value.
8. The method according to claim 1, wherein the method further comprises:
determining whether the current downloading mode is CDN downloading of a content delivery network;
if yes, the step of determining the probability that the target user triggers seek behaviors on the target video block before the target video block is cached is executed.
9. A video buffering apparatus, the apparatus comprising:
the determining module is used for determining the probability of triggering seek behaviors on the target video blocks by a target user before the target video blocks are cached by the client, wherein the target video blocks are any video blocks which are positioned behind the current playing point and are not cached in the target video currently played by the client;
the judging module is configured to determine whether a preset pause buffer condition is currently met based on a probability that the target user triggers a seek behavior on the target video block and a current buffer amount of the target video by the client, and includes: determining a prediction buffer amount corresponding to the target video block based on the probability that the target user triggers seek behavior on the target video block; comparing the predicted cache quantity corresponding to the target video block with the current cache quantity of the target video by the client; if the current buffering quantity of the client to the target video is larger than the predicted buffering quantity corresponding to the target video block, determining that a preset pause buffering condition is met currently; if the current buffering quantity of the client to the target video is smaller than or equal to the predicted buffering quantity corresponding to the target video block, determining that the current buffering condition does not meet the preset pause buffering condition;
Wherein the determining the prediction buffer amount corresponding to the target video block based on the probability that the target user triggers seek behavior on the target video block includes: dividing the length of the target video block by the current playing code rate to obtain the playing time consumption of the target video block; dividing the length of the target video block by the current downloading speed to obtain the time consumption for downloading the target video block; calculating the playing time consumption of the target video block, the probability of triggering seek behaviors of the target video block by the target user and the downloading time consumption of the target video block to obtain the prediction buffer quantity of the target video block;
the execution module is used for returning to execute the step of determining whether the preset pause buffer condition is met or not according to the probability of triggering the seek behavior of the target video block by the target user after waiting for the preset time period and the current buffer quantity of the target video by the client;
and the caching module is used for caching the target video block if the current pause caching condition is not met.
10. An electronic device, comprising: a processor and a memory, the processor being configured to execute a video caching program stored in the memory, to implement the video caching method of any one of claims 1 to 8.
11. A storage medium storing one or more programs executable by one or more processors to implement the video caching method of any one of claims 1-8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210442349.5A CN114900732B (en) | 2022-04-25 | 2022-04-25 | Video caching method and device, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210442349.5A CN114900732B (en) | 2022-04-25 | 2022-04-25 | Video caching method and device, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114900732A CN114900732A (en) | 2022-08-12 |
CN114900732B true CN114900732B (en) | 2024-01-12 |
Family
ID=82716988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210442349.5A Active CN114900732B (en) | 2022-04-25 | 2022-04-25 | Video caching method and device, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114900732B (en) |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011143946A1 (en) * | 2011-01-24 | 2011-11-24 | 华为技术有限公司 | Method and system for managing multilevel caches of edge server in cdn |
WO2018000624A1 (en) * | 2016-06-29 | 2018-01-04 | 乐视控股(北京)有限公司 | Video playing control method and device |
CN107888981A (en) * | 2017-11-16 | 2018-04-06 | 北京小米移动软件有限公司 | Audio frequency and video preload method, apparatus, equipment and storage medium |
CN108351873A (en) * | 2015-09-23 | 2018-07-31 | 华为技术有限公司 | A kind of buffer memory management method and device |
CN108495142A (en) * | 2018-04-11 | 2018-09-04 | 腾讯科技(深圳)有限公司 | Method for video coding and device |
CN109600437A (en) * | 2018-12-11 | 2019-04-09 | 网宿科技股份有限公司 | A kind of method for down loading and cache server of streaming media resource |
CN109639813A (en) * | 2018-12-24 | 2019-04-16 | 北京京东尚科信息技术有限公司 | Video file transfer processing method and processing device, electronic equipment and storage medium |
CN109769136A (en) * | 2018-12-07 | 2019-05-17 | 北京交通大学 | Online Video buffer memory management method and system based on instantaneous access rate value |
CN109769135A (en) * | 2018-12-07 | 2019-05-17 | 北京交通大学 | Online Video buffer memory management method and system based on joint-request rate |
CN109982159A (en) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | The method and terminal of online playing stream media |
CN110166817A (en) * | 2019-06-24 | 2019-08-23 | 北京奇艺世纪科技有限公司 | A kind of data cache method and relevant device |
CN110300315A (en) * | 2019-07-24 | 2019-10-01 | 北京达佳互联信息技术有限公司 | A kind of video code rate determines method, apparatus, electronic equipment and storage medium |
CN110312143A (en) * | 2019-07-25 | 2019-10-08 | 北京达佳互联信息技术有限公司 | Video code rate control method, device, electronic equipment and storage medium |
CN110430461A (en) * | 2019-08-28 | 2019-11-08 | 腾讯科技(深圳)有限公司 | A kind of method, apparatus and video playback apparatus controlling video playing |
CN110611829A (en) * | 2019-09-11 | 2019-12-24 | 北京达佳互联信息技术有限公司 | Video preloading method and device, electronic equipment and storage medium |
EP3712805A1 (en) * | 2019-03-19 | 2020-09-23 | Beijing Baidu Netcom Science And Technology Co. Ltd. | Gesture recognition method, device, electronic device, and storage medium |
CN112218114A (en) * | 2019-07-10 | 2021-01-12 | 中国电信股份有限公司 | Video cache control method, device and computer readable storage medium |
CN112423127A (en) * | 2020-11-20 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | Video loading method and device |
CN112672186A (en) * | 2020-12-09 | 2021-04-16 | 北京达佳互联信息技术有限公司 | Video preloading method and device |
CN113691859A (en) * | 2021-09-16 | 2021-11-23 | 百果园技术(新加坡)有限公司 | Video caching method, device, equipment and medium |
CN113810773A (en) * | 2021-09-17 | 2021-12-17 | 北京百度网讯科技有限公司 | Video downloading method and device, electronic equipment and storage medium |
-
2022
- 2022-04-25 CN CN202210442349.5A patent/CN114900732B/en active Active
Patent Citations (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102439934A (en) * | 2011-01-24 | 2012-05-02 | 华为技术有限公司 | Method and system for managing multilevel caches of edge server in cdn |
WO2011143946A1 (en) * | 2011-01-24 | 2011-11-24 | 华为技术有限公司 | Method and system for managing multilevel caches of edge server in cdn |
CN108351873A (en) * | 2015-09-23 | 2018-07-31 | 华为技术有限公司 | A kind of buffer memory management method and device |
WO2018000624A1 (en) * | 2016-06-29 | 2018-01-04 | 乐视控股(北京)有限公司 | Video playing control method and device |
CN107888981A (en) * | 2017-11-16 | 2018-04-06 | 北京小米移动软件有限公司 | Audio frequency and video preload method, apparatus, equipment and storage medium |
CN109982159A (en) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | The method and terminal of online playing stream media |
CN108495142A (en) * | 2018-04-11 | 2018-09-04 | 腾讯科技(深圳)有限公司 | Method for video coding and device |
CN109769136A (en) * | 2018-12-07 | 2019-05-17 | 北京交通大学 | Online Video buffer memory management method and system based on instantaneous access rate value |
CN109769135A (en) * | 2018-12-07 | 2019-05-17 | 北京交通大学 | Online Video buffer memory management method and system based on joint-request rate |
CN109600437A (en) * | 2018-12-11 | 2019-04-09 | 网宿科技股份有限公司 | A kind of method for down loading and cache server of streaming media resource |
CN109639813A (en) * | 2018-12-24 | 2019-04-16 | 北京京东尚科信息技术有限公司 | Video file transfer processing method and processing device, electronic equipment and storage medium |
EP3712805A1 (en) * | 2019-03-19 | 2020-09-23 | Beijing Baidu Netcom Science And Technology Co. Ltd. | Gesture recognition method, device, electronic device, and storage medium |
CN110166817A (en) * | 2019-06-24 | 2019-08-23 | 北京奇艺世纪科技有限公司 | A kind of data cache method and relevant device |
CN112218114A (en) * | 2019-07-10 | 2021-01-12 | 中国电信股份有限公司 | Video cache control method, device and computer readable storage medium |
CN110300315A (en) * | 2019-07-24 | 2019-10-01 | 北京达佳互联信息技术有限公司 | A kind of video code rate determines method, apparatus, electronic equipment and storage medium |
CN110312143A (en) * | 2019-07-25 | 2019-10-08 | 北京达佳互联信息技术有限公司 | Video code rate control method, device, electronic equipment and storage medium |
CN110430461A (en) * | 2019-08-28 | 2019-11-08 | 腾讯科技(深圳)有限公司 | A kind of method, apparatus and video playback apparatus controlling video playing |
CN110611829A (en) * | 2019-09-11 | 2019-12-24 | 北京达佳互联信息技术有限公司 | Video preloading method and device, electronic equipment and storage medium |
CN112423127A (en) * | 2020-11-20 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | Video loading method and device |
CN112672186A (en) * | 2020-12-09 | 2021-04-16 | 北京达佳互联信息技术有限公司 | Video preloading method and device |
CN113691859A (en) * | 2021-09-16 | 2021-11-23 | 百果园技术(新加坡)有限公司 | Video caching method, device, equipment and medium |
CN113810773A (en) * | 2021-09-17 | 2021-12-17 | 北京百度网讯科技有限公司 | Video downloading method and device, electronic equipment and storage medium |
Non-Patent Citations (1)
Title |
---|
基于用户行为分析的视频点播系统优化技术研究;赵扬;中国优秀博士学位论文全文数据库(电子期刊);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114900732A (en) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10389838B2 (en) | Client-side predictive caching for content | |
US20180343475A1 (en) | Uninterrupted playback of video streams using lower quality cached files | |
CN110933482B (en) | Video loading method and device, computer readable storage medium and computer equipment | |
US9271015B2 (en) | Systems and methods for loading more than one video content at a time | |
US9942347B2 (en) | Dynamically adjusting media content cache size | |
CN112672186B (en) | Video preloading method and device | |
CN112738633B (en) | Video playing method, device, equipment and readable storage medium | |
US9531613B2 (en) | Modifying network site behavior using session-level performance metrics | |
CN111404713B (en) | Network resource adjusting method, device and storage medium | |
JP7386990B2 (en) | Video playback methods, devices, equipment and computer programs | |
US9674063B2 (en) | Managing data usage of a computing device | |
US20170104800A1 (en) | Performance optimization for streaming video | |
CN110740174A (en) | File downloading speed limiting method and device and electronic equipment | |
CN109067916B (en) | Online multimedia file downloading method and device and electronic equipment | |
US10579229B2 (en) | Customizable media player framework | |
CN114900732B (en) | Video caching method and device, electronic equipment and storage medium | |
Pleşca et al. | Multimedia prefetching with optimal Markovian policies | |
CN114040245A (en) | Video playing method and device, computer storage medium and electronic equipment | |
CN115623230A (en) | Live video playing method and device, electronic equipment and storage medium | |
CN114491096A (en) | Multimedia preloading method, device, equipment and storage medium | |
US12014188B2 (en) | Systems and methods for preprocessing application functions for faster startup | |
US20050144393A1 (en) | Dedicated cache memory | |
CN112437352A (en) | Video merging and playing method and device | |
CN111182330A (en) | Video playing method and device | |
Hung et al. | An Effective Segment Pre-Fetching for Short-Form Video Streaming |
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 |