Method to Re-Synchronize Live Media Streams, Commands, and On-Screen Events Transmitted through Different Internet Pathways
Systems maintain synchronicity among elements intended to be displayed at various points during a live media stream. At a multimedia player, start playback of a live media stream. The systems receive input from a user selecting a new time of the media stream to playback, which is different than the current playback time of the media stream. The systems adjust playback of the media stream to restart at the new selected time, such that the current playback time of the output media stream is updated to the new selected time. The systems monitor the current playback time of the media stream as adjusted. The systems determine a user-initiated command to execute for displaying one or more visual elements at the multimedia player by polling a command manifest file based on the current playback time as adjusted.
1 - 16 . (canceled)
17 . A computer system for synchronizing interactive events with playback of a media stream, the system comprising:
one or more network-accessible computing systems configured to provide a media stream for presentation, and event timing data defining a plurality of interactive events associated with the media stream; and
a multimedia player executing on a client device and comprising at least one processor and memory storing instructions that, when executed, cause the multimedia player to:
retrieve and present the media stream,
retrieve the event timing data independently of the media stream,
determine a current playback time of the media stream during presentation,
detect playback state changes including at least one playback discontinuity,
compute a synchronization state by comparing the current playback time to timing information associated with the interactive events, and
selectively execute or suppress at least one interactive event based on the computed synchronization state, wherein execution of interactive events is dynamically adjusted in response to the playback state changes without requiring modification of the event timing data.
18 . The system of claim 17 , wherein the event timing data is stored as a manifest structure containing, for each interactive event, at least an event identifier and an associated execution time.
19 . The system of claim 17 , wherein the one or more network-accessible computing systems include a streaming system that segments the media stream into time-based portions referenced by a playlist.
20 . The system of claim 19 , wherein the playlist maintains references to previously generated media segments while adding references to newly generated media segments during an ongoing stream.
21 . The system of claim 17 , wherein a playback discontinuity includes at least one of pausing, rewinding, fast-forwarding, late joining, buffering, or adaptive bitrate switching.
22 . The system of claim 17 , wherein the multimedia player comprises a synchronization module configured to determine which interactive events correspond to a playback position following a playback discontinuity.
23 . The system of claim 22 , wherein the synchronization module comprises a trained machine-learning model that infers an effective synchronization offset based on playback behavior.
24 . The system of claim 23 , wherein the trained machine-learning model is executed locally on the client device.
25 . The system of claim 17 , wherein the interactive events cause display of at least one of a slide, caption, advertisement, statistic, thumbnail, chapter marker, or interactive user interface element.
26 . A computer-implemented method for synchronizing interactive events with playback of a media stream, the method comprising:
making available, by one or more network-accessible computing systems, a media stream, and event timing data defining a plurality of interactive events associated with the media stream;
retrieving and presenting, at a multimedia player executing on a client device, the media stream;
retrieving, independently of the media stream, the event timing data;
determining a current playback time of the media stream during presentation;
detecting a playback state change affecting the playback time;
computing a synchronization state by comparing the playback time to timing information of the interactive events; and
selectively executing, suppressing, or re-executing interactive events based on the synchronization state, wherein synchronization is achieved without altering the event timing data.
27 . The method of claim 26 , wherein the event timing data is stored as a manifest file containing event identifiers and execution times.
28 . The method of claim 26 , wherein detecting the playback state change includes detecting at least one of pausing, rewinding, late joining, or buffering.
29 . The method of claim 26 , wherein computing the synchronization state includes identifying interactive events occurring prior to the detected playback state change.
30 . The method of claim 29 , wherein selectively re-executing interactive events includes executing only a most recent interactive event applicable to the playback time.
31 . The method of claim 26 , wherein computing the synchronization state comprises executing a trained machine-learning model.
32 . The method of claim 31 , wherein the trained machine-learning model infers a synchronization offset based on historical playback data.
33 . The method of claim 26 , wherein the media stream is segmented and retrieved using a playlist that grows over time.
34 . The method of claim 26 , further comprising recalculating the playback time after a seek operation and re-evaluating eligibility of interactive events.
35 . The method of claim 31 , further comprising updating parameters of the trained machine-learning model using results of prior synchronization operations.
36 . The method of claim 26 , wherein the multimedia player executes the interactions within a browser-based or application-based user interface.