US2021076086A1PendingUtilityA1

Digital data streaming using server driven adaptive bitrate

Assignee: PLEX INCPriority: Apr 17, 2017Filed: Nov 19, 2020Published: Mar 11, 2021
Est. expiryApr 17, 2037(~10.7 yrs left)· nominal 20-yr term from priority
H04L 65/752H04L 65/762H04N 21/23439H04N 21/2402H04N 21/234309H04L 65/80H04L 65/602
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method and system for server driven adaptive transcoding is provided. A transcoding server computer may initially receive a first portion of a particular media file from a media file repository. The transcoding server computer may transcode the first portion of the particular media file into a first transcoded media segment of a first quality and send the first transcoded segment to a client computing device. The transcoding server computer may receive a second portion of the particular media file from the media file repository, transcode the second portion of the particular media file into a second transcoded media segment of a second quality different than the first quality, and send the second transcoded media segment to the client computing device.

Claims

exact text as granted — not AI-modified
1 . A method comprising, by a computing system:
 transcoding a first portion of a media file into a first transcoded media segment;   providing the first transcoded media segment to a client computing device;   in response to determining that a second portion of the media file is to be transcoded to a media segment, transcoding the second portion of the media file to the second transcoded media segment of the second quality;   providing the second transcoded media segment to the client computing device;   determining, at the transcoding server computer, a buffering threshold, wherein the buffering threshold corresponds at least in part to a buffer capacity of the client computing device;   receiving, from the client computing device, first playback data identifying a first playback timestamp;   determining that a first difference between a transcoded amount of the media file sent to the client computing device and the first playback timestamp exceeds the buffering threshold;   receiving, from the client computing device, second playback data identifying a second playback timestamp; and   in response to determining that a second difference between the transcoded amount of the media file sent to the client computing device and the second playback timestamp does not exceed the buffering threshold, transcoding a third portion of the media file into a third transcoded media segment.   
     
     
         2 . The method of  claim 1 , wherein the first transcoded media segment comprises a first quality, and wherein the second transcoded media segment comprises a second quality. 
     
     
         3 . The method of  claim 1 , further comprising providing the third transcoded media segment to the client computing device. 
     
     
         4 . The method of  claim 3 , further comprising:
 in response to determining that the second difference between the transcoded amount of the media file sent to the client computing device and the second playback timestamp exceeds the buffering threshold, forgoing transcoding the third portion of the media file into the third transcoded media segment for a period of time.   
     
     
         5 . The method of  claim 1 , further comprising estimating the buffer capacity of the client computing device based at least in part on the first playback timestamp or the second playback timestamp. 
     
     
         6 . The method of  claim 1 , wherein the buffering threshold comprises a numerical value, a device-specific value, or an application-specific value. 
     
     
         7 . The method of  claim 1 , wherein determining, at the transcoding server computer, the buffering threshold comprises adjusting a value of the buffering threshold value to generate one or more bursts of high speed downloads by the client computing device. 
     
     
         8 . A computer system, comprising:
 one or more non-transitory computer-readable storage media including instructions; and   one or more processors coupled to the storage media, the one or more processors configured to execute the instructions to:
 transcode a first portion of a media file into a first transcoded media segment; 
 provide the first transcoded media segment to a client computing device; 
 in response to determining that a second portion of the media file is to be transcoded to a media segment, transcode the second portion of the media file to the second transcoded media segment of the second quality; 
 provide the second transcoded media segment to the client computing device; 
 determine, at the transcoding server computer, a buffering threshold, wherein the buffering threshold corresponds at least in part to a buffer capacity of the client computing device; 
 receive, from the client computing device, first playback data identifying a first playback timestamp; 
 determine that a first difference between a transcoded amount of the media file sent to the client computing device and the first playback timestamp exceeds the buffering threshold; 
 receive, from the client computing device, second playback data identifying a second playback timestamp; and 
 in response to determining that a second difference between the transcoded amount of the media file sent to the client computing device and the second playback timestamp does not exceed the buffering threshold, transcode a third portion of the media file into a third transcoded media segment. 
   
     
     
         9 . The system of  claim 8 , wherein the first transcoded media segment comprises a first quality, and wherein the second transcoded media segment comprises a second quality. 
     
     
         10 . The system of  claim 8 , the one or more processors being further configured to execute the instructions to provide the third transcoded media segment to the client computing device. 
     
     
         11 . The system of  claim 10 , the one or more processors being further configured to execute the instructions to execute, in response to determining that the second difference between the transcoded amount of the media file sent to the client computing device and the second playback timestamp exceeds the buffering threshold, forgo transcode the third portion of the media file into the third transcoded media segment for a period of time. 
     
     
         12 . The system of  claim 8 , the one or more processors being further configured to execute the instructions to estimate the buffer capacity of the client computing device based at least in part on the first playback timestamp or the second playback timestamp. 
     
     
         13 . The system of  claim 8 , wherein the buffering threshold comprises a numerical value, a device-specific value, or an application-specific value. 
     
     
         14 . The system of  claim 8 , wherein, to determine the buffering threshold, the one or more processors being further configured to adjust a value of the buffering threshold value to generate one or more bursts of high speed downloads by the client computing device. 
     
     
         15 . A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of a computing device, cause the one or more processors to:
 transcode a first portion of a media file into a first transcoded media segment;   provide the first transcoded media segment to a client computing device;   in response to determining that a second portion of the media file is to be transcoded to a media segment, transcode the second portion of the media file to the second transcoded media segment of the second quality;   provide the second transcoded media segment to the client computing device;   determine, at the transcoding server computer, a buffering threshold, wherein the buffering threshold corresponds at least in part to a buffer capacity of the client computing device;   receive, from the client computing device, first playback data identifying a first playback timestamp;   determine that a first difference between a transcoded amount of the media file sent to the client computing device and the first playback timestamp exceeds the buffering threshold;   receive, from the client computing device, second playback data identifying a second playback timestamp; and   in response to determining that a second difference between the transcoded amount of the media file sent to the client computing device and the second playback timestamp does not exceed the buffering threshold, transcode a third portion of the media file into a third transcoded media segment.   
     
     
         16 . The non-transitory computer-readable medium of  claim 15 , wherein the first transcoded media segment comprises a first quality, and wherein the second transcoded media segment comprises a second quality. 
     
     
         17 . The non-transitory computer-readable medium of  claim 15 , wherein the instructions further comprise instructions to cause the one or more processors to provide the third transcoded media segment to the client computing device. 
     
     
         18 . The non-transitory computer-readable medium of  claim 17 , wherein the instructions further comprise instructions to cause the one or more processors to execute, in response to determining that the second difference between the transcoded amount of the media file sent to the client computing device and the second playback timestamp exceeds the buffering threshold, forgo transcode the third portion of the media file into the third transcoded media segment for a period of time. 
     
     
         19 . The non-transitory computer-readable medium of  claim 15 , wherein the instructions further comprise instructions to cause the one or more processors to estimate the buffer capacity of the client computing device based at least in part on the first playback timestamp or the second playback timestamp. 
     
     
         20 . The non-transitory computer-readable medium of  claim 15 , wherein the instructions to determine the buffering threshold further comprise instructions to cause the one or more processors to adjust a value of the buffering threshold value to generate one or more bursts of high speed downloads by the client computing device.

Join the waitlist — get patent alerts

Track US2021076086A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.