Patent ID: 11909794
Assignee: OPENEXCHANGE, INC.
Field: Digital communication (Electrical engineering)
Classification: CPC H | IPC H

Claim 0:
1. A computer system comprising:
a re-synchronizing live stream playback computer system configured to re-synchronizing playback of a live media stream via a publishing client with execution of a stream of out-of-band commands, the re-synchronizing live stream playback computer system including:
the publishing client operated by a publisher user, the publishing client configured to:
obtain (i) a location of an output media stream, (ii) a start time at which a media encoder began capturing and encoding an input, and (iii) an offset time adjusting the start time at the publishing client;
transmit the location of the output media stream, the start time, and the offset time to a publishing server;
enable the publisher user to initiate new commands at particular times, the new user-initiated commands being relevant to the input simultaneously captured and encoded by the media encoder; and
transmit the new user-initiated commands to the publishing server;

the publishing server coupled to the publishing client, the publishing server configured to:
receive the location of the output media stream, the start time, and the offset time from the publishing client;
generate and maintain a command manifest file;
write the received location of the output media stream and the start time as a first command in the command manifest file;
receive the new user-initiated commands from the publishing client;
append the new user-initiated commands to the command manifest file as the user-initiated commands are received from the publishing client, each new received user-initiated command being appended to the end of the command manifest file, wherein each new received user-initiated command being appended with (i) a server clock time indicating time the new user-initiate command is received at the publishing server, (ii) the offset time, (iii) a command type, and (iv) a command parameter for executing the command; and
at least one of: host the command manifest file or transmit the command manifest file to a CDN for delivery to a multimedia player;

a multimedia player running on a client device of a viewer user, the multimedia player configured to:
retrieve the command manifest file from at least one of: the publishing server or the CDN;
parse the location of the output media stream from the retrieved command manifest file, the parsed location being used to load and buffer the output media stream for presentation to the viewer user;
start playback of the output media stream;
monitor current playback time of the output media stream; and
determine whether to execute a new user-initiated command to display in a user interface of the multimedia player by polling the command manifest file based on the current playback time, if the sum of the start time and the current playback time is (a) greater than or equal to the sum of server clock time of the new user-imitated command, plus the offset time of the new user-initiated command, and (b) less than the sum of server clock time of a next immediate new user-initiated command in the command manifest file, plus offset time of the next immediate user-initiated command.