# US 12,610,093 B2 · System and method for transcoding media stream

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,610,093 B2
- Document ID: US12610093B2
- Status: Granted
- Kind: B2
- Application number: 18/805,484
- Filed: 2024-08-14
- Published: 2024-12-05
- Granted: 2026-04-21
- Earliest claimed: 2016-08-31
- Assignees: Resi Media LLC
- Applicants: Resi Media LLC
- Inventors: Bradley Reitmeyer; Paul Martel; Christopher Joel Ribble
- Web page: https://patentgrep.com/patent/US12610093B2

## CPC

- H04N 21/2187: Live feed
- H04L 65/765: {intermediate}
- H04N 21/234309: {by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo (conversion of standards in analog television systems H04N7/01)}
- H04N 21/2365: Multiplexing of several video streams
- H04N 21/2743: Video hosting of uploaded data from client
- H04N 21/432: Content retrieval operation from a local storage medium, e.g. hard-disk {(details of retrieval of video data and associated meta data in video databases G06F16/739)}
- H04N 21/440218: {by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 (conversion of standards in analogue television systems H04N7/01)}
- H04N 21/63345: {by transmitting keys (key distribution for secret or secure communication H04L9/08; network support of key management H04L63/06)}
- H04N 21/63775: {for uploading keys, e.g. for a client to communicate its public key to the server (key management H04L9/08; network support of key management H04L63/06)}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system for transcoding a media stream includes at least one network interface; at least one memory; and at least one processor each coupled to one or more of the at least one network interface and one or more of the at least one memory. The at least one processor is configured to publish, via a messaging bus, a segment transcode request in a segment transcode request queue, retrieve the segment transcode request by a transcode worker thread, wherein the first transcode worker thread monitors the segment transcode request queue, transcode by a second transcode worker thread a segment referenced by the segment transcode request, determine by the manifest processor whether the second transcode worker thread has completed transcoding the segment and is still operating, and, if not, transcode the segment by a third transcode worker thread, and store the transcoded segment.

## Claims

### Claim 1

A method comprising:
accessing, by one or more processors, segments of media content;
encrypting, by the one or more processors, the segments of media content; and
providing, by the one or more processors, the encrypted segments of media content to a server configured to provide one or more of the encrypted segments to a decoder disallowed from playing any of the encrypted segments until expiration of a predetermined delay measured from provision of the encrypted segments by the server to the decoder.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the decoder is disallowed from downloading any of the encrypted segments of media content until the expiration of a further predetermined delay measured from an uploading of the encrypted segments.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
the decoder is allowed to download the encrypted segments during the predetermined delay but disallowed from playing any of the encrypted segments until the expiration of the predetermined delay.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
the predetermined delay during which the decoder is disallowed from playing any of the encrypted segments of media content is set by a user of the decoder.

### Claim 5 (depends on 1)

The method of claim 1, wherein:
the decoder is configured to initiate download of one or more of the encrypted segments of media content before the expiration of the predetermined delay.

### Claim 6 (depends on 1)

The method of claim 1, wherein:
the decoder is configured to initiate playback of one or more of the encrypted segments of media content after the expiration of the predetermined delay.

### Claim 7 (depends on 1)

The method of claim 1, wherein:
the decoder is configured to initiate download of one or more of the encrypted segments of media content before the expiration of the predetermined delay and then store the downloaded one or more encrypted segments until the predetermined delay has elapsed before initiating playback of the downloaded one or more encrypted segments.

### Claim 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 segments of media content;
encrypting the segments of media content; and
providing the encrypted segments of media content to a server configured to provide one or more of the encrypted segments to a decoder disallowed from playing any of the encrypted segments until expiration of a predetermined delay measured from provision of the encrypted segments by the server to the decoder.

### Claim 9 (depends on 8)

The system of claim 8, wherein:
the decoder is disallowed from downloading any of the encrypted segments of media content until the expiration of a further predetermined delay measured from an uploading of the encrypted segments.

### Claim 10 (depends on 8)

The system of claim 8, wherein:
the decoder is allowed to download the encrypted segments during the predetermined delay but disallowed from playing any of the encrypted segments until the expiration of the predetermined delay.

### Claim 11 (depends on 8)

The system of claim 8, wherein:
the predetermined delay during which the decoder is disallowed from playing any of the encrypted segments of media content is set by a user of the decoder.

### Claim 12 (depends on 8)

The system of claim 8, wherein:
the decoder is configured to initiate download of one or more of the encrypted segments of media content before the expiration of the predetermined delay.

### Claim 13 (depends on 8)

The system of claim 8, wherein:
the decoder is configured to initiate playback of one or more of the encrypted segments of media content after the expiration of the predetermined delay.

### Claim 14 (depends on 8)

The system of claim 8, wherein:
the decoder is configured to initiate download of one or more of the encrypted segments of media content before the expiration of the predetermined delay and then store the downloaded one or more encrypted segments until the predetermined delay has elapsed before initiating playback of the downloaded one or more encrypted segments.

### Claim 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 segments of media content;
encrypting the segments of media content; and
providing the encrypted segments of media content to a server configured to provide one or more of the encrypted segments to a decoder disallowed from playing any of the encrypted segments until expiration of a predetermined delay measured from provision of the encrypted segments by the server to the decoder.

### Claim 16 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein:
the decoder is disallowed from downloading any of the encrypted segments of media content until the expiration of a further predetermined delay measured from an uploading of the encrypted segments.

### Claim 17 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein:
the decoder is allowed to download the encrypted segments during the predetermined delay but disallowed from playing any of the encrypted segments until the expiration of the predetermined delay.

### Claim 18 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein:
the predetermined delay during which the decoder is disallowed from playing any of the encrypted segments of media content is set by a user of the decoder.

### Claim 19 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein:
the decoder is configured to initiate download of one or more of the encrypted segments of media content before the expiration of the predetermined delay.

### Claim 20 (depends on 15)

The non-transitory machine-readable medium of claim 15, wherein:
the decoder is configured to initiate playback of one or more of the encrypted segments of media content after the expiration of the predetermined delay.
