Can someone point me the right direction to where I can sync up a live video and audio stream?
I know it sound simple but here is my issue: 

We have 2 computers streaming to a single computer across multiple networks (which can be up to hundreds of miles away).
All three computers have their system clocks synchronized using NTP
Video computer gathers video and streams UDP to the Display computer
Audio computer gathers audio and also streams to the Display computer

There is an application which accepts the audio stream.  This application does two things (plays the audio over the speakers and sends network delay information to my application).  I am not privileged to the method which they stream the audio.
My application displays the video and two other tasks (which I haven't been able to figure out how to do yet).
- I need to be able to determine the network delay on the video stream (ideally, it would be great to have a timestamp on the video stream from the Video computer which is related to that system clock so I can compare that timestamp to my own system clock).
- I also need to delay the video display to allow it to be synced up with the audio.
Everything I have found assumes that either the audio and video are being streamed from the same computer, or that the audio stream is being done by gstreamer so I could use some sync function.  I am not privileged to the actual audio stream.  I am only given the amount of time the audio was delayed getting there (network delay).
So intermittently, I am given a number as the network delay for the audio (example: 250 ms).  I need to be able to determine my own network delay for the video (which I don't know how to do yet).  Then I need to compare to see if the audio delay is more than the video network delay.  Say the video is 100ms ... then I would need to delay the video display by 150ms (which I also don't know how to do).  
ANY HELP is appreciated.  I am trying to pick up where someone else has left off in this design so it hasn't been easy for me to figure this out and move forward.  Also being done in Python ... which further limits the information I have been able to find. Thanks.  
Scott
A typical way to synch audio and video tracks or streams is have a timestamp for each frame or packet, which is relative to the start of the streams.
This way you know that no mater how long it took to get to you, the correct audio to match with the video frame which is 20001999 (for example) milliseconds from the start is the audio which is also timestamped as 20001999 milliseconds from the start.
Trying to synch audio and video based on an estimate of the network delay will be extremely hard as the delay is very unlikely to be constant, especially on any kind of IP network.
If you really have no timestamp information available, then you may have to investigate more complex approaches such as 'markers' in the stream metadata or even some intelligent analysis of the audio and video streams to synch on an event in the streams themselves.
How to sync 2 streams from separate sources