IP Library Granted Patent US 12,088,859
Granted Patent B2
US 12,088,859 · App. 18/357,032 · Granted Sep 10, 2024

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/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,088,859
App. No.
18/357,032
Granted
Sep 10, 2024
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 (65)

1. A method comprising:

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

concatenating, by the one or more processors, the media segment into 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 requested portion of the media stream is included in the media file, providing the media file to a device that requested the portion of the media stream.

2. The method of claim 1 , wherein:

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

the concatenating of the media segment into 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.

3. The method of claim 1 , further comprising:

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

the providing of the media file that corresponds to the requested portion of the media stream fulfills the request to obtain the requested portion of the media stream.

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 concatenating of the media segment into the media file that corresponds to the requested portion of the media stream includes transcoding the media segment 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 concatenating of the media segment into the media file that corresponds to the requested portion of the media stream includes transcoding the media segment 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 concatenating of the media segment into the media file that corresponds to the requested portion of the media stream includes transcoding the media segment 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 concatenating of the media segment into the media file that corresponds to the requested portion of the media stream includes transcoding the media segment 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 a media segment included in a requested portion of a media stream;

concatenating the media segment into a media file that corresponds to the requested portion of the media stream; and

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

9. The system of claim 8 , wherein:

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

the concatenating of the media segment into 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.

10. 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, and wherein:

the providing of the media file that corresponds to the requested portion of the media stream fulfills the request to obtain the requested portion of the media stream.

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 concatenating of the media segment into the media file that corresponds to the requested portion of the media stream includes transcoding the media segment 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 concatenating of the media segment into the media file that corresponds to the requested portion of the media stream includes transcoding the media segment 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 concatenating of the media segment into the media file that corresponds to the requested portion of the media stream includes transcoding the media segment 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 concatenating of the media segment into the media file that corresponds to the requested portion of the media stream includes transcoding the media segment 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 a media segment included in a requested portion of a media stream;

concatenating the media segment into a media file that corresponds to the requested portion of the media stream; and

based on a determination that the requested portion of the media stream is included in the media file, 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 accessing of the media segment included in the requested portion of the media stream is performed by a first executing thread among a plurality of executing threads; and

the concatenating of the media segment into 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.

17. 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; and wherein:

the providing of the media file that corresponds to the requested portion of the media stream fulfills the request to obtain the requested portion of the media stream.

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 concatenating of the media segment into the media file that corresponds to the requested portion of the media stream includes transcoding the media segment 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 concatenating of the media segment into the media file that corresponds to the requested portion of the media stream includes transcoding the media segment 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 resizing parameter; and wherein:

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

Assignments (4)
PATENT SECURITY AGREEMENT Recorded Aug 20, 2024
From: PUSHPAY USA INC; RESI MEDIA LLC
To: JEFFERIES FINANCE LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 068722/0758 →
TERMINATION AND RELEASE OF PATENT SECURITY INTERESTS RECORDED ON AUGUST 24, 2023, AT REEL/FRAME 064695/FRAME 0659 Recorded Aug 20, 2024
From: CRESCENT AGENCY SERVICES LLC, AS ADMINISTRATIVE AGENT
To: RESI MEDIA LLC
Reel/Frame 068740/0773 →
SECURITY INTEREST Recorded Aug 24, 2023
From: RESI MEDIA LLC
To: CRESCENT AGENCY SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 064695/0659 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 9, 2023
From: REITMEYER, BRADLEY; MARTEL, PAUL; RIBBLE, CHRISTOPHER JOEL
To: RESI MEDIA LLC
Reel/Frame 064539/0099 →
Continuity (9)
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 20230362418A1 · Nov 9, 2023
Cited By (1)
US 12,610,092