IP Library Granted Patent US 12,610,092
Granted Patent B2
US 12,610,092 · App. 18/805,480 · Granted Apr 21, 2026

System and method for converting adaptive stream to downloadable media

Inventors: Bradley Reitmeyer (Allen, TX); Paul Martel (Richardson, TX); Christopher Joel Ribble (Garland, TX)
Assignee: RESI MEDIA, LLC
H04N21/2187H04L65/612H04L65/765H04N21/2365H04N21/2743H04N21/432H04N21/440218H04N21/63345H04N21/63775H04N21/8456
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,610,092
App. No.
18/805,480
Granted
Apr 21, 2026
Kind
B2
Abstract

A system for converting an adaptive media stream to downloadable media includes at least one network interface, at least one memory, and at least one processor. The at least one processor is configured to receive, from a requesting device, a request for converting at least a portion of a media stream into a downloadable multimedia container, initialize a plurality of worker threads, retrieve, via one of the plurality of worker threads, a segment of the media stream from a storage location, concatenate, via the one of the plurality of worker threads, the retrieved segment into a multimedia container, determine that each segment of the media stream associated with the at least a portion of the media stream is included in the multimedia container, and transmit, via the at least one network interface, the multimedia container to the requesting device.

Claims (62)

1 . A method comprising:

accessing, by one or more processors, media frames included in a requested portion of a media stream;

adding, by the one or more processors, the media frames to a media file that corresponds to the requested portion of the media stream; and

by the one or more processors and based on a determination that the media file includes the requested portion of the media stream, providing the media file to a device that requested the portion of the media stream.

2 . The method of claim 1 , wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes concatenating the media file into the media file that corresponds to the requested portion of the media stream.

3 . The method of claim 1 , wherein:

the accessing of the media frames included in the requested portion of the media stream is performed by a first executing thread among a plurality of executing threads; and

the adding of the media frames to the media file that corresponds to the requested portion of the media stream is performed by the first executing thread among the plurality of executing threads.

4 . The method of claim 1 , further comprising:

receiving a request from the device to obtain the requested portion of the media stream at a requested resolution; and wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes transcoding the media frames based on the requested resolution.

5 . The method of claim 1 , further comprising:

receiving a request from the device to obtain the requested portion of the media stream at a requested bitrate; and wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes transcoding the media frames based on the requested bitrate.

6 . The method of claim 1 , further comprising:

receiving a request from the device to obtain the requested portion of the media stream, the request specifying a cropping parameter; and wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes transcoding the media frames based on the cropping parameter specified by the received request.

7 . The method of claim 1 , further comprising:

receiving a request from the device to obtain the requested portion of the media stream, the request specifying a resizing parameter; and wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes transcoding the media frames based on the resizing parameter specified by the received request.

8 . A system comprising:

one or more processors; and

a memory storing instructions that, when executed by at least one processor among the one or more processors, cause the system to perform operations comprising:

accessing media frames included in a requested portion of a media stream;

adding the media frames to a media file that corresponds to the requested portion of the media stream; and

based on a determination that the media file includes the requested portion of the media stream, providing the media file to a device that requested the portion of the media stream.

9 . The system of claim 8 , wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes concatenating the media file into the media file that corresponds to the requested portion of the media stream.

10 . The system of claim 8 , wherein:

the accessing of the media frames included in the requested portion of the media stream is performed by a first executing thread among a plurality of executing threads; and

the adding of the media frames to the media file that corresponds to the requested portion of the media stream is performed by the first executing thread among the plurality of executing threads.

11 . The system of claim 8 , wherein the operations further comprise:

receiving a request from the device to obtain the requested portion of the media stream at a requested resolution; and wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes transcoding the media frames based on the requested resolution.

12 . The system of claim 8 , wherein the operations further comprise:

receiving a request from the device to obtain the requested portion of the media stream at a requested bitrate; and wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes transcoding the media frames based on the requested bitrate.

13 . The system of claim 8 , wherein the operations further comprise:

receiving a request from the device to obtain the requested portion of the media stream, the request specifying a cropping parameter; and wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes transcoding the media frames based on the cropping parameter specified by the received request.

14 . The system of claim 8 , wherein the operations further comprise:

receiving a request from the device to obtain the requested portion of the media stream, the request specifying a resizing parameter; and wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes transcoding the media frames based on the resizing parameter specified by the received request.

15 . A non-transitory machine-readable medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

accessing media frames included in a requested portion of a media stream;

