IP Library Granted Patent US 12,413,797
Granted Patent B2
US 12,413,797 · App. 17/875,775 · Granted Sep 9, 2025

Publishing a disparate per-client live media output stream based on dynamic insertion of targeted non-programming content and customized programming content

Inventors: Donald Jude Loheide (Mableton, GA); Nishith Kumar Sinha (Mableton, GA); Nicolas Paul Webb (McDonough, GA)
Assignee: Turner Broadcasting System, Inc.
H04N21/23424H04N21/2187H04N21/2393H04N21/2668H04N21/4532H04N21/4583H04N21/812H04N21/8153H04N21/8545
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,413,797
App. No.
17/875,775
Granted
Sep 9, 2025
Kind
B2
Abstract

A system is provided for publishing a disparate per-client live media output stream based on dynamic insertion of targeted non-programming content and customized programming content. The system generates a first programming schedule that defines locations and types of one or more decision points defined by one or more content placement opportunities in an indexed metadata based on one or more factors. The system further controls publishing of one or more pre-encoded media asset manifests as a first disparate live media output stream manifest based on a schedule of one or more pre-encoded media assets and the one or more decision points defined in the first programming schedule.

Claims (107)

1. A system, comprising at least one memory for storing instructions and one or more processors configured to:

generate a first programming schedule comprising one or more decision points defined by one or more content placement opportunities in an indexed metadata;

control publishing of one or more manifests based on a schedule of one or more pre-encoded media assets and the one or more decision points in the first programming schedule, wherein the one or more decision points indicate real-time facilitation relative to a playback of a media stream that is streamed on a media player of a first client device, and is associated with the one or more manifests reaching the one or more decision points, of one or more user interactions relating to one or more of content exclusion or content selection;

receive a first manifest request from the first client device, wherein the first manifest request is associated with at least one of the one or more manifests, and comprises one or more parameters, and wherein the one or more parameters comprise an indicator of one or more pre-encoded media assets; and

responsive to receiving the first manifest request:

transmit, to a second processor, an identifier representing one or more records for at least one of one or more live input streams and the one or more pre-encoded media assets;

in an absence of the one or more live input streams, select a pre-encoded media asset from the one or more pre-encoded media assets, based on the indicator of the pre-encoded media asset, in place of the one or more live inputs streams;

generate an updated manifest comprising the indicator of the pre-encoded media asset; and

publish the updated manifest to the second processor for streaming the pre-encoded media asset in place of the one or more live input streams for streaming the pre-encoded media asset via the media player of the first client device.

2. The system according to claim 1 , wherein the one or more manifests are selected based on the one or more parameters, and wherein the one or more processors are further configured to:

determine first additional content comprising a customized first programming content and a targeted first non-programming content for the first client device based on the one or more parameters.

3. The system according to claim 2 , wherein the one or more processors are further configured to:

insert the first additional content at the one or more content placement opportunities based on the first programming schedule, wherein the one or more content placement opportunities comprise at least one of programming content indicators, non-programming content indicators, graphical treatment indicators, or interactive content indicators.

4. The system according to claim 3 , wherein the one or more content placement opportunities comprise programming content indicators comprising a plurality of categories for the customized first programming content.

5. The system according to claim 4 , wherein determining the customized first programming content comprises transmitting a request comprising the one or more parameters to a content decisioning service.

6. The system according to claim 3 , wherein, the insertion of the first additional content is further based on the one or more user interactions, and the one or more user interactions indicate a preference for at least a type or a category of at least one of the targeted first non-programming content or the customized first programming content.

7. The system according to claim 2 , wherein the one or more parameters comprise at least one of universal resource locators or identifiers, a plurality of client-specific parameters, and a plurality of client-specified attributes derived from one or more user interactions with the first client device, and wherein the plurality of client-specific parameters comprises user preferences and identifiers, client device preferences and identifiers, and one or more rules governed by geolocation data and position of playback of the media stream.

8. The system according to claim 2 , wherein the targeted first non-programming content comprises personalized advertisements including video advertisements, graphical treatment, cue points, and an interactive content that comprises one or more interactive elements for the targeted first non-programming content, and

wherein the customized first programming content comprises personalized non-advertising content including promotional content, a short-form content, and an alternate additional content for replacement of at least a portion of the media stream.

