http://lists.apple.com/archives/streaming-server-users/2005/Apr/msg00051.html
Peter,
Latency occurs at three stages:
1) the encoder generates a short latency (usually tens of milliseconds) during the capturing and encoding of the source video.
2) the server creates a small buffer (usually tens of Kbps) so it can guarantee a reliable stream to all the users, in case of a network dip between the encoder and the server
3) the client creates a large buffer (QT buffers approx. 25 seconds) because the Internet is a patchwork of networks without any QoS guarantee whatsoever, and the stream to the end user needs to be as reliable as possible.
You can tweak a lot in the streamingserver.xml (look at the template file, it has a lot of comments) and get the latency as low as possible. But this is a trade-in to reliability.
The design of streaming media technology is targeted for reliable, high quality and high volume streams at the internet: one-way streaming on a non-reliable network. If you have a project where volume, reliability and quality are less important than low-latency, (like videoconfercing) you should consider switching technology. There are some MPEG-4 based videoconferencing systems available (which are compatible with QTSS/DSS by the way).
If you need to sync multiple MPEG-4 streams then you can hack around in DSS. I've seen DSS builds where the internal RTSP/RTP timecodes were replaced by a synced timecode. These guys could actually sync DVB video with IP streams on a single Set Top Box.
QuickTime Latency
I have done exhaustive research regarding this in the past but I still have persistent problems with latency when using QuickTime or MPEG-4 streaming in my projects so I am doing the research again (and posting it here so I can find it later).
Here are the links for further examination (from Apple's Mailing Lists):
Latency on Streaming Server - Some information - How to change a setting on the QTSS that controls one aspect of latency created by the server.
Re: latency problem - Explains the reasoning for the latency from Apple's point of view.
Re: Instant-On & double frame rate - Gives a rundown on editing the server config to reduce latency.
Re: Video conferencing - More of the same
Getting real-time streaming to be more real-time - interesting note regarding specifing time stamp increments in video/audio samples to reduce latency. A major hack.
Re: I found there are more than 7 seconds time delay between the real live - More about what the latency is all about.
Re: Getting real-time streaming to be more real-time - Change the SDP file to set the default buffer on the player lower.
Re: Streaming latency between two separate computers - Use multicast
Re: Request for User-Configurable Latency Parameters - One of the original emails quoted above for changing latency parameters.
Re: buffering time - Changing buffering time in home made QT playback app (using QT API, should therefore work with QT4J).
Re: buffering time - More of the same.
Last: Use these libraries to build own streaming server and client: LIVE.COM Streaming Media: RTP/RTCP and RTSP Open Source Libraries
Ok.. now to try out all of the possibilities..