views:

802

answers:

6

I am creating an application for remote-auctioneering a live auction. Key to the application is that there is minimal latency between the actual sale and the end-viewers. I understand that there are alot of factors in latency - but buffering needs to not be one of them. The client needs to not buffer at all. Here are the priorities for what we need:

  1. Low-latency (less than 2 seconds) from the point of recording to the end-viewer
  2. web-based client that requires as little installation as possible. This means if it runs on a solution most people have installed (flash, java) that is great. Custom active-x (ie) and plugins (firefox) are less desirable. I know that amongst streaming clients quicktime and wmp both do not work well with the idea of low-latency or zero buffering.
  3. A server solution for receiving a single stream and broadcasting it out. The most important thing about the server is that it works with item 2.

Here are some things we have tried or looked at.

  1. Adobe flash media server with a flash client - Adobe media server seems to have little support for low-latency streams. Something over UDP would be great.
  2. Wowza media server with a flash client - We actually tested this and found that the latency was pretty low. However, we did see latency grow with poor bandwidth, etc. Instead of seeing the latency grow, I would prefer the client to drop frames to keep things current.

Does anyone have any other suggestions?

A: 

Why haven't you look at Window Media Server (Comes with Window Server 2003 and up)?.
It is supported on most browsers (IE, Firefox, Chrome) and stream live video feeds.

Shay Erlichmen
Because latency on Windows Media Server is around 15 seconds
MonkeyBrother
Document? or by testing?, I worked with it and got way better results then 15 seconds.
Shay Erlichmen
A: 

We have done something similar and are using Unreal Media streaming software. So far we have got latency down to around half a second on video and audio, depending on quality. One thing we have found though is that seperate streams for audio and video improve the latency and prevent buffering.

We did look at flash and wozwa but the main issue we had was encoding rather than distributions and WMS is just hopeless for low latency. We could only get it down to around 5 seconds in our LAN. Shame as our client is Silverlight so we would prefer to use this for simplicity.

Simon Dick
A: 

Good product that you should look at is Vidyo. (http://www.vidyo.com) Not free---but great results due to H.264SVC coding.

A: 

I'm with you on the low latency thing. I need it too. I'm at 4-7 seconds on an FMS/Flash client set up. I'm pumping H.264 via Flash Media Live Encoder to FMS 3.5 through a T1 from a Core 2 duo machine at about 350kbs, 320x240.

On the receiving end I'm using the dynamic streaming player on Adobe's Flash Media Server productivity tools page. I've dropped live streaming buffering in it to 0 (PREFERRED_BUFFERLENGTH_LIVE:Number = 0 in DynamicStream.as). That cut about 7-10 seconds from the trip.

I haven't looked at FMS settings yet. Are there buffer tweaks there?

I'll do some more here and report sucesses and failures.

+1  A: 

We found that with the latest version of Wowza on an amazon EC2 instance we can get sub-second latency with the streamer and client here on the west coast (amazon EC2 is on the east coast). Pretty impressive. We found the latency issues were related to the fact we were using Flex as a video client. When we use flash it works great!!!

MonkeyBrother
A: 

Thank you all or this informative thread.

Apologies for this noob question:

We are a video postproduction facility that needs the unfortunate combination of lowest latency -- and the highest SD and HD quality -- so we can work remotely with 2 or 3 clients at a time on our projects.

Would anyone be willing to offer their opinion of the best options from both an encoding platform (WME FME...) and server platform -- that can deliver that combination?

And, it is foolhardy to think that we might be able to stream direct to a CDN like Akamai without a "server component (I think WME can do this - but I am not sure of the quality)?

And, finally, for an infrequently used -- and low viewer number application like ours -- can anyone recommend their favorite CDN choice -- and maybe one that has a pay-as-you-go plan -- rather than commiting to a fixed amount of bandwidth every month? (we never have any warning regarding the geographical location of our clients -- but they are all US)

Much appreciation for your help.