9. The system according to claim 2 , wherein the one or more processors are further configured to:

modify a portion of the first programming schedule based on the one or more user interactions in response to receiving the first manifest request.

10. The system according to claim 8 , wherein the media stream comprises a default selection of content in response to one or more detections of non-interaction.

11. The system according to claim 10 , wherein the one or more interactive elements indicate options for replacing the targeted first non-programming content or the customized first programming content with default content, selecting alternate customized first programming content, selecting a subsequent second programming content, approving selected customized first programming content, disapproving selected customized first programming content, excluding subsequent second non-programming content for a remaining portion of the media stream played back, selecting one or more targeted first non-programming content of a specific category, or viewing the targeted first non-programming content immediately responsive to one or more of the one or more user interactions indicating to avoid the targeted first non-programming content for a remaining portion of the media stream.

12. The system according to claim 2 , wherein the one or more processors are further configured to:

transmit at least one of universal resource locators or identifiers that reference the one or more pre-encoded media assets.

13. The system according to claim 12 , wherein the one or more processors are further configured to:

retrieve the indexed metadata from a content packaging and distribution system.

14. The system according to claim 2 , wherein one or more processors are configured to:

insert, based on the first programming schedule, the customized first programming content and the targeted first non-programming content into the one or more manifests based on the one or more content placement opportunities in the indexed metadata and one or more rules and conditions defined in a repository of schedules, rights, and user preferences database.

15. The system according to claim 14 , wherein the targeted first non-programming content is identified based on execution of a non-programming content service based on the one or more rules and conditions defined in additional parameters of the repository of schedules, rights, and user preferences database, and the one or more parameters of the first manifest request, wherein the customized first programming content is identified based on the one or more rules and conditions defined in the additional parameters of the repository of schedules, rights, and user preferences database.

16. The system according to claim 1 , wherein the one or more processors are further configured to:

convert the one or more pre-encoded media assets into the media stream; and

facilitate one or more modifications of the media stream based on at least one of a user selection, a user preference, a change in the first programming schedule, or a time-based rule or geolocation-based rule.

17. The system according to claim 16 , wherein the one or more processors are further configured to:

select a second media stream based on at least one of accessibility of the media stream, rules provided by a stream owner or a stream operator, and the user preference, wherein the media stream is unchanged or the media stream has at least one of media or a manifest that is incompatible with a client request.

18. The system according to claim 2 , wherein the one or more processors are further configured to:

transition from the first additional content to an alternate additional content based on one or more transition parameters that comprise (a) the one or more parameters from the first manifest request, (b) a current state of the one or more manifests determined based on accessibility, regular update, and suitable encoding, (c) digital rights management, (d) compatibility with the first client device, (e) rules provided by a stream owner operator, and (f) user preferences defined in a repository of schedules, rights, and user preferences database.

19. The system according to claim 18 , wherein the one or more processors are further configured to:

retrieve alternate metadata for the alternate additional content from a content packaging and distribution system, wherein the alternate metadata indicates a location for the transition from the first additional content to the alternate additional content;

determine placement of the alternate additional content within the one or more manifests based on the indexed metadata and the alternate metadata;

generate an alternate programming schedule for the first client device based on the alternate additional content and the alternate metadata; and

transmit the alternate programming schedule to another processor.

20. The system according to claim 1 , wherein the one or more processors are further configured to:

receive, from a first client device, a request comprising one or more parameters;

determine an alternate additional content for inclusion in the one or more manifests or replace a first additional content in the one or more manifests, wherein the alternate additional content is determined or the first additional content is replaced based on the one or more parameters;

modify the first programming schedule to generate an alternate programming schedule for the first client device, wherein the first programming schedule is modified based on the alternate additional content and associated metadata; and

transmit the alternate programming schedule to at least another processor.

21. The system according to claim 1 , wherein the one or more processors are further configured to:

revoke the one or more manifests published for a first client device based on an identifier primitive associated with a media stream of the first client device, wherein the identifier primitive is determined as a plagiarized media player.