adding the media frames to a media file that corresponds to the requested portion of the media stream; and

based on a determination that the media file includes the requested portion of the media stream, providing the media file to a device that requested the portion of the media stream.

16 . The non-transitory machine-readable medium of claim 15 , wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes concatenating the media file into the media file that corresponds to the requested portion of the media stream.

17 . The non-transitory machine-readable medium of claim 15 , wherein:

the accessing of the media frames included in the requested portion of the media stream is performed by a first executing thread among a plurality of executing threads; and

the adding of the media frames to the media file that corresponds to the requested portion of the media stream is performed by the first executing thread among the plurality of executing threads.

18 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

receiving a request from the device to obtain the requested portion of the media stream at a requested resolution; and wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes transcoding the media frames based on the requested resolution.

19 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

receiving a request from the device to obtain the requested portion of the media stream at a requested bitrate; and wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes transcoding the media frames based on the requested bitrate.

20 . The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise:

receiving a request from the device to obtain the requested portion of the media stream, the request specifying a cropping parameter; and wherein:

the adding of the media frames to the media file that corresponds to the requested portion of the media stream includes transcoding the media frames based on the cropping parameter specified by the received request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2024
From: REITMEYER, BRADLEY; MARTEL, PAUL; RIBBLE, CHRISTOPHER JOEL
To: RESI MEDIA LLC
Reel/Frame 068386/0294 →
Continuity (10)
Continuation 18357032 · Jul 21, 2023
Continuation 17844696 · Jun 20, 2022
Continuation 17206250 · Mar 19, 2021
Continuation In Part 17198307 · Mar 11, 2021
Continuation 16710660 · Dec 11, 2019
Continuation 16017474 · Jun 25, 2018
Continuation In Part 15944312 · Apr 3, 2018
Continuation 15462816 · Mar 18, 2017
Continuation 15252368 · Aug 31, 2016
Related Publication 20240406464A1 · Dec 5, 2024
References Cited (112)
US 6389473B1 · Carmel et al. · 2002 [cited by applicant]
US 7047309B2 · Baumann et al. · 2006 [cited by applicant]
US 8223766B2 · Matsumoto et al. · 2012 [cited by applicant]
US 8285867B1 · Edelman et al. · 2012 [cited by applicant]
US 8396960B2 · Martinez et al. · 2013 [cited by applicant]
US 8762642B2 · Bates et al. · 2014 [cited by applicant]
US 8935432B1 · Mcgowan et al. · 2015 [cited by applicant]
US 9167275B1 · Daily et al. · 2015 [cited by applicant]
US 9602846B1 · Martel et al. · 2017 [cited by applicant]
US 9686574B2 · Daily et al. · 2017 [cited by applicant]
US 9912710B2 · Duerring · 2018 [cited by applicant]
US 9936228B2 · Martel et al. · 2018 [cited by applicant]
US 10154317B2 · Daily et al. · 2018 [cited by applicant]
US 10200729B2 · Daily et al. · 2019 [cited by applicant]
US 10327013B2 · Martel et al. · 2019 [cited by applicant]
US 10511864B2 · Reitmeyer et al. · 2019 [cited by applicant]
US 10951925B2 · Reitmeyer et al. · 2021 [cited by applicant]
US 11044503B1 · Daily et al. · 2021 [cited by applicant]
US 11405661B2 · Reitmeyer et al. · 2022 [cited by applicant]
US 11412272B2 · Reitmeyer et al. · 2022 [cited by applicant]
US 11758200B2 · Reitmeyer et al. · 2023 [cited by applicant]
US 12088859B2 · Reitmeyer · 2024 [cited by examiner]
US 20030079222A1 · Boykin et al. · 2003 [cited by applicant]
US 20040215718A1 · Kazmi et al. · 2004 [cited by applicant]
US 20040255335A1 · Fickle et al. · 2004 [cited by applicant]
US 20060159098A1 · Munson et al. · 2006 [cited by applicant]
US 20070050834A1 · Royo et al. · 2007 [cited by applicant]
US 20090003600A1 · Chen et al. · 2009 [cited by applicant]
US 20090037967A1 · Barkan et al. · 2009 [cited by applicant]
US 20090094652A1 · Al Adham et al. · 2009 [cited by applicant]
US 20090210915A1 · Millman et al. · 2009 [cited by applicant]
US 20110069750A1 · Chengalvala et al. · 2011 [cited by applicant]
US 20110211036A1 · Tran · 2011 [cited by applicant]
US 20110252118A1 · Pantos et al. · 2011 [cited by applicant]
US 20120110609A1 · Guo et al. · 2012 [cited by applicant]
US 20120158802A1 · Lakshmanan et al. · 2012 [cited by applicant]
US 20120311094A1 · Biderman et al. · 2012 [cited by applicant]
US 20130117418A1 · Mutton et al. · 2013 [cited by applicant]
US 20130276048A1 · Krasic et al. · 2013 [cited by applicant]
US 20130308440A1 · Grossman · 2013 [cited by applicant]
US 20140038535A1 · Bingham · 2014 [cited by applicant]
US 20140119457A1 · Macinnis et al. · 2014 [cited by applicant]
US 20140139733A1 · Macinnis et al. · 2014 [cited by applicant]
US 20140165118A1 · Garcia Mendoza et al. · 2014 [cited by applicant]
US 20140165120A1 · Losev et al. · 2014 [cited by applicant]
US 20140189761A1 · Sood et al. · 2014 [cited by applicant]
US 20140321554A1 · Cheung et al. · 2014 [cited by applicant]
US 20140337903A1 · Zhu et al. · 2014 [cited by applicant]
US 20150201042A1 · Shah et al. · 2015 [cited by applicant]
US 20150208103A1 · Guntur et al. · 2015 [cited by applicant]
US 20150244757A1 · Zhuang et al. · 2015 [cited by applicant]
US 20150249845A1 · Tirosh et al. · 2015 [cited by applicant]
US 20150296274A1 · Good et al. · 2015 [cited by applicant]
US 20150350711A1 · Guzik · 2015 [cited by applicant]
US 20160050453A1 · Cottrell et al. · 2016 [cited by applicant]
US 20160080807A1 · Trimper et al. · 2016 [cited by applicant]
US 20160119679A1 · Randall et al. · 2016 [cited by applicant]
US 20160127440A1 · Gordon · 2016 [cited by applicant]
US 20160142752A1 · Ohno et al. · 2016 [cited by applicant]
US 20160316235A1 · Van Veldhuisen · 2016 [cited by applicant]
US 20160359817A1 · Mullen et al. · 2016 [cited by applicant]
US 20170006253A1 · Martin · 2017 [cited by applicant]
US 20170126775A1 · Schwebke et al. · 2017 [cited by applicant]
US 20180063557A1 · Martel et al. · 2018 [cited by applicant]
US 20180091827A1 · Chou et al. · 2018 [cited by applicant]
US 20180146222A1 · Soroushian · 2018 [cited by applicant]
US 20180227602A1 · Martel et al. · 2018 [cited by applicant]
US 20180288451A1 · Asif et al. · 2018 [cited by applicant]
US 20180310032A1 · Reitmeyer et al. · 2018 [cited by applicant]
US 20190140978A1 · Babcock et al. · 2019 [cited by applicant]
US 20210289234A1 · Reitmeyer et al. · 2021 [cited by applicant]
US 20210297709A1 · Reitmeyer et al. · 2021 [cited by applicant]
US 20220394312A1 · Reitmeyer et al. · 2022 [cited by applicant]
US 20230362418A1 · Reitmeyer et al. · 2023 [cited by applicant]
CN 106791932A · 2017 [cited by applicant]
KR 20050068108A · 2005 [cited by applicant]
U.S. Appl. No. 15/252,368, Notice of Allowance mailed Jan. 27, 2017, 11 pgs. [cited by applicant]
U.S. Appl. No. 15/462,816, Corrected Notice of Allowability mailed Jan. 12, 2018, 2 pgs. [cited by applicant]
U.S. Appl. No. 15/462,816, Non Final Office Action mailed Jul. 31, 2017, 7 pgs. [cited by applicant]
U.S. Appl. No. 15/462,816, Notice of Allowance mailed Nov. 21, 2017, 9 pgs. [cited by applicant]
U.S. Appl. No. 15/462,816, Response filed Oct. 31, 2017 to Non Final Office Action mailed Jul. 31, 2017, 8 pgs. [cited by applicant]
U.S. Appl. No. 15/944,312, Non Final Office Action mailed Aug. 28, 2018, 9 pgs. [cited by applicant]
U.S. Appl. No. 15/944,312, Notice of Allowance mailed Feb. 6, 2019, 8 pgs. [cited by applicant]
U.S. Appl. No. 15/944,312, Response filed Dec. 28, 2018 to Non Final Office Action mailed Aug. 28, 2018, 11 pgs. [cited by applicant]
U.S. Appl. No. 16/017,474, 312 Amendment filed Sep. 13, 2019, 10 pgs. [cited by applicant]
U.S. Appl. No. 16/017,474, Notice of Allowance mailed Aug. 6, 2019, 11 pgs. [cited by applicant]
U.S. Appl. No. 16/017,474, PTO Response to Rule 312 Communication mailed Oct. 10, 2019, 2 pgs. [cited by applicant]
U.S. Appl. No. 17/198,307, Corrected Notice of Allowability mailed Jun. 17, 2022, 2 pgs. [cited by applicant]
U.S. Appl. No. 17/198,307, Corrected Notice of Allowability mailed Jun. 30, 2022, 2 pgs. [cited by applicant]
U.S. Appl. No. 17/198,307, Non Final Office Action mailed Oct. 18, 2021, 8 pgs. [cited by applicant]
U.S. Appl. No. 17/198,307, Notice of Allowance mailed Mar. 11, 2022, 8 pgs. [cited by applicant]
U.S. Appl. No. 17/198,307, Response filed Feb. 17, 2022 to Non Final Office Action mailed Oct. 18, 2021, 15 pgs. [cited by applicant]
U.S. Appl. No. 17/206,250, Corrected Notice of Allowability mailed Jun. 20, 2022, 2 pgs. [cited by applicant]
U.S. Appl. No. 17/206,250, Corrected Notice of Allowability mailed Jun. 30, 2022, 2 pgs. [cited by applicant]
U.S. Appl. No. 17/206,250, Examiner Interview Summary mailed Mar. 29, 2022, 2 pgs. [cited by applicant]
U.S. Appl. No. 17/206,250, Non Final Office Action mailed Jan. 25, 2022, 13 pgs. [cited by applicant]
U.S. Appl. No. 17/206,250, Notice of Allowance mailed May 13, 2022, 9 pgs. [cited by applicant]
U.S. Appl. No. 17/206,250, Response filed Apr. 25, 2022 to Non Final Office Action mailed Jan. 25, 2022, 15 pgs. [cited by applicant]
U.S. Appl. No. 17/656,196, Examiner Interview Summary mailed Jun. 1, 2022, 2 pgs. [cited by applicant]
U.S. Appl. No. 17/656,196, Non Final Office Action mailed May 13, 2022, 11 pgs. [cited by applicant]
U.S. Appl. No. 17/656,196, Notice of Allowance mailed Jun. 10, 2022, 8 pgs. [cited by applicant]
U.S. Appl. No. 17/844,696, Non Final Office Action mailed Jan. 23, 2023, 9 pgs. [cited by applicant]
U.S. Appl. No. 17/844,696, Notice of Allowance mailed Apr. 24, 2023, 8 pgs. [cited by applicant]
U.S. Appl. No. 17/844,696, Preliminary Amendment filed Aug. 19, 2022. [cited by applicant]
U.S. Appl. No. 17/844,696, Response filed Apr. 11, 2023 to Non Final Office Action mailed Jan. 23, 2023, 9 pgs. [cited by applicant]
U.S. Appl. No. 18/357,032, Non Final Office Action mailed Feb. 8, 2024, 9 pgs. [cited by applicant]
U.S. Appl. No. 18/357,032, Notice of Allowance mailed May 23, 2024, 8 pgs. [cited by applicant]
U.S. Appl. No. 18/357,032, Response filed May 3, 2024 to Non Final Office Action mailed Feb. 8, 2024, 9 pgs. [cited by applicant]
“Delivering Live YouTube Content Via DASH”, <https://developers.google.com/youtube/v3/live/guides/needing-with-dash>, (May 26, 2016), 15 pgs. [cited by applicant]
Hashimoto, K., et al., “Extended Video Stream by Media Transcoding Function”, 24th International Conference on Distributed Computing Systems Workshops (ICDCSW'04), (2004), 6 pgs. [cited by applicant]
Jin, Y., et al., “Optimal Transcoding and Caching for Adaptive Streaming in Media Cloud: an Analytical Approach”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 25, No. 2, (Dec. 2015), 1914-1925. [cited by applicant]
Pantos, R., “HTTP Live Streaming”, <Downloaded from the Internet: https//tools.ietf.org/html/draft-pantos-http-live-streaming-19 >, (Apr. 4, 2016), 54 pgs. [cited by applicant]