About Streaming & Buffering


It seems that one of the most simple concepts of the web is surrounded in [induced?] mystery and mis-information, so I will try to explain all of this in simple terms

Consider an image on the web, normally a jpg. As you will surely know from the very start of the web as we know it in 1995 or so, web sites featured text and images AND those images simply came up on the screen. Of course they may have taken some time back then with dial up modems, but they DID appear by themselves IN the web site. That is to say you did not need to download them to your PC and open them up in PaintShop or whatever software.

All that was done by simply using the IMG tag, but remember how they used to "stream" down the page as they opened up.


So we come to movies and TECHNICALLY nothing has changed. With movies the tag is Embed [or Object, see Put movie at YOUR site for details], but for simplicity I will term this whole process as embedding in this article. In fact the code is a little more complex than for images, but I have overcome that by giving you examples to SEE the options and code to copy to GET the one of your choice onto YOUR web site.


To go back to images, web designers COULD have made their pages ultra user-UNfriendly by asking you to download the images separately to view in Paint or whatever, but they never did, but some actually DO for movies by using a "URL link" to the file instead of EMBEDDING a Player there to STREAM the movie. But in either case the SAME thing happens, ie the file DOWNLOADS from the server to the surfer AT the particular speed of that internet connection [hopefully broadband, as dial up is too slow for a proper "movie experience"].

The only difference is that in one case you are able to watch it as it streams, same as for an image "coming down the page", and in other case it fully downloads to the Temp folder or Download folder [as nominated by the surfer] BEFORE the surfer can watch it [by bringing up a SEPARATE media player].

So the user-friendly aspect of the embed method is that the movie is integrated with the theme of the web page [as well as allowing the surfer to abort at any stage of the streaming, eg after watching 2 mb rather than having had to download 50mb before being able to decide it was not what the surfer wanted to see].

So I hope you are nodding your head and saying "well all that's simple to understand".


It seems that the least understood part of all this is BUFFERING. Think of an English fox hunt. The hounds smell the fox and the gentry [on the horses] say "heel Fido" and give the fox a lead of 100 yards or so and then blow their silly little horns to say "tally ho, sus em you hounds" and the chase begins. If after a few miles the hounds actually catch the fox, and the gentry are not ready for a Sherry by the fire, they "call off the hounds" and the whole thing starts again, as the fox is given another 100 yards buffer. Or if the fox is faster than the hounds he simply escapes.

It is the same with buffering of movies. A buffer of say 6 seconds [of movie time] allows that amount of download before the embedded player allows you to start watching, but in this chase the speed of the fox is the speed of the surfer's internet connection. Then the speed of the hounds is the k bits per second [kbps] setting used by the person who edited and saved the movie.

As for the fox hunt, the buffer gets a start and the PLAY of the movie commences. If the internet connection is faster than the save setting you will see the whole movie without any stops. If the internet connection is slower than the save setting than there is a good chance it will catch up and then the buffering will start again [and perhaps multiple times depending on the maths].

So I hope that explains buffering.

If you use the embed code I recommend you will include the Status Line, and here is a screen shot showing the buffering as a percentage as well as a grahic on the left.

And if you go to full screen [after movie starts] you will see a different representation where in this case the fox is 2/3 rds across and the hounds are 1/3 rd across [and not likely to catch up]

"Other" Streaming

There are those out there in HostingLand who say that what I said above is "pretend streaming" and [for the price of an arm and a leg] you can use their hosting company who will provide "enhanced streaming". They go on to describe that enhancement as being able to move the cursor to "the 3/4 point" and the buffering will start again from that point.

My answer is that YOU the web page owner are the one who has to provide YOUR arm and leg to enable this "service". And I put it to you that IF you wanted the surfer to watch YOUR movie from the 3/4 point then you would have STARTED the movie from that point.

"And on that point Ladies & Gentlemen of the jury, I rest my case." [Cleese 1990, A Fish Called Wanda]