IP Library Granted Patent US 11,589,098
Granted Patent B2
US 11,589,098 · App. 16/854,970 · Granted Feb 21, 2023

Publishing disparate live media output streams in mixed mode

Inventors: Donald Jude Loheide (Mableton, GA); Nishith Kumar Sinha (Mableton, GA); Nicolas Paul Webb (McDonough, GA)
Assignee: Turner Broadcasting System, Inc.
H04N21/2625H04N21/2187H04N21/2668H04N21/26258H04N21/4532H04N21/4583H04N21/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 11,589,098
App. No.
16/854,970
Granted
Feb 21, 2023
Kind
B2
Abstract

A system generates disparate live output stream manifests. For a disparate live media output stream manifest generated based on a first live input stream, programming schedules and/or events in a first live input stream manifest are identified. Based on a transition due to the identification, a second live input stream manifest and/or a pre-encoded media asset manifest is inserted in the disparate live output stream manifest. For the disparate live media output stream manifest s generated based on a first pre-encoded media asset, the programming schedules and/or the events in a first pre-encoded media asset manifest, and/or events in the second live input stream manifest defined in the programming schedules are identified. Based on another transition due to the identified events, a second pre-encoded media asset manifest and/or a live input stream manifest is inserted in the disparate live output stream manifest. The disparate live output stream manifest is published.

Claims (109)

1. A system, comprising:

a memory for storing instructions; and

a processor configured to execute the instructions, and based on the executed instructions, the processor is further configured to:

generate a disparate live output stream manifest based on a first live input stream, a corresponding first live input stream manifest, a first pre-encoded media asset, a first pre-encoded media asset manifest, and/or a programming schedule,

wherein a first instance in which the disparate live output stream manifest is generated based on the first live input stream, the processor is further configured to:

identify the programming schedule and a first event in the corresponding first live input stream manifest associated with the first live input stream;

insert a second live input stream manifest into the generated disparate live output stream manifest,

 wherein the second live input stream manifest is inserted based on a first transition due to the identified first event in the first live input stream manifest; and

determine that a program start message is detected in the second live input stream manifest,

wherein the second live input stream manifest is inserted into the generated disparate live output stream manifest based on the program start message, and

wherein a second instance in which the disparate live output stream manifest is generated based on the first pre-encoded media asset, the processor is further configured to:

identify the programming schedule and a second event in the first pre-encoded media asset manifest associated with the first pre-encoded media asset;

index a media segment corresponding to a second live input stream or the first pre-encoded media asset until a program end message is detected in the first live input stream manifest; and

insert a second pre-encoded media asset manifest or the second live input stream manifest to the disparate live output stream manifest,

wherein the second pre-encoded media asset manifest or the second live input stream manifest is inserted based on a second transition due to the second event, and

wherein the second live input stream manifest or the second pre-encoded media asset manifest is inserted from a location of the program start message into the disparate live output stream manifest such that the indexed media segment corresponding to the second live input stream or the second pre-encoded media asset is streamed on a disparate live media output stream; and

publish the disparate live output stream manifest, generated based on one of the first instance or the second instance, to a content delivery system.

2. The system according to claim 1 , wherein the disparate live output stream manifest corresponds to the programming schedule based on which the first live input stream and the first pre-encoded media asset are transmitted on the disparate live media output stream.

3. The system according to claim 1 , wherein the first live input stream manifest and the first pre-encoded media asset manifest comprises an index of the media segment which is transmitted on the disparate live output stream manifest.

4. The system according to claim 1 , wherein the first event corresponds to a first detection of the program end message in the first live input stream manifest, and the second event corresponds to a second detection of the program end message in the first pre-encoded media asset manifest.

5. The system according to claim 1 ,

wherein the processor is further configured to, in an instance in which the program start message is undetected, insert a filler content to the disparate live output stream manifest until the program start message is detected.

6. The system according to claim 1 ,

wherein the processor is further configured to modify the first live input stream manifest that causes retransmission of the media segment of the first live input stream or a segment of the first pre-encoded media asset on the disparate live media output stream until the first transition is identified.

7. The system according to claim 1 ,

wherein the first live input stream manifest and the first pre-encoded media asset manifest comprises program overlay non-programming content indicators.

8. The system according to claim 1 , the processor is further configured to generate the disparate live media output stream, and

wherein the disparate live media output stream has an associated profile corresponding to a resolution, digital rights management, or a bitrate.

9. The system according to claim 1 ,

wherein the processor is further configured to:

receive the first live input stream and the first pre-encoded media asset from a source;

