A full featured video editing software is a major undertaking imo.
Is that what you actually need, or do you need a more focused set of
Full HD (1080p) means 1080 lines progressive (as opposed to 1080i -
In essence it means your software need to be able to handle 1920x1080 pixels
per frame of at least 24 bit resolution each... in other words a quite
significant image size, of which there must be 24 or 25 per second
(depending on if running aligned with cinema recordings or not)..
Provided the video each user needs to see is the same (and relatively in
sync with eachother), the best way from a performance point of view, is to
use multicasting. Its a variation of UDP.
However if you need to stream different video streams to each client, then
you are better off using a specialized UDP point to point protocol. But you
can be sure that to stream 2500 different HD streams to 2500 simultanious
clients is no small task. You will definitely need to balance the load over
multiple stream hubs, and most likely multiple networks.
Not for what you are talking about imo. You could take a look at the WIB, as
it potentially could assist you there. But again, its not a simple task due
to the massive amount of data. You will need to stream around 30mb/sec per
client, and that is compressed data. Hence you also need to either
precompress the streams, or have enough CPU power to compress on the fly.
Hence you will definitely want to use kbmMW's loadbalancing or similar
loadbalancing mechanisms to spread the load over multiple servers/hubs.
Byte wise the WIB only adds around 52-92 mandatory bytes per packet. So its
Another thing that may be of higher importance is how the data is streamed.
The default streamformatters provided with kbmMW are designed to be general
purpose streamformatters, handling all sorts of different developer options.
Hence there are overhead in them, both CPU wise and memory wise.
Performance wise, I would look at getting on the alfa/beta of the new kbmMW
IOCP based transport, my colleague, Richard Gillingham is working on. Its
designed for large number of clients and low use of memory by incorporating
multiple performance enhancing inventions.
www.myc4d.com - Your access to cool code
blogs.myc4d.com - Your access to code tidbits and comments
The best components for the best developers
Application server enabling technology for developers