IP Library Granted Patent US 11,671,641
Granted Patent B2
US 11,671,641 · App. 17/340,538 · Granted Jun 6, 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,671,641
App. No.
17/340,538
Filed
Jun 7, 2021
Granted
Jun 6, 2023
Kind
B2
Art Unit
2421
USPC
725/116
Abstract

A system generates disparate live output stream manifests. A disparate live media output stream manifest is generated based on a programming schedule, an additional parameter, and one of a first live input stream manifest or a first pre-encoded media asset manifest. Based on a first transition or a second transition, a different pre-encoded media asset manifest or a different live input stream manifest is inserted to the disparate live media output stream manifest. Based on the insertion, a first live input stream or a first pre-encoded media asset is switched to a different pre-encoded media asset or a different live input stream. The first live input stream manifest or the first pre-encoded media asset manifest is modified. The modification causes retransmission of media segments of the first live input stream or segments of the first pre-encoded media asset on a disparate live media output stream.

Claims (92)

1. A system, comprising:

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 media output stream manifest based on a programming schedule, an additional parameter, and one of a first live input stream manifest or a first pre-encoded media asset manifest;

insert, based on a first transition or a second transition, a different pre-encoded media asset manifest or a different live input stream manifest to the disparate live media output stream manifest,

wherein the first transition is due to a first event in the first live input stream manifest, and the second transition is due to a second event in the first pre-encoded media asset manifest;

switch, based on the insertion, a first live input stream or a first pre-encoded media asset to a different pre-encoded media asset or a different live input stream; and

modify the first live input stream manifest or the first pre-encoded media asset manifest based on the switching of the first live input stream or the first pre-encoded media asset to the different pre-encoded media asset or the different live input stream,

wherein the modification of the first live input stream manifest or the first pre-encoded media asset manifest causes retransmission of media segments of the first live input stream or segments of the first pre-encoded media asset on a disparate live media output stream.

2. The system according to claim 1 , wherein in an instance in which the disparate live media output stream manifest is generated based on the first live input stream manifest, the processor is further configured to:

identify the programming schedule or the first event in the first live input stream manifest associated with the first live input stream,

wherein the insertion of the different pre-encoded media asset manifest or the different live input stream manifest to the disparate live media output stream manifest is based on the first transition due to the identified programming schedule or the first event in the first live input stream manifest, and

wherein the different live input stream manifest corresponds to a second live input stream manifest, and the different pre-encoded media asset manifest corresponds to one of a plurality of pre-encoded media asset manifests,

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

identify the programming schedule, the second event in the first pre-encoded media asset manifest associated with the first pre-encoded media asset, or a third event in the second live input stream manifest defined in the programming schedule,

wherein the insertion of the different pre-encoded media asset manifest or the different live input stream manifest to the disparate live media output stream manifest is based on the second transition due to the second event in the first pre-encoded media asset manifest or the third event, and

wherein the different live input stream manifest corresponds to one of a plurality of live input stream manifests, and the different pre-encoded media asset manifest corresponds to a second pre-encoded media asset manifest.

3. The system according to claim 2 , wherein the processor is further configured to:

generate the media segments based on an encoding and packaging status of the first live input stream,

wherein the disparate live media output stream manifest corresponds to the programming schedule based on which a plurality of live input streams and a plurality of pre-encoded media assets 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 segments which are transmitted on the disparate live media output stream manifest; and

publish the generated disparate live media output stream manifest to a content delivery system.

4. The system according to claim 2 , wherein the first event corresponds to a first detection of a program end message in the first live input stream manifest,

wherein the second event corresponds to a second detection of a program end message in the first pre-encoded media asset manifest, and

wherein the third event corresponds to a third detection of a program start message in the second live input stream manifest or the one of the plurality of pre-encoded media asset manifests.

5. The system according to claim 2 , wherein in a first instance in which a program end message is detected in the first live input stream manifest or the plurality of pre-encoded media asset manifests, the processor is further configured to:

