A method for time-based synchronization of multiple media streams
transmitted over a communications network, such as the Internet, by
multiple, independent streaming media sources. First and second media
streams of data packets are received from first and second media sources.
Timing data is parsed from the two media streams, and first and second
transmission delay values are determined by comparing the timing data
with a reference time. A synchronized media stream is created by
combining the first and second media streams into a time-synchronized
media stream with adjustments to correct for calculated transmission
delay values. Feedback signals are sent to the media sources to control
transmission variables such as stream length, transmission rate, and
transmittal time to manage the variable delay at the media source. The
first and second media streams are decoded into intermediate media
streams compatibly formatted to allow mixing of the streams and data
packets.