Adaptive playback rate with look-ahead
First Claim
1. A method, comprising:
- employing a processor executing computer executable instructions embodied on at least one non-transitory computer readable medium to perform operations comprising;
downloading a first media file from a media server at a throughput rate and concurrently playing the first media file, wherein the first media file is a first version of a media asset, the first media file is encoded at a variable bit rate and has a first overall average playback rate less than or equal to the throughput rate, the first media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates;
forecasting an interruption will occur in playing of the first media file by identifying an undownloaded portion of the first media file that has a portion average playback rate that is greater than the throughput rate;
in response to forecasting the interruption;
selecting a second media file where a portion average playback rate of the second media file for a portion that is within the second media file and that corresponds to the undownloaded portion is less than or equal to the throughput rate, wherein the second media file is a second version of the media asset, the second media file is encoded at a variable bit rate and has a second overall average playback rate that is lower than the first overall average playback rate, the second media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates;
identifying a first playback point in the first and second media files correlated to the undownloaded portion;
downloading one or more portions of the second media file that include at least the first playback point and the portion within the second media file that corresponds to the undownloaded portion; and
transitioning playing of the first media file to playing the second media file at the identified first playback point.
4 Assignments
0 Petitions
Accused Products
Abstract
The disclosure provides for a download agent executing on a computing device to dynamically select between media files when a portion of the media file that is currently being downloaded has a portion average playback rate that is greater than a throughput rate at which the computing device is receiving media files. During the portion where the portion average playback rate is greater than the throughput rate, the download agent may dynamically transition to a different media file where the portion average playback rate for the portion is less than or equal to the throughput rate. The download agent may then transition back to the original media file after downloading the portion form the different media file.
-
Citations
28 Claims
-
1. A method, comprising:
employing a processor executing computer executable instructions embodied on at least one non-transitory computer readable medium to perform operations comprising; downloading a first media file from a media server at a throughput rate and concurrently playing the first media file, wherein the first media file is a first version of a media asset, the first media file is encoded at a variable bit rate and has a first overall average playback rate less than or equal to the throughput rate, the first media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates; forecasting an interruption will occur in playing of the first media file by identifying an undownloaded portion of the first media file that has a portion average playback rate that is greater than the throughput rate; in response to forecasting the interruption; selecting a second media file where a portion average playback rate of the second media file for a portion that is within the second media file and that corresponds to the undownloaded portion is less than or equal to the throughput rate, wherein the second media file is a second version of the media asset, the second media file is encoded at a variable bit rate and has a second overall average playback rate that is lower than the first overall average playback rate, the second media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates; identifying a first playback point in the first and second media files correlated to the undownloaded portion; downloading one or more portions of the second media file that include at least the first playback point and the portion within the second media file that corresponds to the undownloaded portion; and transitioning playing of the first media file to playing the second media file at the identified first playback point. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
15. A non-transitory computer-readable storage medium comprising instructions that cause one or more processors to perform operations comprising:
-
downloading a first media file from a media server at a throughput rate and concurrently play the first media file, wherein the first media file is a first version of a media asset, the first media file is encoded at a variable bit rate and has a first overall average playback rate less than or equal to the throughput rate, the first media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates; forecasting an interruption will occur in playing of the first media file by identifying an undownloaded portion of the first media file that has a portion average playback rate that is greater than the throughput rate; in response to forecasting the interruption; selecting a second media file where a portion average playback rate of the second media file for a portion that is within the second media file and that corresponds to the undownloaded portion is less than or equal to the throughput rate, wherein the second media file is a second version of the media asset, the second media file is encoded at a variable bit rate and has a second overall average playback rate that is lower than the first overall average playback rate, the second media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates; identifying a playback point in the first and second media files correlated to the undownloaded portion; downloading one or more portions of the second media file that include at least the playback point and the portion within the second media file that corresponds to the undownloaded portion; and transitioning playing of the first media file to playing the second media file at the identified playback point.
-
-
16. A system, comprising:
-
a processor; a memory communicatively coupled to processor, the memory having stored therein computer-executable instructions, comprising; a playback controller that; downloads a first media file from a media server at a throughput rate and concurrently plays the first media file, wherein the first media file is a first version of a media asset, the first media file is encoded at a variable bit rate and has a first overall average playback rate less than or equal to the throughput rate, the first media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates; forecasts an interruption will occur in playing of the first media file by identifying an undownloaded portion of the first media file that has a portion average playback that is greater than the throughput rate; and in response to forecasting the interruption; selects a second media file where a portion average playback rate of the second media file for a portion that is within the second media file and that corresponds to the undownloaded portion is less than or equal to the throughput rate, wherein the second media file is a second version of the media asset, the second media file is encoded at a variable bit rate and has a second overall average playback rate that is lower than the first overall average playback rate, the second media file has a plurality of portions with respective portion average playback rates, wherein at least two portions have different portion average playback rates; identifies a first playback point in the first and second media files correlated to the undownloaded portion; and downloads one or more portions of the second media file that include at least the first playback point and the portion within the second media file that corresponds to the undownloaded portion; and a source manager that transitions playing of the first media file to playing the second media file at the identified first playback point. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification