We need CPU for compression

The process of video encoding used to require very expensive gear in the past, while at the time being we can easily think of any user-end system as something capable to compress and stream video online, and thanks to the constant evolution we experience with computers, we can safely expect a wider access to these technology in the future.

A rough picture of a computer capable to handle live video encoding at full PAL resolution is a 1Ghz Pentium3 with 512MB of RAM, anything more is better; in particular the Pentium4 (as well processors from the same "generation") improves much the latency and the performance thanks to its special extended instructions [1] made to deal exactly with realtime video processing.

Still, the quality achived by a a fast CPU is often made unnecessary: unless we really need superior quality (for certain artistical reasons for instance) we can lower our profile and settle on a broadcast quality level, which may vary in its definition.

In fact for content like interviews the video is way less important than the audio in vehicling the message, therefore its quality can be low, saving resources and widening the potential pool of listeners. Again in video conferencing the low detail of a figure speaking can be alternated to the higher detail of a still image (better if in vectorial format) accessed from the web at the right time - and such a setup can be also remotely controlled with tools like VNC or using the UNIX X Windows environment itself - whereas to stream everything via encoded video would be a sinful waste.

Such concerns about the kind of contents we are going to make available are of crucial importance when planning a succesful distribution of audio and video materials among a large audience, while they greatly affect our requirements in terms of CPU, as well network usage. So let's go talking about network.

Notes

[1]

on the PC, the SSE and SSE2 instruction sets can be considered as an evolution of the MMX set, also implementing accelerated 64bit floating point instructions, see the documentation on tommesani.com/Docs.html