[Live-devel] Query for Live555 forum
Ross Finlayson
finlayson at live555.com
Tue Mar 20 06:22:45 PDT 2007
>I guess
>you have access to the same NDA documents from Amino that I do
No, I don't have *any* documentation about the Amino STBs. (We just
happen to have an AmiNet 110 sitting around as a result of a project
done for an earlier customer; that's what I've been using for
testing.)
Once again, Live Networks, Inc. has no affiliation with Amino
Technologies, and we don't know enough about their hardware to debug
it (even if we had the time/inclination to do so; remember that
they're not the only STB hardware company in existence). If people
are having problems with our server(s) streaming to Amino's hardware,
then the ball is in Amino's court to help figure out exactly why. We
have done our part by making our source code available, and by
providing this public forum. We also have plans (discussed
extensively on this list in early February; see the mail archives for
details) to provide additional Transport Stream 'framer' classes that
should produce smoother inter-packet delays when streaming. (No,
there is no ETA for this; please don't ask :-)
>Most local area lans and ADSL network connections have maximum 5ms
>delay from server, and usually the network jitter is much less than
>that.
Agreed. However, the point stands that if any such client wishes to
work well over the general Internet - as opposed to a single LAN only
- then it *must* provide sufficient jitter buffering. There is
*nothing* that a server can ever do that can overcome a lack of
sufficient buffering at the client.
One of the basic principles of the Internet is that the network is
assumed to be dumb, and therefore intelligence is migrated to the
endpoints. In particular, this means that endpoints should provide
sufficient buffer memory to compensate for network jitter. With
memory being dirt cheap, there is really no excuse anymore not to do
this. (If your hardware budget is so limited that you can't provide
more than 64 kBytes of buffer memory, then perhaps you just can't
expect your the general Internet to be part of your client's target
application space.)
> The reason for making the buffer like this is as noted earlier,
>the low delay trick play functionality. Having a two second buffer is
>not ideal when going ffwd at 32x and pressing play when you see where
>you want to watch from. It will take you a minute forward before you
>are back at 1x.
I don't buy this. When the user presses 1x play again, the client
(STB) can just flush any remaining data in the buffer, and request
that the server resume 1x play from the point in time (NPT) that the
user wishes to resume, not just the last place where it streamed data
at 32x. The RTSP protocol supports this (using the "Range: npt="
header in the "PLAY" request). (Again: Make the endpoints
sufficiently intelligent...)
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
More information about the live-devel
mailing list