22. The system according to claim 1 , wherein the one or more manifests are generated for a first client device based on a pre-defined conversion mode, wherein the pre-defined conversion mode corresponds to at least one of a pre-encoded media assets to live stream mode, a pre-encoded media assets to live stream mode with scalable architecture, a live stream to live stream mode, or a mixed mode corresponding to a switch between pre-encoded media assets and live streams.

23. A system, comprising at least one memory for storing instructions and one or more processors configured to:

retrieve indexed metadata associated with at least one of one or more live input streams and one or more pre-encoded media assets referenced by at least one of universal resource locators or identifiers;

generate a first programming schedule comprising one or more decision points defined by one or more content placement opportunities in the indexed metadata; and

control publishing of one or more manifests based on a schedule of the one or more pre-encoded media assets and the one or more decision points in the first programming schedule, wherein the one or more decision points indicate real-time facilitation relative to a playback of a media stream that is streamed on a media player of a first client device, and is associated with the one or more manifests reaching the one or more decision points, of one or more user interactions relating to one or more of content exclusion or content selection;

receive a first manifest request from the first client device, wherein the first manifest request is associated with at least one of the one or more manifests, and comprises one or more parameters, and wherein the one or more parameters comprise an indicator of one or more pre-encoded media assets;

wherein in response to receiving a first manifest request from a first client device and associated with at least one of the one or more manifests, a pre-encoded media asset from the one or more pre-encoded media assets, based on the indicator of the pre-encoded media asset, is selected in place of the one or more live input streams in an absence of the one or more live input streams;

generate an updated manifest comprising the indicator of the pre-encoded media asset; and

publish the updated manifest to a content delivery system for streaming the pre-encoded media asset in place of the one or more live input streams for streaming the pre-encoded media asset via the media player of the first client device.

24. The system according to claim 23 , wherein the first client device comprises one or more parameters, and wherein the one or more processors are further configured to:

transmit the first manifest request to another processor; and

identify a customized first programming content and a targeted first non-programming content as a first additional content that is scheduled in the one or more content placement opportunities, wherein the customized first programming content and the targeted first non-programming content are identified based on the one or more parameters in the first manifest request and the indexed metadata, wherein the identifiers refer to records for at least one of the one or more live input streams or the one or more pre-encoded media assets.

25. A computer-implemented method, comprising:

generating, by one or more processors, a first programming schedule comprising one or more decision points defined by one or more content placement opportunities in an indexed metadata;

controlling, by the one or more processors, publishing of one or more manifests based on a schedule of one or more pre-encoded media assets and the one or more decision points in the first programming schedule, wherein the one or more decision points indicate real-time facilitation relative to a playback of a media stream that is streamed on a media player of a first client device, and is associated with the one or more manifests reaching the one or more decision points, of one or more user interactions relating to at least one of content exclusion or content selection;

receiving a first manifest request from a first client device, wherein the first manifest request is associated with at least one of the one or more manifests, and comprises one or more parameters, and wherein the one or more parameters comprise an indicator of one or more pre-encoded media assets; and

responsive to receiving the first manifest request:

transmitting, to a second processor, an identifier representing one or more records for at least one of one or more live input streams and the one or more pre-encoded media assets;

in an absence of the one or more live input streams, selecting a pre-encoded media asset from the one or more pre-encoded media assets, based on the indicator of the pre-encoded media asset, in place of the one or more live input streams;

generate an updated manifest comprising the indicator of the pre-encoded media asset; and

publish the updated manifest to the second processor for streaming the pre-encoded media asset in place of the one or more live input streams for streaming the pre-encoded media asset via the media player of the first client device.

26. The computer-implemented method according to claim 25 , wherein the one or more manifests are selected based on the one or more parameters, and the computer-implemented method further comprises:

determining first additional content comprising a customized first programming content and a targeted first non-programming content for the first client device based at least on the one or more parameters.

27. The computer-implemented method according to claim 26 , further comprising:

inserting, the first additional content at the one or more content placement opportunities based on the first programming schedule, wherein the one or more content placement opportunities comprise at least one of programming content indicators, non-programming content indicators, graphical treatment indicators, or interactive content indicators.

28. The computer-implemented method according to claim 27 , wherein the one or more content placement opportunities comprise programming content indicators, wherein the programming content indicators comprise a plurality of categories.

29. The computer-implemented method according to claim 26 , further comprising:

transmitting a request to a content decisioning service for determining the customized first programming content from a content package and distribution system for matching one or more personalization parameters.

30. The computer-implemented method according to claim 26 , further comprising modifying, by the one or more processors, a portion of the first programming schedule based on the one or more user interactions in response to receiving the first manifest request.

31. The computer-implemented method according to claim 26 , further comprising:

transmitting at least one of universal resource locators or identifiers that reference the one or more pre-encoded media assets to a second processor.

32. The computer-implemented method according to claim 26 , further comprising:

retrieving the indexed metadata from a content packaging and distribution system.

33. The computer-implemented method according to claim 26 , further comprising inserting based on the first programming schedule, the customized first programming content and the targeted first non-programming content into the one or more manifests based on the one or more content placement opportunities in the indexed metadata and one or more rules and conditions defined in a repository of schedules, rights, and user preferences database.

34. The computer-implemented method according to claim 26 , further comprising selecting a second media stream based on accessibility of a media stream, rules provided by a stream owner or a stream operator and user preferences defined in a repository of schedules, rights, and user preferences database, wherein the media stream is unchanged or the media stream has at least one of media or a manifest that is incompatible with a client request.

35. The computer-implemented method according to claim 26 , further comprising transitioning from the first additional content to an alternate additional content based on one or more transition parameters.

36. The computer-implemented method according to claim 35 , further comprising:

retrieving an alternate metadata for the alternate additional content from a content packaging and distribution system, wherein the alternate metadata indicates a location for the transition from the first additional content to the alternate additional content;

determining, by the one or more processors, placement of the alternate additional content within the one or more manifests based on the indexed metadata and the alternate metadata; and

generating, by the one or more processors, an alternate programming schedule for the first client device based on the alternate additional content and the alternate metadata.

37. The computer-implemented method according to claim 26 , further comprising:

receiving a request comprising the one or more parameters from the first client device, determining, by the one or more processors, an alternate additional content for inclusion in the one or more manifests or replacing the first additional content in the one or more manifests,

wherein the alternate additional content is determined or the first additional content is replaced based on the one or more parameters;

modifying, by the one or more processors, the first programming schedule to generate an alternate programming schedule for the first client device,

wherein the first programming schedule is modified based on the alternate additional content and associated metadata; and

transmitting the alternate programming schedule to a second processor to generate an updated manifest for the first client device.

38. The computer-implemented method according to claim 26 , further comprising:

revoking, by the one or more processors, the one or more manifests published for the first client device based on an identifier primitive associated with a media stream of the first client device,

wherein the identifier primitive is determined as a plagiarized media player.

39. A non-transitory computer-readable medium including instructions that, when executed by one or more processors, cause the one or more processors to:

generate a first programming schedule comprising one or more decision points defined by one or more content placement opportunities in an indexed metadata;

control publishing of one or more manifests based on a schedule of one or more pre-encoded media assets and the one or more decision points in the first programming schedule, wherein the one or more decision points indicate real-time facilitation relative to a playback of a media stream that is streamed on a media player of a first client device, and is associated with the one or more manifests reaching the one or more decision points, of one or more user interactions relating to one or more of content exclusion or content selection;

receive a first manifest request from a first client device, wherein the first manifest request is associated with at least one of the one or more manifests, and comprises one or more parameters, and wherein the one or more parameters comprise an indicator of one or more pre-encoded media assets; and

responsive to receiving the first manifest request:

transmit, to a second processor, an identifier representing one or more records for at least one of one or more live input streams and the one or more pre-encoded media assets;

in an absence of the one or more live input streams, select a pre-encoded media asset from the one or more pre-encoded media assets, based on the indicator of the pre-encoded media asset, in place of the one or more live input streams; and

generate an updated manifest comprising the indicator of the pre-encoded media asset; and

publish the updated manifest to the second processor for streaming the pre-encoded media asset in place of the one or more live input streams for streaming the pre-encoded media asset via the media player of the first client device.

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 27, 2023
From: LOHEIDE, DONALD JUDE; SINHA, NISHITH KUMAR; WEBB, NICOLAS PAUL
To: TURNER BROADCASTING SYSTEM, INC.
Reel/Frame 065041/0544 →