receive the first live input stream manifest and the first pre-encoded media asset manifest; and

ingest the first live input stream manifest and the first pre-encoded media asset manifest in an indexing and storage system.

10. The system according to claim 1 ,

wherein the disparate live output stream manifest is generated based on an additional parameter, and

wherein the additional parameter comprises information that pertains to preferred content, demographic data, geographic location of consumer, and rights associated with the first live input stream, or the first pre-encoded media asset.

11. The system according to claim 1 ,

wherein the first event correspond to a non-programming content indicator, a programming content indicator, or an overlay indicator in the first live input stream manifest.

12. The system according to claim 1 ,

wherein the second event corresponds to transition points that correspond to time stamps where a consumer views one pre-encoded media asset or one live input stream and switches to a different pre-encoded media asset or a different live input stream.

13. The system according to claim 1 ,

wherein the processor is further configured to:

index the first live input stream manifest and the first pre-encoded media asset manifest; and

index an indicator the first live input stream manifest and the first pre-encoded media asset manifest.

14. A method, comprising:

generating, by a processor, a disparate live output stream manifest based on a first live input stream, a corresponding first live input stream manifest, a first pre-encoded media asset, a first pre-encoded media asset manifest, and/or a programming schedule,

wherein a first instance in which the disparate live output stream manifest is generated based on the first live input stream comprises:

identifying, by the processor, the programming schedule and a first event in the corresponding first live input stream manifest associated with the first live input stream;

inserting, by the processor, a second live input stream manifest into the generated disparate live output stream manifest,

wherein the second live input stream manifest is inserted based on a first transition due to the identified first event in the first live input stream manifest; and

determining, by the processor, that a program start message is detected in the second live input stream manifest,

wherein the second live input stream manifest is inserted into the generated disparate live output stream manifest based on the program start message, and

wherein a second instance in which the disparate live output stream manifest is generated based on the first pre-encoded media asset comprises:

identifying, by the processor, the programming schedule and a second event in the first pre-encoded media asset manifest associated with the first pre-encoded media asset;

indexing, by the processor, a media segment corresponding to a second live input stream or the first pre-encoded media assets until a program end message is detected in the first live input stream manifest;

inserting, by the processor, a second pre-encoded media asset manifest or the second live input stream manifest to the disparate live output stream manifest,

wherein the second pre-encoded media asset manifest or the second live input stream manifest is inserted based on a second transition due to the second event, and

wherein the second live input stream manifest or the second pre-encoded media asset manifest is inserted from a location of the program start message into the disparate live output stream manifest such that the indexed media segment corresponding to the second live input stream or the second pre-encoded media asset is streamed on a disparate live media output stream; and

publishing, by the processor, the disparate live output stream manifest, generated based on one of the first instance or the second instance, to a content delivery system.

15. The method according to claim 14 , wherein the disparate live media output stream corresponds to the programming schedule based on which the first live input stream and the first pre-encoded media asset are transmitted on the disparate live media output stream, and

wherein the first live input stream manifest and the first pre-encoded media asset manifest comprises an index of the media segment which are transmitted on the disparate live media output stream.

16. The method according to claim 14 , wherein the first event corresponds to a detection of the program end message in the first live input stream manifest, and the second event corresponds to a detection of the program end message in the first pre-encoded media asset manifest.

17. The method according to claim 14 , further comprising:

indexing, by the processor, the media segment corresponding to the second live input stream or the first pre-encoded media asset until the program end message is detected in the first live input stream manifest,

wherein the media segment is indexed based on the program start message which is detected in the second live input stream manifest or the first pre-encoded media asset manifest; and

inserting, by the processor, the second live input stream manifest or the second pre-encoded media asset manifest from the location of the program start message to the disparate live output stream manifest such that the indexed media segment is streamed on the disparate live media output stream,

wherein the second live input stream manifest or the second pre-encoded media asset manifest is inserted based on the program end message is detected in the first live input stream manifest.

18. The method according to claim 14 , further comprising:

receiving, by the processor, the first live input stream and the first pre-encoded media asset from a source;

receiving, by the processor, the first live input stream manifest and the first pre-encoded media asset manifest; and

ingesting, by the processor, the first live input stream manifest and the first pre-encoded media asset manifest in an indexing and storage method.

19. The method according to claim 14 , further comprising modifying, by the processor, the disparate live output stream manifest causing retransmission of a first segment of the first live input stream or a second segment of the first pre-encoded media asset on the disparate live media output stream until the first transition is identified.

20. A non-transitory computer-readable medium having stored thereon, computer implemented instruction that when executed by a processor in a computer, causes the computer to execute operations, the operations comprising:

