Search questions:


Browse by Category:

How does Google and others stream huge files without the video pausing every few moments to catch up?
Printer friendly page
Views: 1
Votes: 5
Best selling ebooks:

Streaming video quality is dependent in part upon the process of how it's encoded for transmission, the amount of bandwidth required for it to be viewed properly on the viewer's end, what method being used for the video files to be delivered and the server hosting your video files.

Google likely has the lowest possible encoding at the lowest bandwidth and they likely have dedicated servers hosting their video files which allow for quicker streaming.

Encoding techniques you can use for faster display:

It's usually standard practice to produce or encode streaming video for delivery over the Internet at a minimum of standard 56K modem speed since many users are still connected at these speeds. To digitize a video so that it will stream at this speed, a high degree of compression is applied to both the video and audio tracks. This process eliminates portions of the audio and video data, which is why most videos you see don't appear or sound as clear as you'd like.

It is advisable, however, to also prepare alternate video clips which are of higher video and audio quality, and which are specifically meant for transmission to visitors who are connecting to your web site at higher speeds. When we encode video for higher speed connections, less compression is used and a smaller amount of audio and video data is lost. As a result, these alternate video files are larger in size and require the faster connection speed to be seen as streaming video.

A user who is connected to the Internet using a high speed cable modem or DSL connection, for example, can watch any streaming video clip which has been encoded for transmission at their connection speed or lower. However, a user who is connected to the Internet using a 56k modem who attempts to view a streaming video clip which has been specifically digitized and encoded for transmission to cable modem users, for example, will get very choppy video which plays for a second or two and then pauses for several seconds until more video data is transferred to their PC.

Keeping your viewer's bandwidth requirements in mind

So that you can anticipate how much file storage space you'll require when you encode your videos, here's a chart which details file sizes based on video that has been encoded at different bandwidth speeds. Although these are some of the more popular choices, you can encode your videos using any bandwidth settings you specify.

File Storage Space Required Per Minute Of Streaming Video
Based On Video Encoded At Different Delivery Speeds
Video Encoded At This Connection Speed Typical User Bytes Per Minute of Video
21 Kbits/sec. 28.8 modem users 160,000
37 Kbits/sec. 56K modem users 280,000
80 Kbits/sec. ISDN & slow corporate networks 600,000
100 Kbits/sec. ISDN & slow corporate networks 750,000
150 Kbits/sec. Fast corporate networks 1,125,000 (1.125 meg)
250 Kbits/sec. DSL, cable modem, satellite dish, and very fast corporate networks 1,875,000 (1.875 meg)
300 Kbits/sec. DSL, cable modem, satellite dish, and very fast corporate networks 2,250,000 (2.25 meg)
500 Kbits/sec. Fast cable modem and very fast corporate networks 3,750,000 (3.75 meg)

Video delivery methods

Progressive streaming (progressive download)

This is delivered over http, and doesn’t require any additional software other than the existing standard webserver e.g apache / IIS / lighttpd.  The video data will load as fast as the users connection allows.


   1. Easy to implement
   2. Cheap


1. The flv video file caches (this may be an advantage depending on use case - repeated play by a user will not require additional bandwidth if the file is still cached by their browser)

2. More bandwidth is consumed than necessary in certain use cases (e.g the user starts playing video, and while they are viewing the rest of the video downloads and caches – the user then stops watching before the end, but all video bandwidth has been consumed as if they watched the full video clip).

3. The video playhead can’t ‘seek’ within the video beyond the point where file download has reached.

Enhanced Progressive streaming

This is implemented similarly but with extra server side scripting to read the flv file and serve it - essentially acting like an intelligent proxy for the flv. Lighttpd web server has a module that helps implement this. There are open source php/ scripts available to implement this type of streaming.

The advantages/disadvantages are the same as for progressive download above except there is an extra level of complexity to implement - the flv video files need to have the correct metadata inserted when encoded, there is an additional cpu overhead on the server, but it enables full random access to seek to any point within the video, whether the file has cached to that point or not.

RTMP Streaming

This method of delivery is associated primarily Adobe Flash Media Server (previously known as flash communication server) to serve the video, although there are alternatives such as wowza media server, and red5 that provide a similar service with respect to video streaming.


1. Secure – video doesn’t cache, can be streamed encrypted over SSL.
2. Full random access streaming.
3. Only bandwidth viewed is consumed.


1. Cost of hosting, requires either a third party hosting service or a dedicated server plus software licence (hosting e.g, (note: Adobe media server development version and Wowza Pro10 media server are free, but only allow up to 10 simultaneous streams)

2. Extra development complexity

Last update: 03:01 PM Monday, September 8, 2008


Related Questions: