Uninterrupted playback of video streams using lower quality cached files
First Claim
1. A non-transitory computer-readable medium embodying at least one program executable in at least one computing device, wherein when executed the at least one program causes the at least one computing device to at least:
- determine a plurality of video files to be predictively cached based at least in part on a viewing history of a user, the plurality of video files corresponding to a plurality of video content features;
obtain the plurality of video files before the user expresses an interest in playing any of the plurality of video content features;
obtain a directive from the user to play a particular video content feature of the plurality of video content features;
in response to the directive, obtain a video stream corresponding to the particular video content feature, the video stream having a higher bitrate than one of the plurality of video files that corresponds to the particular video content feature;
render the video stream upon a display;
detect an interruption in the video stream at a particular time in the particular video content feature;
render the one of the plurality of video files upon the display in place of the video stream beginning at the particular time in response to detecting the interruption; and
resume rendering of the video stream in place of the one of the plurality of video files at a later time in the particular video content feature when the video stream becomes available.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed are various embodiments for facilitating uninterrupted playback of video streams using lower quality cached files. A video file corresponding to an entirety of a video content feature encoded at a first quality is obtained. A video stream corresponding to the video content feature encoded at a second quality higher than the first quality is then obtained. The video stream is rendered for playback on a display. In response to detecting an unavailability of the video stream at a particular time in the video content feature, the video file is rendered for playback on the display in place of the video stream and commences at the particular time in the video content feature.
54 Citations
20 Claims
-
1. A non-transitory computer-readable medium embodying at least one program executable in at least one computing device, wherein when executed the at least one program causes the at least one computing device to at least:
-
determine a plurality of video files to be predictively cached based at least in part on a viewing history of a user, the plurality of video files corresponding to a plurality of video content features; obtain the plurality of video files before the user expresses an interest in playing any of the plurality of video content features; obtain a directive from the user to play a particular video content feature of the plurality of video content features; in response to the directive, obtain a video stream corresponding to the particular video content feature, the video stream having a higher bitrate than one of the plurality of video files that corresponds to the particular video content feature; render the video stream upon a display; detect an interruption in the video stream at a particular time in the particular video content feature; render the one of the plurality of video files upon the display in place of the video stream beginning at the particular time in response to detecting the interruption; and resume rendering of the video stream in place of the one of the plurality of video files at a later time in the particular video content feature when the video stream becomes available. - View Dependent Claims (2)
-
-
3. A system, comprising:
-
a computing device; and a video player application executable in the computing device, wherein when executed the video player application causes the computing device to at least; determine a plurality of video files to be predictively cached based at least in part on a viewing history of a user, the plurality of video files corresponding to a plurality of video content features; obtain the plurality of video files before the user expresses an interest in playing any of the plurality of video content features; obtain a directive from the user to play a particular video content feature of the plurality of video content features; in response to the directive, obtain a video stream corresponding to the particular video content feature, the video stream having a higher bitrate than one of the plurality of video files that corresponds to the particular video content feature; render the video stream upon a display; detect an interruption in the video stream at a particular time in the particular video content feature; render the one of the plurality of video files upon the display in place of the video stream beginning at the particular time in response to detecting the interruption; and resume rendering of the video stream in place of the one of the plurality of video files at a later time in the particular video content feature when the video stream becomes available. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10)
-
-
11. A method, comprising:
-
determining, by at least one computing device, a plurality of video files to be predictively cached based at least in part on a viewing history of a user, the plurality of video files corresponding to a plurality of video content features; obtaining, by the at least one computing device, the plurality of video files before the user expresses an interest in playing any of the plurality of video content features; obtaining, by the at least one computing device, a directive from the user to play a particular video content feature of the plurality of video content features; in response to the directive, obtaining, by the at least one computing device, a video stream corresponding to the particular video content feature, the video stream having a higher bitrate than one of the plurality of video files that corresponds to the particular video content feature; rendering, by the at least one computing device, the video stream upon a display; detecting, by the at least one computing device, an interruption in the video stream at a particular time in the particular video content feature; rendering, by the at least one computing device, the one of the plurality of video files upon the display in place of the video stream beginning at the particular time in response to detecting the interruption; and resuming, by the at least one computing device, rendering of the video stream in place of the one of the plurality of video files at a later time in the particular video content feature when the video stream becomes available. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification