Publishing disparate live media output streams in mixed mode
A system is provided that generates a disparate live output stream manifest. In first instance, second live input stream manifest or first pre-encoded media asset manifest is inserted into disparate live output stream manifest based on first transition due to at least one of first event in first live input stream manifest and program start message in second live input stream manifest or first pre-encoded media asset manifest. In second instance, second pre-encoded media asset manifest or second live input stream manifest is inserted based on second transition due to second event in first pre-encoded media asset manifest. Insertion is from location of program start message such that indexed media segments corresponding to second live input stream or second pre-encoded media asset are streamed on disparate live media output stream. Disparate live output stream manifest, generated based on the first or the second instance, is published to content delivery system.
1. A system, comprising a memory including instructions and
one or more processors configured to:
generate a disparate live output stream manifest based on a first live input stream associated with a first live input stream manifest or a first pre-encoded media asset associated with a first pre-encoded media asset manifest, wherein generating the disparate live output stream manifest based on the first live input stream comprises:
inserting a second live input stream manifest or the first pre-encoded media asset manifest into the disparate live output stream manifest based on a first transition, the first transition due to at least one of (a) a first event in the first live input stream manifest, or (b) a program start message in at least one of the second live input stream manifest or the first pre-encoded media asset manifest, and
wherein generating the disparate live output steam manifest based on the first pre-encoded media asset comprises:
indexing media segments 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
inserting a second pre-encoded media asset manifest or the second live input stream manifest into the disparate live output stream manifest based on a second transition, the second transition due to a second event in the first pre-encoded media asset manifest,
wherein the second live input stream manifest or the second pre-encoded media asset manifest is inserted from a location of a program start message into the disparate live output stream manifest such that the indexed media segments corresponding to the second live input stream or a second pre-encoded media asset associated with the second pre-encoded media asset are streamed on a disparate live media output stream; and
transmit the disparate live output stream manifest to a content delivery system.
2. The system according to claim 1 , wherein the disparate live output stream manifest is further generated based on one or more additional parameters and one or more programming schedules, and
wherein the one or more additional parameters comprise information that pertains to at least one of preferred content, demographic data, a geographic location of a consumer, rights associated with one or more live input streams, or rights associated with one or more pre-encoded media assets.
3. The system according to claim 1 , wherein the first live input stream manifest and the first pre-encoded media asset manifest comprise indexed media segments which are transmitted in the disparate live output stream manifest.
4. The system according to claim 1 , wherein the one or more processors are further configured to:
identify one or more programming schedules, 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 one or more programming schedules.
5. The system according to claim 1 , wherein the one or more processors are further configured to:
insert a filler content into the disparate live output stream manifest until the program start message is detected.
6. The system according to claim 1 , wherein the one or more processors are configured to:
modify the first live input stream manifest or the first pre-encoded media asset manifest that causes retransmission of one or more media segments of the first live input stream or one or more segments of the first pre-encoded media asset on the disparate live media output stream until a 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 comprise program overlay non-programming content indicators.
8. The system according to claim 1 , wherein a disparate live output stream corresponding to the disparate live output stream manifest has an associated profile corresponding to at least one of a resolution, digital rights management, or a bitrate of the disparate live media output stream.
9. The system according to claim 1 , wherein the one or more processors are further configured to:
receive one or more live input streams and one or more pre-encoded media assets from one or more sources;
receive one or more live input stream manifests and one or more pre-encoded media asset manifests; and
ingest the one or more live input stream manifests and the one or more pre-encoded media asset manifests in an indexing and storage system.
10. 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,
wherein the second event corresponds to a second detection of a program end message in the first pre-encoded media asset manifest, and
wherein a third event corresponds to a third detection of a program start message in at least one of the second live input stream manifest or the second pre-encoded media asset manifest.
11. The system according to claim 1 , wherein the disparate live output stream manifest corresponds to a programming schedule based on which one or more live input streams and one or more pre-encoded media assets are transmitted in the disparate live media output stream.
12. The system according to claim 1 , wherein the second event corresponds to a transition point that corresponds to a time stamp 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 one or more processors are configured to:
index one or more live input stream manifests and one or more pre-encoded media asset manifests; and
index one or more indicators in each of the one or more live input stream manifests and the one or more pre-encoded media asset manifests.
14. A computer-implemented method, comprising:
generating, by one or more processors, a disparate live output stream manifest based on a first live input stream associated with a first live input stream manifest or a first pre-encoded media asset associated with a first pre-encoded media asset manifest, wherein generating the disparate live output stream manifest based on the first live input stream comprises:
inserting, by the one or more processors, a second live input stream manifest or the first pre-encoded media asset manifest into the disparate live output stream manifest based on a first transition, the first transition due to at least one of (a) a first event in the first live input stream manifest, or (b) a program start message in at least one of the second live input stream manifest or the first pre-encoded media asset manifest, and
wherein generating the disparate live output steam manifest based on the first pre-encoded media asset comprises:
indexing, by the one or more processors, media segments 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
inserting, by the one or more processors, a second pre-encoded media asset manifest or the second live input stream manifest into the disparate live output stream manifest based on a second transition, the second transition due to a second event in the first pre-encoded media asset manifest,
wherein the second live input stream manifest or the second pre-encoded media asset manifest is inserted from a location of a program start message into the disparate live output stream manifest such that the indexed media segments corresponding to the second live input stream or a second pre-encoded media asset associated with the second pre-encoded media asset manifest are streamed on a disparate live media output stream; and
transmitting, by the one or more processors, the disparate live output stream manifest to a content delivery system.
15. The computer-implemented method according to claim 14 , wherein the disparate live output stream manifest is generated further based on one or more additional parameters and one or more programming schedules, and
wherein the one or more additional parameters comprise information that pertains to at least one of preferred content, demographic data, a geographic location of a consumer, rights associated with one or more live input streams, or rights associated with one or more pre-encoded media assets.
16. The computer-implemented method according to claim 14 , wherein the first event corresponds to a first detection of the 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 a third event corresponds to a third detection of a program start message in at least one of the second live input stream manifest or the second pre-encoded media asset manifest.
17. The computer-implemented method according to claim 14 , wherein the first live input stream manifest and the first pre-encoded media asset manifest comprise indexed media segments which are transmitted in the disparate live output stream manifest.
18. The computer-implemented method according to claim 14 , further comprising:
receiving, by the one or more processors, one or more live input streams and one or more pre-encoded media assets from one or more sources;
receiving, by the one or more processors, one or more live input stream manifests and one or more pre-encoded media asset manifests; and
ingesting, by the one or more processors, the one or more live input stream manifests and the one or more pre-encoded media asset manifests in an indexing and storage system.
19. The computer-implemented method according to claim 14 , wherein the disparate live output stream manifest corresponds to a programming schedule based on which one or more live input streams and one or more pre-encoded media assets are transmitted in the disparate live media output stream.
20. A non-transitory computer-readable medium having instructions stored thereon that when executed by one or more processors, cause the one or more processors to:
generate a disparate live output stream manifest based on a first live input stream associated with a first live input stream manifest or a first pre-encoded media asset associated with a first pre-encoded media asset manifest,
wherein generating the disparate live output stream manifest based on the first live input stream comprises
inserting a second live input stream manifest or the first pre-encoded media asset manifest into the disparate live output stream manifest based on a first transition, the first transition due to at least one of (a) a first event in the first live input stream manifest, or (b) a program start message in at least one of the second live input stream manifest or the first pre-encoded media asset manifest, and
wherein generating the disparate live output steam manifest based on the first pre-encoded media asset comprises:
indexing media segments 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
inserting a second pre-encoded media asset manifest or the second live input stream manifest into the disparate live output stream manifest based on a second transition, the second transition due to a second event in the first pre-encoded media asset manifest,
wherein the second live input stream manifest or the second pre-encoded media asset manifest is inserted from a location of a program start message into the disparate live output stream manifest such that the indexed media segments corresponding to the second live input stream or a second pre-encoded media asset associated with the second pre-encoded media asset are streamed on a disparate live media output stream; and
transmit the disparate live output stream manifest to a content delivery system.