Streaming Media Technology

From Computing and Software Wiki

Revision as of 02:37, 9 April 2008 by Chuh (Talk)
Jump to: navigation, search

Streaming media is multimedia that is constantly received by, and normally displayed to, the end-user while it is being delivered by the provider.[1] Streaming media technolgy enables on-demand or real-time access to multimedia content via internet and allows users to play those contents without fully downloading them. After playing, there's no copy of played contents leaving on the receiving devices, which protects the copyright of the original mutimedia contents.

Figure 1: Basic Streaming Media Transfer Process [2]

Contents

Introduction

When the user requests to play a media object that is stored on a remote server, the data blocks are retrieved from the remote server over a network, and passes to the client for display.[3] There are ususaly two ways of doing that. First, the player doesn't play until the media object is completely downloaded on the client. Second, the player can start to play while "streaming" the media as long as enough data has been received - without waiting for the fully downloading, which is so-called the streaming media.

Compared with the way of fully downloading, the way of streaming takes many advantages. First, there's almost no waiting time for downloading. Second, no copies are stored during the process, which protects the copyright and reduces the storage requirement of the client. Third, real-time events becomes possible. However, streaming is always limited by the network conditions. If the speed of the network is very slow, the way of streaming won't work well and some data may lost during the transport process.

System Architecture

Assume a streaming media object S that contains n equal size blocks: S0, S1, ..., Sn-1, and is stored on a streaming media server. There are three important time variable needed to mention:

  • The retrieval time of each block is a function of the transfer rate of the server.
  • The delivery time of each block from the server to the client is a function of the network speed, traffic, and protocol used.
  • The display time of each block is a function of the display requirments of each object and the size of the block. For example, if the display requirement of the object S is 3 Mb/s and the size of each block, Si, is 3 Mbytes, then the display time of each block is 8 seconds. [3]


While a client requests the display of a media object from the server, the server schedules the retrieval of the blocks and delivers these blocks to the buffer of the client via network. The server stages a block of S(say Si) from the disk into main memory and delivers it to the buffer of the client. After being received, Si is displayed. The server schedules the retrieval and the delivery of Si+1 before the completion of the display of Si. This process is repeated till all blocks of S have been retrieved, delivered and displayed. [3]

In order to endure the continous display and of object S without any hiccups, block Si+1 must be available in the buffer of the client before the completion of the display of Si. [3]


P.S.: The architecture described here is entirely learned and paraphrased from the book Streaming Media Server Design, which is listed as reference [3].

Storage and Bandwidth

Storage

Streaming media storage size is a funtion of bit rate and length:

SIZE (Kbit) = BIT RATE (Kbit/s) * LENGTH (s).

Becuause the result is usually a very large number, people always use Mbyte to describe the size of the storage.

SIZE (Mbyte) = BIT RATE (Kbit/s) * LENGTH (s)/ 8,388.608

(since 1 megabyte = 8 * 1,048,576 bits = 8,388.608 kilobits)

Figure 2 shows the storage requirements for a 120 minute video clip digitized in different standard encoding formats.

Figure 2: Storage requirements for a 120 minute video clip digitized in different standard encoding formats

Bandwidth

Data Compression

Run-length encoding

Relative encoding

Huffman encoding

Transform encoding

To be filled

Network Protocols

RTP

RTCP

RTSP

RSVP

To be filled

Applications

  • A
  • B
  • C
  • D

References

[1] Wikipedia, "Streaming Media", April 2008, "http://en.wikipedia.org/wiki/Streaming_media" .

[2] Sequence website, "http://www.sequence.co.uk/services/streamingmedia/howdoesitwork.html" .

[3] Dashti, Ali E. Streaming Media Server Design, Prentice Hall, 2003

See also

External links


--Chuh 15:58, 7 April 2008 (EDT)

Personal tools