Putting Video on the Web - The Basics

Submitted by Robert Alstead on Mon, 03/22/2004 - 16:00

This is the fifteenth Making It column and so far I still havn't covered the process of putting video (or for that matter audio) clips on the web. This is such a common question, so this week's column attempts to address some of the issues involved with sharing video online.


Shoot the footage using the best video and audio equipment you can. Where possible mount cameras on tripods. Make sure the subject is well lit, the background is not too complex and ensure that your sound is of the highest quality. Try to avoid too much fast motion, pans, zooms and handhelds. The video window is relatively small so remember Frank Capra: go in close. Read more on optimising footage for the web.

Choose a video server

This is important. One of the reasons why many sites don't have more video is because it gobbles up bandwidth. Lots of it. Even when a video clip is compressed for the web a handful of people watching your clip every day can quickly shoot you over your bandwidth limit and slow down your site. If you are doing video on demand then avoid nasty surprises when your bill comes in from your ISP by planning ahead. Talk to your webmaster - you may already have support for video, usually on a separate dedicated multimedia server. If you don't have support, consider setting up an account with a dedicated video hosting company (if you are doing a live webcast then you will more than likely need this).

http or streaming video?

The difference between streaming and http video is in the server itself. With http or "progressive download" video you don't need a special server. You can compress and upload good quality clips to any standard server for public viewing. The user does have to wait until the clip has partly downloaded before starting to watch it, but it's still an easy way to get stuff up there. Streaming video is smarter: you can encode the clip at a series of different bitrates (all within one file). The server then delivers each user the clip at the optimum bitrate based on the speed of his connection. If a user's connection deteriorates while he's viewing, instead of the clip stopping while it downloads more footage, the server will automatically offer a lower bitrate clip on the fly to allow continuity. This is just one of the advantages of streaming verses http. The catch is cost: streaming is usually more expensive as you require a dedicated account.

Work out audience numbers

Whether you are going to webcast live footage or upload edited clips, whether you go for an http or streaming server, you should first do some basic number crunching to try and forecast your bandwidth requirements. You can't predict exact numbers, but you can make a guestimate of how many people will be visiting each day and at peak times (if you are looking at a hosting package that charges by numbers of simultaneous streams).

You should look at the kind of connection speeds your audience will have - will it be mostly ADSL and cable users, or people on modems or both? Those with a faster connection will obviously be looking for richer video content, for example, bitrates of 300Kbps per second, which means larger files and more bandwidth costs for you.

To get an idea of costs multiply the length of your clip(s) by the anticipated bitrate(s) and then multiply that figure by forecast user sessions.

A host might might charge £15 for two gigabytes per month to £150 for 40 gigabytes per month. Remember, when doing your calculations, there are 8 bits in every byte and that while a megabit is 1000 bits a megabyte is 1025 bytes. Did I say, a calculator would be handy?

You could also just go for a trial period with a video host account to get a sense of your bandwidth requirements. Many video hosting companies offer plenty of statistics to monitor your bandwidth usage.

If you find yourself baulking at the costs then you could reduce your video bandwidth costs by putting the clip in a password protected area of your site. For instance, you might have a show reel that you wanted to offer online to specific individuals and not to the whole world.

Free, but at a price

If you don't want to pay for video hosting try a site that offers free video hosting. There are a few out there but there will be limitations on the size and bitrate of your clips and check in the small print that you are not forfeiting your copyright over that content by using their service.

Another obvious distribution option is to make your own computer the server using a peer-to-peer program like LimeWire, Grokster, or other Napster knock-off. Just drop your video clips into your public directory along with all those mp3s and share with the world. The main drawback here is lack of immediacy.

Download a video encoder
The three main video encoders all do a similar job: they compress large existing video files down in size so that you can share them over narrow bandwidth connections of the web. However, they are part of proprietary video systems so lack compatiblity. Even if you are sharing your files peer to peer it might make sense to use one of these to reduce file sizes. The obvious choice for Mac users is QuickTime Pro, which has basic editing features and support for "progressive download". Microsoft's and Real's players are both excellent for streaming and offer a raft of features. All provide useful tutorials and information on getting going.

Download the Windows Media Encoder from Microsoft (free)
Download Helix Producer Basic from Real Networks (free)
Download QuickTime Pro ($29) for pre-recorded video from Apple and QuickTime Broadcaster (free) for live encoding.

Configure the encoder for your footage
The default video system is often the North American NTSC (runs at 29.97 frames a second) so choose PAL (runs at 25 frames a second) if you are in Britain, or most countries in Europe, and restart the software. This will update the settings like the templates which have presets for different video jobs.

Encode and upload
If you are new to this then start up your encoder and let the wizard guide you through the encoding session. You will be asked to choose the destination directory on your computer for the footage and whether you want to stream live or encode an existing file. If you are capturing a live stream you must select the camera, VCR, or other capture device and add the streaming server configurations.

The encoding process itself involves dividing up your bandwidth between audio and video, and deciding where the compression works hardest. Audio requires a lot less bandwidth than video, although more complex audio tracks may eat into your available bandwidth unless you sacrifice quality and clarity.

Video is a tricky balancing act, requiring subjective choices. In low bandwidth environments (under 100Kbps) you will have to chose between reducing the frame rate, for example from 25 frames to 12.5 frames, or reducing the frame size. For streaming rates you can choose multiple settings for different bandwidth scenarios. This may sound complex, but the encoders usually come with presets to make outputting footage a cinch. You can also customise the settings. Experiment until you get the right results.

Having selected your settings, it's just a matter of clicking the start button to encode and, where necessary, uploading the file to your video server.

Linking to your clip

In most cases a direct link will open the video clip in the relevant player, but check with the software-provider for methods of linking, especially if you plan on playing more than one clip in a row. Be sure to tell users what client video player, including the version, they will need to view your clip. If you have problems playing a clip you just encoded also check that your webmaster is using the latest version of the server software.

Read more Making It columns