They are not comparable.
For the first instance, the optimal encoding for local viewing is different than the optima encoding for streamed viewing.
Let's talk about video encoding.
In most video encoding format, there are usually two types of frames:
- Intra-coded frame (I-Frame) - these are frames that is transferred in full, this frame can be decoded without knowledge of any other frame. An Intra-coded frame is essentially a static image. Encoders would generate these during sudden transitions. These are less efficient to compress.
- Predicted frame (P-Frame) or Bi-predicted frame (B-Frame) - these are frames that stores only the differences between frames, it can only be decoded if the viewer also knows the previous and/or latter frames. These are much more efficient to compress.
Encoding for local viewing can take advantage of fast disk seeks to make use of more P and B frames, while a video encoded for efficient streaming will have to encode more redundant I-Frame along the entire video even when there is no sudden transitions to accommodate random seeking.
Also, there are two different type of streaming. You can have streaming of a pre-recorded stream (most Youtube videos) and live event streams (e.g. Youtube Live). Due to the latency need, streaming live event cannot take advantage of advanced encoding techniques that takes a long or unpredictable amount of time, while a pre-recorded stream can take as much time as it needs to encode.
Streamed video also is usually encoded with constant bit-rate (CBR). For the same target size, a variable-bit rate (VBR) video will typically have a higher quality than a CBR video. Conversely, a VBR video is smaller for the same quality of a CBR video. An adaptive streaming protocol like DASH has an adaptive bitrate (ABR), which is a compromise between CBR and VBR. ABR allows the viewer to adapt to changes in the network bandwidth. Given a constant, consistent bandwidth, ABR is more or less the same as CBR.
What all these means is that given the same quality and viewing experience, you can encode video for local viewing more efficiently than streamed video, and you can encode video for pre-recorded streams more efficiently than live streams.
Then there is also an overhead in the streaming protocol. A regular HTTP download can use chunked transfer encoding to download the entire file which has very minimal overhead. A streamed download will have to negotiate the chunk and quality of the chunk to transfer. In the grand scheme of things, the overhead of the transfer protocol is relatively minor.
Overall, for the same amount of video watched, streamed video should end up taking a larger amount of bandwidth. The primary advantage of streaming, in terms of bandwidth usage, is that it can save by people that download but doesn't watch the video in full, which can be a very significant saving.
2Depends on the protocol and codec: e.g. download via http and stream via rtmp, or h264 vs vp6. IMO this question is too broad given the amount of compression and data transmission methods to compare. – zamnuts – 2014-10-08T21:51:46.127
Just to clarify your question. By bandwidth you are referring to data rate, not file (movie) size? – Matt H – 2014-10-09T03:16:11.780
An advantage to downloading over streaming (which is technically downloading but for single use only) is that you can consume the material as many times as you want without having to spend your bandwidth on it each time. Some media players can even play videos that you're currently downloading (not fully downloaded), giving the "feel" of streaming with the advantage of downloading. – ADTC – 2014-10-09T03:29:33.110
3Yes I am referring to data rate. The reason I asked is had a disagreement with my sister and when I look online all I could find was vague answers from yahoo answers. I realise there are a lot of variables this depends on but I thought it was at least worth asking. – stemie – 2014-10-09T07:21:28.813
2"In computer networking and computer science, bandwidth, network bandwidth, data bandwidth, or digital bandwidth is a measurement of bit-rate of available or consumed data communication resources expressed in bits per second or multiples of it (bit/s, kbit/s, Mbit/s, Gbit/s, etc.) - wikipedia.org/wiki/Bandwidth_(computing)" – stemie – 2014-10-09T07:34:33.020
@stemie There was an edit to your question saying "data" instead of "bandwidth". If I understand you correctly that's not what you asked. However most answers answer that since the question after "bandwidth" is ill-posed. See my answer for an explanation of the confusion.
– mb21 – 2014-10-09T16:32:18.640