We need bandwidth for distribution

A crucial parameter in network streaming is, of course, bandwidth. That is the amount of traffic generated by a stream, which strictly depends from our connectivity. It is directly proportional to the quality and resolution of images, therefore the general rule is: the more quality you need, the more bandwidth you need.

In case the connection available is only a dialup modem we have a very tight bound for doing video streaming: the best solution is to use lower frame rates (1 frame per second) and a smaller image canvas of 320x240 pixels (approximately half PAL/NTSC resolution) or below.

With higher connection rates (cable modem, ASDL or if we are lucky T1 class connectivity) we can raise our image quality up to 24fps and larger sizes, keeping the balance between those two parameters.

A significant parameter is the geographical proximity to the stream listeners we want to reach: over long distances our transmission will be limited by the network nodes we are crossing and by the connectivity available to the people watching the stream; while over shorter distances (our same urban or national area, or within our specific Internet Service Provider) we might take advantage of a even larger bandwidth than what is nominally available to us.

In any case an empirical test in collaboration with somebody taking up our stream from the place where it should be received will give us a clear idea of the results of our efforts.

The measures used for bandwidth are two: MegaBytes per second (MB/s) and Megabits per second (Mb/s). They are equivalent and can be converted from one another thru a simple calculation: one MegaByte is 8 Megabits. These measures define the throughtput of data required by a correct visualization of the video stream, as well for its correct transmission, therefore we are talking about an amount of bandwidth which is necessary on both ends of the streaming flow.

A rough estimation of the compression/storage ratio obtained by a common MPEG2 encoding is 1.8Gbytes per hour, for instance to store a full screen DVD in average quality on your harddisk. In terms of realtime streaming, this means about 4 Megabits per second (4Mb/s), which can also be quantified as 582 KiloBytes per second (582KB/s).

Tip

here is how some of the above calculations are done:

  1. 2GigaBytes of stored video /60 mins /60 secs = 596523 bytes per sec

    1. 596523 bytes per sec /1024 = 582 KB/s (Kylobytes per sec)

  2. 596523 bytes per sec *8 = 4772184 bits per sec

    1. 4772184 bits per sec /1024 /1024 = 4 Mb/s (Megabits per sec)

Full quality encoding it is often meaning a bitrate of 6Mbit per second (768KB/s), which walking back thru the above calculus leads to a compression/storage ratio of 2.6Gbytes per hour on your harddisk.

As we can see the bitrate is directly proportional to the space required to store the video stream. Let's focus now to the aspect of storing the video we are going to stream, or which is in turn streamed to us.