Video streaming: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 33: Line 33:


Note: A mebibyte is roughly a megabyte.
Note: A mebibyte is roughly a megabyte.
Here is an example taken from the [http://epresence.tv/ ePresence] website: {{quotation | Compressed video is about 200mb per hour per format. If you support all 3 media formats (Windows Media, Real media and QuickTime) you will need about 500-600 mb per hour. Therefore one a 100 GB hard drive can hold approximately 500 hours of video in one format or 150 hours x 3 formats. Please note that these numbers can vary depending on the encoding options.}}, retrieved 13:13, 20 March 2007 (MET).


; Bandwidth
; Bandwidth
Line 39: Line 41:


  300 kbit/s * 1000 = 300'000 kbit/s = 300 Mbit/s of bandwidth
  300 kbit/s * 1000 = 300'000 kbit/s = 300 Mbit/s of bandwidth
Video compression ([[codec]]s) can make a difference. E.g. the more recent H.264 standard has the following performance according to [http://www.apple.com/quicktime/technologies/h264/ Apple] (retrieved 13:13, 20 March 2007 (MET)):
<table border="1">
<tr>
<th>Use Scenario</th>
<th>Resolution &amp; Frame Rate</th>
<th>Example Data Rates</th>
</tr>
<tr>
<td>Mobile Content</td>
<td>176x144, 10-15 fps</td>
<td>50-60 Kbps</td>
</tr>
<tr>
<td>Internet/Standard Definition</td>
<td>640x480, 24 fps</td>
<td>1-2 Mbps</td>
</tr>
<tr>
<td>High Definition</td>
<td>1280x720, 24p</td>
<td>5-6 Mbps</td>
</tr>
<tr>
<td>Full High Definition</td>
<td>1920x1080, 24p</td>
<td>7-8 Mbps</td>
</tr>
</table>


=== Transport protocols ===
=== Transport protocols ===
Line 56: Line 88:
=== Streaming formats ===
=== Streaming formats ===


See [[codec]]s


=== Streaming technologies ===
=== Streaming technologies ===

Revision as of 13:13, 20 March 2007

Draft

Definition

  • Streaming video is a a video/audio data transfer technique to allow steady and continuous processing by a client.

See also: Videoconferencing

Architecture

Multimedia (or video) streaming is based on the following technology

  • In order to play video immediately as it is downloaded from the Internet (as opposed to storing it in a file on the receiving computer first) special servers and clients are needed.
  • Clients can be web browser plug-ins or special stand-alone applications.
  • A compression method (also called Codec) is used to compress data. In order to decompress a file in real time, a fast computer is needed.
  • A special transport protocol is needed for optimal transfer.

Streaming bandwidth and storage

Storage size

According to Wikipedia, storage size is calculated from streaming bandwidth and length of the media with the following formula:

storage size (in mebibytes) = length (in seconds) · bit rate (in kbit/s) / 8388.608

Real world example:

One hour of video encoded at 300 kbit/s (this is a typical broadband video for 2005 and it's usually encoded in a 320×240 pixels window size) will be:

(3600 s * 300 kbit/s) / 8388.608 = 128.7 MiB of storage 

Note: A mebibyte is roughly a megabyte.

Here is an example taken from the ePresence website: “Compressed video is about 200mb per hour per format. If you support all 3 media formats (Windows Media, Real media and QuickTime) you will need about 500-600 mb per hour. Therefore one a 100 GB hard drive can hold approximately 500 hours of video in one format or 150 hours x 3 formats. Please note that these numbers can vary depending on the encoding options.”, retrieved 13:13, 20 March 2007 (MET).

Bandwidth

Problems arrise when lots of people pull the a file. E.g. if the above stream is viewed by by 1000 people, one would need:

300 kbit/s * 1000 = 300'000 kbit/s = 300 Mbit/s of bandwidth

Video compression (codecs) can make a difference. E.g. the more recent H.264 standard has the following performance according to Apple (retrieved 13:13, 20 March 2007 (MET)):

Use Scenario Resolution & Frame Rate Example Data Rates
Mobile Content 176x144, 10-15 fps 50-60 Kbps
Internet/Standard Definition 640x480, 24 fps 1-2 Mbps
High Definition 1280x720, 24p 5-6 Mbps
Full High Definition 1920x1080, 24p 7-8 Mbps

Transport protocols

See the Wikipedia article on Video streaming. It explains several issues:

Underlying protocol
  • Datagram protocols (UDP) based solutions are simpler and more efficient, but there can be data loss.
  • Transmission Control Protocol (TCP) based solutions gurantee correct delivery, however this can lead to timeouts and therefore needs clients to have a sufficient buffer (data stored before displayed)
Streaming for multiple clients
  • Multicast protocols send only one copy of the media stream over any given network connection (this is more difficult to implement).
  • Peer-to-peer solutions will have clients sent data that they alreay have to other clients (that will save a lot of bandwidth but raises other issues).

Links

Streaming formats

See codecs

Streaming technologies

Delivery formats
Streaming server solutions
  • ePresence an open source infrastructure for webcasting audio, video and synchronized presentation media and automated creation of navigable and searchable multimedia archives (special hardware and services are commercial)
  • QuickTime Streaming Server (QTSS), Supports H.264, MPEG-4 and 3GPP and is included in MacOSX


Other Information

Bytes and Bibytes