US 12,407,891 B2
Systems and methods for concurrently playing multiple remotely stored media files in a web browser
David Bellemare, Saint-Eustache (CA); and Samuel Ledoux, Sainte-Thérèse (CA)
Filed by GENETEC INC., Montréal (CA)
Filed on Oct. 27, 2021, as Appl. No. 17/512,341.
Prior Publication US 2023/0125371 A1, Apr. 27, 2023
Int. Cl. H04N 21/43 (2011.01); H04N 21/472 (2011.01); H04N 21/6587 (2011.01)
CPC H04N 21/43072 (2020.08) [H04N 21/47217 (2013.01); H04N 21/6587 (2013.01)] 30 Claims
OG exemplary drawing
 
1. A method to seek a requested playback time for concurrently playing in a display area of a plurality of display areas provided on a web page of a web browser, running on a client computer having one or more processors, memory, and a network interface, remotely stored media files of multiple media sources, each one of said multiple media sources providing segments of media content corresponding to the remotely stored media files, the method comprising:
a) providing, on said web page displayed by the web browser running on the client computer, a reference timeline based at least in part on metadata of a set of remotely stored media files of said remotely stored media files associated with each one of said media sources;
b) receiving a seek instruction comprising a first requested playback time on the reference timeline;
c) identifying a subset of remotely stored media files of said set of remotely stored media files associated with each of said multiple media sources, which are to play at the first requested playback time on the reference timeline based at least in part on the first requested playback time on the reference timeline and the metadata of the subset of remotely stored media files associated with each one of said media sources, wherein said identifying includes calculating a respective first expected playing time of each media file of the subset of remotely stored media files, based at least in part on said first requested playback time on the reference timeline and the metadata of each media file of the subset of remotely stored media files;
d) retrieving a portion of the media content of each media file of the subset of remotely stored media files associated with each of said multiple media sources for the first requested playback time of said seek instruction, from remote storage via the network interface of the client computer;
e) loading said portion of the media content of each media file of the subset of remotely stored media files into a respective buffer of a plurality of buffers, each buffer of the plurality of buffers associated with a corresponding display area of said plurality of display areas;
f) monitoring each buffer associated with each corresponding display area of said plurality of display areas; and
g) outputting, respectively, the retrieved media content of each media file of the subset of remotely stored media files associated with each of said multiple media sources to said corresponding display area associated with each media source of said plurality of display areas provided on the web page, when each buffer associated with each corresponding display area of said plurality of display areas is in a suitable state for a playback of the retrieved media content in synchronization.