US 11,910,040 B2
Methods and systems for packagers used in media streaming
Moin Pansare, Aurora, CO (US); Sachin Reddy Kota, Centennial, CO (US); David Agranoff, Golden, CO (US); and Vipul Patel, Great Falls, VA (US)
Assigned to Charter Communications Operating, LLC, St. Louis, MO (US)
Filed by Charter Communications Operating, LLC, St. Louis, MO (US)
Filed on Mar. 16, 2021, as Appl. No. 17/203,287.
Prior Publication US 2022/0303598 A1, Sep. 22, 2022
Int. Cl. H04N 1/23 (2006.01); H04N 21/236 (2011.01); H04N 21/235 (2011.01); H04N 21/61 (2011.01); H04L 65/61 (2022.01)
CPC H04N 21/23614 (2013.01) [H04L 65/61 (2022.05); H04N 21/2353 (2013.01); H04N 21/6125 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A packager system comprising:
packagers configured to process packets, each packager having:
a packet listener configured to listen for the packets,
a sequence list generator configured to generate a sequence list from the packets, and
a segment generator configured to generate segments from the packets,
wherein each packager is configured to push the segments, the sequence list, and metadata to at least one cluster controller, wherein the segments are immediately pushed to the at least one cluster controller after the segments are generated; and
the at least one cluster controller remotely located from the packager, wherein the at least one cluster controller is in communication with the packagers, and includes a manifest generator located outside and remote from the packagers, the at least one cluster controller configured to:
configure a packager from the packagers as an active packager by enabling a packet listener, a sequence list generator, and a segment generator;
receive segments, sequence list, and metadata based on processed packets from the active packager;
generate, via the manifest generator, a manifest based on the segments, the sequence list, and the metadata received from the active packager;
send the segments and the manifest received from the active packager to a streaming system component;
configure another packager from the packagers as a backup packager by disabling a respective segment generator and enabling a respective packet listener and a respective sequence list generator to listen for the packets and generate a sequence list before disabled respective segment generator becomes enabled; and
responsive to determining that the packet listener of the active packager and the respective packet listener of the backup packager are not in synchronization, use the manifest generator of the at least one cluster controller to compare respective program transport stream (PTS) timestamps of a last available segment and a newly pushed segment, and insert a period to a newly pushed segment when there is a gap between the respective PTS timestamps.