Tuesday, November 20, 2007

Video Streaming & Media Streaming Servers

Video Streaming

This article covers the different types of video streaming on the internet and introduces the two main methods of streaming video: Streaming servers (true streaming) and HTTP streaming.

File Formats

There are many video file formats to choose from. The most common formats are:

1. Windows Media
2. RealMedia
3. Quicktime
4. MPEG (in particular MPEG-4)
5. Adobe Flash

There are pros and cons for each format but in the end it comes down to personal preference.

Streaming Methods

There are two ways to view media on the internet (such as video, audio, animations, etc): Downloading and Streaming.

Downloading

When you download a file the entire file is saved on your computer (usually in a temporary folder), which you then open and view. This has some advantages (such as quicker access to different parts of the file) but has the big disadvantage of having to wait for the whole file to download before any of it can be viewed. If the file is quite small this may not be too much of an inconvenience, but for large files and long presentations it can be very off-putting.

The easiest way to provide downloadable video files is to use a simple hyperlink to the file. A slightly more advanced method is to embed the file in a web page using special HTML code.

Delivering video files this way is known as HTTP streaming or HTTP delivery. HTTP means Hyper Text Transfer Protocol, and is the same protocol used to deliver web pages. For this reason it is easy to set up and use on almost any website, without requiring additional software or special hosting plans.

Note: This is not technically "true" video streaming — the best it can do is a passable imitation.

Streaming

Streaming media works a bit differently — the end user can start watching the file almost as soon as it begins downloading. In effect, the file is sent to the user in a (more or less) constant stream, and the user watches it as it arrives. The obvious advantage with this method is that no waiting is involved. Streaming media has additional advantages such as being able to broadcast live events (sometimes referred to as a webcast or netcast).

True streaming video must be delivered from a specialized streaming server.

Progressive Downloading

There is also a hybrid method known as progressive download. In this method the video clip is downloaded but begins playing as soon as a portion of the file has been received. This simulates true streaming, but doesn't have all the advantages.

Which Method to Use?

The method you choose will depend on your situation, but most people will opt for HTTP streaming (download or progressive download). This is the easiest and cheapest way to get started. If necessary you can upgrade to a streaming server later.

Media Streaming Servers

A streaming media or streaming video server is a specialized application which runs on an Internet server. This is often referred to as "true streaming", since other methods only simulate streaming. True streaming has advantages such as:

* The ability to handle much larger traffic loads.
* The ability to detect users' connection speeds and supply appropriate files automatically.
* The ability to broadcast live events.

There are two ways to have access to a streaming server:

1. Operate you own server (by purchasing or leasing)
2. Sign up for a hosted streaming plan with an ISP (Internet Service Provider)

Operate your own server

Note: This is a serious step and is well beyond the needs of most websites.

To run your own streaming server, you can either purchase a standalone server machine or purchase a streaming server software package and install it on an existing web server. Streaming software is available for all common server platforms such as Linux, Windows, etc.

Some examples of streaming media software:

* Helix Universal Server from RealNetworks. This server supports a variety of formats, including RealMedia, Windows Media, Quicktime and MPEG-4.
* Apple Quicktime Streaming Server, supporting a few formats including MPEG-4 and 3GPP.
* Macromedia Communication Server, specializing in Flash-based video and interactive multimedia.

Be warned: True video streaming in any form can be an expensive business.

Unless you really have a need for it, you are probably better off starting with basic HTTP streaming...

HTTP Streaming Video

This is the simplest and cheapest way to stream video from a website. Small to medium-sized websites are more likely to use this method than the more expensive streaming servers.

For this method you don't need any special type of website or host — just a host server which recognises common video file types (most standard hosting accounts do this). You also need to know how to upload files and how to create hyperlinks.

There are some limitations to bear in mind regarding HTTP streaming:

* HTTP streaming is a good option for websites with modest traffic, i.e. less than about a dozen people viewing at the same time. For heavier traffic a more serious streaming solution should be considered.
* You can't stream live video, since the HTTP method only works with complete files stored on the server.
* You can't automatically detect the end user's connection speed using HTTP. If you want to create different versions for different speeds, you need to create a separate file for each speed.
* HTTP streaming is not as efficient as other methods and will incur a heavier server load.

These things won't bother most website producers — it's normally only when you get into heavy traffic that you should be worried about them.


System Requirements

• 8-Core Intel Xeon processor 3.2GHz
• 4GB RAM
• 64-bit PCI-X RAID controller
• Ultra320 SCSI RAID subsystem
• 1GB Ethernet Card

No comments: