What is progressive download? How is video streamed live over the internet? All these questions and more are answered in this article.
Corporate websites are now embedding helpful ‘how to’ and ‘introductory’ video files in their website pages, and are becoming increasingly aware that their visitors are far more likely to watch a 3 minute video than to read pages of text.
With video streaming over the internet now being taken for granted, we have to ask; How does it work?
Firstly, we have to break video streaming down into its 3 most commonly used forms.
1) On demand video streaming
2) Progressive download
3) Live video streaming
On demand video streaming This is where a video content is streamed over the internet when a website visitor demands it. An example of this is when you click a play button for a video you want to watch and the video plays TV shows. This is very similar to the ‘Progressive download’ that we have mentioned except for one main difference. When a video is streamed it is using streaming server technology. Steaming servers are a great way to make sure the video is delivered as it should be. Streaming video with the various streaming server technologies also allows us to do more than just stream our video. We can actually have ‘user interaction’ with our streaming server allowing us to take a video watcher to a shop to buy something they have seen and ‘clicked on’ in the video they are watching for example.
Progressive download: This is where your video player downloads the whole video into your computers memory while the video is playing.
Live video streaming: Live video streaming requires a capture device, like a video camera, encoding software that transcodes or converts the video signal from the camera into a web compliant video format and a streaming server.
The video camera will pass on the video information to the encoder, which will send the transcoded video up to the streaming server (usually over the internet) using One of the various streaming protocols. The streaming server will then broadcast the encoded video over the internet to your viewers who will see your video live, generally with a short delay, commonly about 7 to 20 seconds of what is happening in real time.
What is MPEG4? MPEG4 has been designed to allow video playpack on a wide variety of platforms. It can be used on computers, HD TV, PDA’s and mobile phones.
Although there are many different video formats on the internet, the basis for all streaming, whether live, on demand or progressive download, all work using similar coding schemes derived from work done for MPEG2, the prior format to MPEG4.
MPEG4 is made up of ‘data channels’ used to send the video stream and the audio stream. The number of data channels is not explicit. Generally we have a video transport channel that is used to stream the video data, we have up to 8 channels for audio, usually MP3 or AAC (Advance Audio Codec), we have a channel for subtitles and we have a data channel that allows information to be passed to and from the streaming server.
The reason video can be streamed successfully over the web is the delivery method. Video, especially in films, is delivered frame by frame. This is carried over from traditional filming methods where each frame contains the full picture presented to the viewer. These frames are played back one after the other so quickly that, to the human eye, creates the effect of continuous movement.
Compressed MPEG4 video is made up of ‘I-Frames’ and ‘P-Frames. I-Frames are effectively frames that contain all the information needed to display a frame, where a P-Frame is an update of an I-Frame. So what the decoder does is show an I-frame and then show a series of P-Frames that update changes in movement etc. Because of this, the video size is massively reduced. This explains why, when watching a video over the internet you sometimes see blank squares in the picture. This is because the P-Frames were not received in time and the decoder cannot update those areas in the video.