The basic streaming media process contains four steps: capture, encode, distribute, and playback
Capture - The process of creating the video .
Encode - Media files are normally too arge to just make them available on the internet so they have to be compressed or encoded. Encoding is also called as transcoding . This process requires a specific software called Encoder . Windows media uses Windows Media Encoder. This process compresses and optimizes the video into a manageable size and also makes it available in a format required by the client . A windows client needs wmv , real needs rm and flash needs flv.Encoders make use of codecs, short for COde/DECode or COmpress/DECompress.In simplest terms, a codec is a mathematical formula that transforms source files to streamable files. There are lot of codecs available DivX is a classic example. Most clients support downloading codecs if they are not inbuilt . There are two types of encoding
Constant Bit Rate Encoding - The bit rate is consistent . This can result in visual glitches if a certain video segment requires more data.
Variable Bit Rate Encoding - The bit rate varies depending on the situation. Current live media streaming technologies do not support VBR and this type of encoding is best suited for desktop players.
Distribute - The encoded file must be now be made available using a Media Server like the Windowd Media server
Playback - A client is required to display the streaming media like a Windows Media Player , Real Player etc.
There are two kinds of streaming
1. True Streaming - Using specific protocols designed for streaming like MMS. The advantages are
a) Can support huge files
b) Can support a large no of requests
c) Supports multiple bit rate encoding.
d) Supports live streaming
The disadvantages are
a) requires a dedicated streaming server
2. Progressive Streaming - Streaming over HTTP . This means that the stream will be treated like any other resource like HTML , JPG’s etc . The web server has to be configured to support the specific mime type like ASF,WMA etc. The advantage of this approach is that you host the media file in your web server. The disdvantage is poor performance and dropped frames. Progressive download is feasible
a) if your media is small
b) encoding is done with only one bit rate
c) the request for the media is is on-demand as live streaming is not supported.