generating a disparate live output stream manifest based on a first live input stream, a corresponding first live input stream manifest, a first pre-encoded media asset, a first pre-encoded media asset manifest, and/or a programming schedule,

wherein a first instance in which the disparate live output stream manifest is generated based on the first live input stream comprises:

identifying the programming schedule and a first event in the first live input stream manifest associated with the first live input stream;

inserting a second live input stream manifest into the generated disparate live output stream manifest,

wherein the second live input stream manifest is inserted based on a first transition due to the identified first event in the first live input stream manifest; and

determining that a program start message is detected in the second live input stream manifest,

wherein the second live input stream manifest is inserted into the generated disparate live output stream manifest based on the program start message, and

wherein a second instance in which the disparate live output stream manifest is generated based on the first pre-encoded media asset comprises:

identifying the programming schedule and a second event in the first pre-encoded media asset manifest associated with the first pre-encoded media asset;

indexing a media segment corresponding to the second live input stream or the first pre-encoded media asset until a program end message is detected in the first live input stream manifest; and

inserting a second pre-encoded media asset manifest or the second live input stream manifest to the disparate live output stream manifest,

wherein the second pre-encoded media asset manifest or the second live input stream manifest is inserted based on a second transition due to the second event, and

wherein the second live input stream manifest or the second pre-encoded media asset manifest is inserted from a location of the program start message into the disparate live output stream manifest such that the indexed media segment corresponding to the second live input stream or the second pre-encoded media asset is streamed on a disparate live media output stream; and

publishing the disparate live output stream manifest, generated based on one of the first instance or the second instance, to a content delivery system.

21. The system according to claim 1 ,

wherein the processor is further configured to:

encounter a plurality of indicators in the first live input stream manifest or the first pre-encoded media asset; and

insert the plurality of indicators in the generated disparate live output stream manifest based on the programming schedule.

22. A system, comprising:

a memory for storing instructions; and

a processor to execute the instructions, and based on the executed instructions, the processor is further configured to:

generate a disparate live output stream manifest based on a first live input stream, a corresponding first live input stream manifest, a first pre-encoded media asset, a first pre-encoded media asset manifest, and/or a programming schedule,

wherein a first instance in which the disparate live output stream manifest is generated based on the first live input stream, the processor is further configured to:

identify the programming schedule and a first event in the corresponding first live input stream manifest associated with the first live input stream;

insert a second live input stream manifest into the generated disparate live output stream manifest,

 wherein the second live input stream manifest is inserted based on a first transition due to the identified first event in the first live input stream manifest,

modify the first live input stream manifest that causes retransmission of a media segment of the first live input stream or a segment of the first pre-encoded media asset on a disparate live media output stream until the first transition is identified; and

determine that a program start message is detected in the second live input stream manifest,

wherein the second live input stream manifest is inserted into the generated disparate live output stream manifest based on the program start message, and

wherein a second instance in which the disparate live output stream manifest is generated based on the first pre-encoded media asset, the processor is further configured to:

identify the programming schedule and a second event in the first pre-encoded media asset manifest associated with the first pre-encoded media asset;

index the media segment corresponding to a second live input stream or the first pre-encoded media asset until a program end message is detected in the first live input stream manifest; and

insert a second pre-encoded media asset manifest or the second live input stream manifest to the disparate live output stream manifest,

wherein the second pre-encoded media asset manifest or the second live input stream manifest is inserted based on a second transition due to the second event, and

wherein the second live input stream manifest or the second pre-encoded media asset manifest is inserted from a location of the program start message into the disparate live output stream manifest such that the indexed media segment corresponding to the second live input stream or the second pre-encoded media asset is streamed on the disparate live media output stream; and

publish the disparate live output stream manifest, generated based on one of the first instance or the second instance, to a content delivery system.

Assignments (2)
SECURITY INTEREST Recorded Oct 1, 2025
From: WARNER BROS. DISCOVERY, INC.; WARNER MEDIA, LLC; TURNER BROADCASTING SYSTEM, INC.; HOME BOX OFFICE, INC.; DISCOVERY COMMUNICATIONS, LLC; WARNERMEDIA DIRECT LLC; DISCOVERY.COM LLC; WARNER BROS. ENTERTAINMENT INC.; CNN INTERACTIVE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 072995/0858 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2022
From: LOHEIDE, DONALD JUDE; SINHA, NISHITH KUMAR; WEBB, NICOLAS PAUL
To: TURNER BROADCASTING SYSTEM, INC.
Reel/Frame 061108/0678 →