Streaming a lot of camera feeds over the internet takes a LOT of bandwidth. Please (eventually) add some transcoding options. There should be distinct options for different purposes. For example, recording footage may have one setting, such as raw, live monitoring over the local network may have another, such as a fast scale operation, and live monitoring over the public internet may have a third transcoding setting, such as a highly-compressed, down-scaled sample with fewer frames.
In SecuritySpy, for example, I monitor camera feeds with a 32 kbps stream. You don't see much, but you do see enough to know when you should look more closely, and it saves gigabytes of bandwidth.
Hopefully you will be able to take advantage of some of the dedicated hardware (such as the GPU) to do the transcoding and avoid burdening the CPU. But even if you have to burden the CPU, that is OK; some of our CPUs can handle it, or at least can handle it for a few cameras.
Needless to say, the software should be smart enough to steal resources from the transcoder for the purposes of recording and archival, in the event settings are made that are too aggressive.