Video Streaming Nitty Gritty
There are many types of files available for download from the Internet. Some are simple text files and others are programs such as word-processors or games. Most of these files have to be completely downloaded to your PC before you can use them. Why can't you view a partial text file? Well, theoretically you can, but by the nature of Internet downloads a partially downloaded text file is likely to be scrambled and unreadable.
All downloads work by dividing the original file into small 'packets' which are encoded with their destination and their order in the data stream. This last bit is important – packets can arrive in any sequence, but thanks to their unique ID, they can be reassembled in the correct order.
The Internet is a vast array of pathways that carry millions of bits of data every second. In order for that data to reach its destination as quickly as possible, every pathway is open to every data packet. One packet may go via Bombay, another via Tokyo, but they all end up at their correct destination.
Video Streaming
Video streaming follows the same basic principle of breaking data into packets. Instead of waiting for all the data to arrive, however, a streaming video can be watched as it is downloading. This allows the end-user to see the video almost immediately after clicking the 'View' button, whereas if the entire video file had to be downloaded there could be a delay of several minutes or even hours.
Video streaming is possible thanks to a set of streaming protocols. Unlike protocols designed for other types of digital data, streaming protocols prioritize data packets so that they arrive (mostly) in the order they are sent. Streaming protocols can also allow for lost data packets so that the streaming video continues to play even if a few packets are lost.
One of these streaming protocols is known as Real-Time Streaming Protocol (RTSP) which allows the viewer to remotely control the data stream so that the streaming video can be paused, rewound or fast-forwarded. Actual delivery of the video stream is handled by the Real-Time Transport Protocol (RTTP) and the Real-Time Control Protocol (RTCP).
Video Broadcasts
Video broadcasts on the Internet are sometimes called webcasts, and use the same basic principles of video streaming. Unlike most video streams, however, webcasts are 'live' and can only be viewed at one particular time, just like a TV broadcast.
Webcasts usually require more resources than simple video streaming because of the (potentially) large number of viewers that can be watching at the same time. Each viewer requires a certain bandwidth (the rate of data transmission), so once the amount of bandwidth reaches the maximum capacity of the server, no more viewers can watch the webcast.
One way around this is to use a protocol called 'multicast' in which one data stream can be viewed simultaneously by many people. Multicasts are often blocked by firewalls, however, limiting their usefulness to private networks.
Video Conferencing
Internet video conferencing is sometimes called web conferencing. This involves setting up a two-way (or multi-way) communication channel so that each participant can see and talk to the other participants.
Web conferencing is based on the same technology as webcasts, since by their nature they must be 'live' but because each party needs to interact with the others it can be even more technologically demanding than webcasting.