determine that a program start message is detected in the second live input stream manifest or the one of the plurality of pre-encoded media asset manifests,

wherein in a second instance in which the program start message is detected, the second live input stream manifest or the one of the plurality of pre-encoded media asset manifests are inserted into the disparate live media output stream manifest, and

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

6. The system according to claim 5 , wherein in the instance in which the program start message is detected in the second live input stream manifest or the one of the plurality of pre-encoded media asset manifests, the processor is further configured to:

index media segments corresponding to the second live input stream or one of a plurality of pre-encoded media assets until the program end message is detected in the first live input stream manifest; and

insert the second live input stream manifest or the one of the plurality of pre-encoded media asset manifests from a location of the program start message into the disparate live media output stream manifest such that the indexed media segments corresponding to the second live input stream or the one of the plurality of pre-encoded media assets are streamed on the disparate live media output stream.

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,

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

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

8. The system according to claim 2 , wherein the processor is further configured to:

receive a plurality of live input streams and a plurality of pre-encoded media assets from a plurality of sources;

receive the plurality of live input stream manifests and the plurality of pre-encoded media asset manifests;

ingest the plurality of live input stream manifests and the plurality of pre-encoded media asset manifests in an indexing and storage system;

index the plurality of live input stream manifests and the plurality of pre-encoded media asset manifests; and

index each indicator in the plurality of live input stream manifests and the plurality of pre-encoded media asset manifests.

9. The system according to claim 1 , wherein the first event corresponds to a non-programming content indicator, a programming content indicator, or an overlay indicator in the first live input stream manifest, and

wherein the second event corresponds to a transition point that corresponds to a time stamp where a consumer device views the first pre-encoded media asset or the first live input stream and switches to the different pre-encoded media asset or the different live input stream.

10. A method, comprising:

generating, at a processor, a disparate live media output stream manifest based on a programming schedule, an additional parameter, and one of a first live input stream manifest or a first pre-encoded media asset manifest;

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

wherein the first transition is due to a first event in the first live input stream manifest, and the second transition is due to a second event in the first pre-encoded media asset manifest;

switching, by the processor, based on the insertion, a first live input stream or a first pre-encoded media asset to a different pre-encoded media asset or a different live input stream; and

modifying, by the processor, the first live input stream manifest or the first pre-encoded media asset manifest based on the switching of the first live input stream or the first pre-encoded media asset to the different pre-encoded media asset or the different live input stream,

wherein the modification of the first live input stream manifest or the first pre-encoded media asset manifest causes retransmission of media segments of the first live input stream or segments of the first pre-encoded media asset on a disparate live media output stream.

11. The method according to claim 10 , wherein in an instance in which the disparate live media output stream manifest is generated based on the first live input stream manifest, the method further comprising:

identifying, by the processor, the programming schedule or the first event in the first live input stream manifest associated with the first live input stream,

wherein the insertion of the different pre-encoded media asset manifest or the different live input stream manifest to the disparate live media output stream manifest is based on the first transition due to the identified programming schedule or the first event in the first live input stream manifest, and

wherein the different live input stream manifest corresponds to a second live input stream manifest, and the different pre-encoded media asset manifest corresponds to one of a plurality of pre-encoded media asset manifests, and

wherein, in another instance in which the disparate live media output stream manifest is generated based on the first pre-encoded media asset manifest, the method further comprising:

identifying, by the processor, the programming schedule, the second event in the first pre-encoded media asset manifest associated with the first pre-encoded media asset, or a third event in the second live input stream manifest defined in the programming schedule,

wherein the insertion of the different pre-encoded media asset manifest or the different live input stream manifest to the disparate live media output stream manifest is based on the second transition due to the second event in the first pre-encoded media asset manifest or the third event, and

wherein the different live input stream manifest corresponds to one of a plurality of live input stream manifests, and the different pre-encoded media asset manifest corresponds to a second pre-encoded media asset manifest.

12. The method according to claim 11 , further comprising:

generating, by the processor, the media segments based on an encoding and packaging status of the first live input stream,

wherein the disparate live media output stream manifest corresponds to the programming schedule based on which the plurality of live input stream and a plurality of pre-encoded media assets 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 segments which are transmitted on the disparate live media output stream manifest; and

publishing, by the processor, the generated disparate live media output stream manifest to a content delivery system.

13. The method according to claim 11 , wherein the first event corresponds to a first detection of a program end message in the first live input stream manifest,

wherein the second event corresponds to a second detection of a program end message in the first pre-encoded media asset manifest, and

wherein the third event corresponds to third detection of a program start message in the second live input stream manifest or the one of the plurality of pre-encoded media asset manifests.

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

determining, by the processor, that a program start message is detected in the second live input stream manifest or the one of the plurality of pre-encoded media asset manifests, based on a detection of a program end message in the first live input stream manifest;

inserting, by the processor, the second live input stream manifest or the one of the plurality of pre-encoded media asset manifests into the disparate live media output stream manifest, in a first instance in which the program start message is detected; and

inserting, by the processor, a filler content to the disparate live media output stream manifest until the program start message is detected, in a second instance in which the program start message is not detected.

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

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

wherein the media segments are indexed based on the detection of the program start message is detected in the second live input stream manifest or the one of the plurality of pre-encoded media asset manifests; and

inserting, by the processor, the second live input stream manifest or the one of the plurality of pre-encoded media asset manifests from a location of the program start message in to the disparate live media output stream manifest such that the indexed media segments are streamed on the disparate live media output stream,

wherein the second live input stream manifest or the one of the plurality of pre-encoded media asset manifests are inserted based on the detection of the program end message in the first live input stream manifest.

16. The method according to claim 11 , further comprising:

receiving, by the processor, a plurality of live input streams and a plurality of pre-encoded media assets from a plurality of sources;

receiving, by the processor, the plurality of live input stream manifests and the plurality of pre-encoded media asset manifests; and

ingesting, by the processor, the plurality of live input stream manifests and the plurality of pre-encoded media asset manifests in an indexing and storage system.

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

indexing, by the processor, the plurality of live input stream manifests and the plurality of pre-encoded media asset manifests; and

indexing, by the processor, each indicator in the plurality of live input stream manifests and the plurality of pre-encoded media asset manifests.

18. The method according to claim 11 , wherein the additional parameter comprises information pertaining to preferred content, demographic data, geographic location of consumer, and rights associated with a plurality of live input streams, or a plurality of pre-encoded media assets.

19. The method according to claim 10 , wherein the first event corresponds to a program ad indicator or an overlay indicator in the first live input stream manifest, and

wherein the second event corresponds to a transition point that corresponds to a time stamp where a consumer device viewing the first pre-encoded media asset or the first live input stream switches to the different pre-encoded media asset or the different live input stream.

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

generating a disparate live media output stream manifest based on a programming schedule, an additional parameter, and one of a first live input stream manifest or a first pre-encoded media asset manifest;

inserting, based on a first transition or a second transition, a different pre-encoded media asset manifest or a different live input stream manifest to the disparate live media output stream manifest,

wherein the first transition is due to a first event in the first live input stream manifest, and the second transition is due to a second event in the first pre-encoded media asset manifest;

switching, based on the insertion, a first live input stream or a first pre-encoded media asset to a different pre-encoded media asset or a different live input stream; and

modifying the first live input stream manifest or the first pre-encoded media asset manifest based on the switching of the first live input stream or the first pre-encoded media asset to the different pre-encoded media asset or the different live input stream,

wherein the modification of the first live input stream manifest or the first pre-encoded media asset manifest causes retransmission of media segments of the first live input stream or segments of the first pre-encoded media asset on a disparate live media output stream.

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 Apr 6, 2022
From: LOHEIDE, DONALD JUDE; SINHA, NISHITH KUMAR; WEBB, NICOLAS PAUL
To: TURNER BROADCASTING SYSTEM, INC.
Reel/Frame 059520/0899 →
Cited By (3)
US 12,513,349 US 12,647,651 US 12,707,104