Streaming is a term often used to define the display of video and audio media in real time. Basically, there are two types of streaming.
The "real" streaming requires a special service which broadcasts the audio/video information in real time. The player on the visitor's computer interprets this stream of data and visualizes it immediately. Such technology requires powerful dedicated servers because it needs a lot of resources to run correctly. You need such server if you want to broadcast live video for example.
Most of the streaming server technologies record, encode and broadcast your videos in real time making them suitable for websites of TV stations, live shows, or websites like YouTube.com or DailyMotion.com that have millions of visitors playing and uploading videos.
The HTTP streaming or the "pseudo streaming" is a suitable workaround for people who don't want to spend a lot of resources and money on expensive broadcasting servers. The effect of live streaming is achieved by buffering part of the downloaded video file and playing it while the rest of the file is still being downloaded.
In this case the TCP protocol is used. Although TCP is secure (there are a lot of checks for packet loss in this protocol), it is not suitable for video streaming in which the loss of data is normal and expected. Modern Flash, QuickTime and RealMedia players combined with a fast server, however, manage to play such videos without many problems and to minimize the buffering time.
If you want to allow your visitors to play simple videos on your website, you do not need a real streaming server. The same result can be achieved with pseudo streaming. The most common use of this streaming method is to display flash movies which are small in size and fast to download and play.
Below, you can find extensions for the most popular CMS applications that will allow you to play such videos on your website:
On the other hand, if you want to show live shows on your website or to stream long videos, you need a real streaming server. Note that such servers generate enormous bandwidth and a lot of I/O load on your server.