IP Library Granted Patent US 9,282,131
Granted Patent B2
US 9,282,131 · App. 12/690,166 · Granted Mar 8, 2016

System and method for splicing media files

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 9,282,131
App. No.
12/690,166
Granted
Mar 8, 2016
Kind
B2
Abstract

A method for processing media content includes receiving a request for media content and, in response, accessing a plurality of source files associated with the requested media content, wherein the source files comprise media content in one or more source formats. The method also includes generating one or more target files based on the plurality of source files. Additionally, the method includes, generating an auxiliary file associated with the target files. The auxiliary file includes a plurality of content records, each content record associated with a portion of the media content in the target. The method further includes, while generating the target files, transmitting the requested media content from the plurality of target files to a client as a seamless media transmission by reading each of the content records in the auxiliary file and transmitting to the client content corresponding to each content record.

Claims (51)

1. A method for processing media content, comprising:

receiving a request for media content from a client;

accessing a plurality of source files associated with the requested media content, wherein the plurality of source files comprise the media content in one or more source formats;

generating a plurality of target files based on the plurality of source files, wherein the plurality of target files comprises the media content in a target format;

generating an auxiliary file for each of the plurality of target files, each of the auxiliary files comprising a plurality of content records characterizing portions of a given target file of the plurality of target files, wherein each content record of an auxiliary file of the given target file characterizes:

a position of a respective portion of the media content in the target format in the given target file; and

an amount of media content dropped between the respective portion of the media content and another portion of the media content of the given target file, wherein the amount of media content dropped corresponds to an amount of video frames dropped between the respective and the other portion of the media content;

determining a portion of the plurality of target files to transmit to the client to satisfy the request for the media content based on generated auxiliary files;

calculating time-stamps for each of the video frames in the portion of the plurality of target files determined to be transmitted to the client to satisfy the request for the media content based at least on the amount of media content dropped and a frame rate associated with the target format; and

transmitting to the client as a seamless media transmission the portion of the plurality of target files without transmitting respective content records to the client.

2. The method of claim 1 , wherein transmitting to the client the portion of the plurality of target files comprises streaming the portion of the plurality of target files to the client as a single, seamless media stream.

3. The method of claim 1 , wherein each content record includes information to facilitate transmission of an associated portion of a corresponding target file of the plurality of target files to the client prior to the corresponding target file being completely generated.

4. The method of claim 1 , wherein receiving a request for media content comprises:

receiving, from the client, a request for the media content from a first media file; and

identifying a second media file to be transmitted to the client with the first media file in response to receiving the request.

5. The method of claim 1 , wherein:

the plurality of source files include a first source file comprising the media content in a first source format, wherein the first source format is different from the target format; and

generating the plurality of target files comprises:

modifying media content in the first source file from the first source format to the target format; and

writing the modified media content to a first target file associated with the first source file.

6. The method of claim 5 , wherein the plurality of source files further include a second source file comprising the media content in the target format.

7. The method of claim 6 , wherein the plurality of content records include at least one content record associated with the media content in the first target file and at least one content record associated with the media content in the second source file.

8. The method of claim 7 , wherein transmitting to the client the portion of the plurality of target files comprises transmitting media content from the first target file and the second source file to the client as a seamless media transmission.

9. The method of claim 1 , wherein each content record of the auxiliary file of the given target file further characterizes a size and a type of media content of the respective portion of the media content in the target format in the given target file, wherein the type of media content is at least one of audio or video content.

10. The method of claim 1 , further comprising transmitting to the client the portion of the plurality of target files based on the calculated time-stamps such that the client receives the portion of the plurality of target files in a single seamless media transmission.

11. A system for processing media content, comprising:

a transcoder comprising:

a transcoder memory configured to store processor instructions;

a transcoder processor configured to execute the processor instructions stored by the transcoder memory and, while executing the processor instructions, configured to:

receive a request for media content from a client;

access a plurality of source files associated with the requested media content, wherein the plurality of source files comprise the media content in one or more source formats;

generate a plurality of target files based on the plurality of source files, wherein the plurality of target files comprises the media content in a target format; and

generate an auxiliary file for each of the plurality of target files, each of the auxiliary files comprising a plurality of content records characterizing portions of a given target file of the plurality of target files, wherein each content record of an auxiliary file of the given target file characterizes:

a position of a respective portion of the media content in the target format in the given target file; and

an amount of media content dropped between the respective portion of the media content and another portion of the media content of the given target file, wherein the amount of media content dropped corresponds to an amount of video frames dropped between the respective and the other portion of the media content; and a streamer comprising:

a streamer memory configured to store processor instructions; and

a streamer processor configured to execute the processor instructions stored by the streamer memory to,

determine a portion of the plurality of target files to transmit to the client to satisfy the request for the media content based on generated auxiliary files;

calculate time-stamps for each of the video frames in the portion of the plurality of target files determined to be transmitted to the client to satisfy the request for the media content based at least on the amount of media content dropped and a frame rate associated with the target format; and

transmit to the client as a seamless media transmission the portion of the plurality of target files without transmitting respective content records to the client.

12. The system of claim 11 , wherein the streamer is configured to transmit the portion of the plurality of target files to the client by streaming the portion of the plurality of target files to the client as a single seamless media stream.

13. The system of claim 11 , wherein each content record includes information to facilitate transmission of an associated portion of a corresponding target file of the plurality of target files to the client prior to the corresponding target file being completely generated.

14. The system of claim 11 , wherein the transcoder is configured to receive a request for media content by:

receiving, from the client, a request for the media content from a first media file; and

identifying a second media file to be transmitted to the client with the first media file in response to receiving the request.

15. The system of claim 11 , wherein the plurality of source files include a first source file comprising the media content in a first source format, wherein the first source format is different from the target format; and the transcoder is configured to generate the plurality of target files by:

modifying media content in the first source file from the first source format to the target format; and

writing the modified media content to a first target file associated with the first source file.

16. The system of claim 15 , wherein the plurality of source files further include a second source file comprising the media content in the target format.

17. The system of claim 16 , wherein the plurality of content records include at least one content record associated with the media content in the first target file and at least one content record associated with the media content in the second source file.

18. The system of claim 17 , wherein the streamer that is configured to transmit to the client the portion of the plurality of target files comprises transmitting media content from the first target file and the second source file to the client as a seamless media transmission.

Assignments (7)
ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 28, 2020
From: PNC BANK, NATIONAL ASSOCIATION, AS EXISTING AGENT
To: BROADCAST LENDCO, LLC, AS SUCCESSOR AGENT
Reel/Frame 052050/0074 →
SECURITY AGREEMENT Recorded Apr 1, 2015
From: IMAGINE COMMUNICATIONS CORP. (F/K/A HBC SOLUTIONS, INC.)
To: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 035353/0208 →
SECURITY INTEREST Recorded Mar 27, 2015
From: IMAGINE COMMUNICATIONS CORPORATION (FORMERLY KNOWN AS HBC SOLUTIONS, INC.)
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 035275/0228 →
PATENT COLLATERAL SECURITY AGREEMENT Recorded Mar 27, 2015
From: IMAGINE COMMUNICATIONS CORPORATION (FORMERLY KNOWN AS HBC SOLUTIONS, INC.)
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 035327/0262 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2015
From: RGB NETWORKS, INC.
To: IMAGINE COMMUNICATIONS CORP.
Reel/Frame 034973/0821 →
RELEASE OF SECURITY INTEREST Recorded Feb 11, 2015
From: SILICON VALLEY BANK
To: RGB NETWORKS, INC
Reel/Frame 034955/0630 →
SECURITY INTEREST Recorded Aug 3, 2014
From: RGB NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 033463/0440 →