> * The contribution nodes will communicate with the hub over ADSL or
> SDSL lines or possibly 3G.
> * The picture and audio quality must be good enough that you would
> watch them on television.
These two requirements are pretty much mutually exclusive...
SD DVB-S, for example, uses approx 6Mb/s. Using a more recent codec will
reduce that bandwidth somewhat, but you need to drop it by roughly an
order of magnitude to do the sort of thing you're talking about - that's
not an easy job.
The alternative is to reduce the video quality, by increased compression
(think FreeView) or by frame-dropping.
> * Each contribution node will stream video and audio from an
> attached (standard definition) camera and microphone to the hub on
> demand.
> * The hub will return a single stream of audio (needs to be low
> latency) so the contributor can hear the program.
This is looking like a videoconferencing application. Take a look at
H.323-type solutions...
> * The hub node must have a UI that is usable by a non-technical
> person.
That involves judgement calls - what does the hub need to do, and how are
you defining "non-technical"?
> My initial thought was to get a rack mount machine for the hub and a
> fleet of mini-ITX machines for the contribution nodes.
Do you have space constraints?
Rack-mounting is often used to increase processing density (amount of
grunt per unit area of floorspace), but it has significant downsides -
like noise and heat. Does this need to go into an existing rack, or would
a floor-standing unit be better?
Mini-ITX will give you design tradeoffs at the far end - again, mini-ITX
is largely about optimising for size; if size is less important, you'll
probably be able to do something more effective for less money.
> I was wondering
> if it would be possible to run IPCop (or a similar firewall) in a VM to
> protect the main OS and apps.
Why not just run the firewall on the core OS? Stick your apps into VMs if
necessary.
> IPCop would also make the machines into a
> VPN so they appear to be a single network to the hub.
OpenVPN builds a nice VPN - and it's all key-based.
> We use VLC
> successfully at work and I was wondering if we could leverage that to
> compress and serve the video back to the hub.
That's what it was built for. But I still think you need to rethink your
bandwidth/quality compromise.
> Would a Mini-ITX box be (wo)man enough to handle the video and audio
> compression, firewall and the VM overhead
I wouldn't. Video compression is a fairly CPU-intensive task as your
compression ratios increase; you might like to see if you can get hardware
assistance for it (the motion estimator is the worst bit - and that's more
bandwidth-intensive than compute-heavy).
Vic.