Flash Video Design

Guides, tutorials and tips on getting your video online using Flash video.

Flash video is the current defacto standard for web delivery of video movie clips as used by Youtube, Myspace, Facebook, Bebo, Google video, Abc News, CNN, Reuters, Amazon, New York Times,Washington Post, Yahoo, CNET, Fox, Discovery channel, Motionbox, Jumpcut, Brightcove, video.msn.com(!)..(coming soon to the bbc)..

Flash video delivery methods

Progressive streaming (progressive download)

This is delivered over http, and doesn’t require any additional software other than the existing standard webserver e.g apache / IIS / lighttpd.  The video data will load as fast as the users connection allows.

Advantages

  1. Easy to implement
  2. Cheap

Disadvantages

  1. The flv video file caches (this may be an advantage depending on use case - repeated play by a user will not require additional bandwidth if the file is still cached by their browser)
  2. More bandwidth is consumed than necessary in certain use cases (e.g the user starts playing video, and while they are viewing the rest of the video downloads and caches – the user then stops watching before the end, but all video bandwidth has been consumed as if they watched the full video clip).
  3. The video playhead can’t ‘seek’ within the video beyond the point where file download has reached.

Enhanced Progressive streaming

This is implemented similarly but with extra server side scripting to read the flv file and serve it - essentially acting like an intelligent proxy for the flv. Lighttpd web server has a module that helps implement this. There are open source php/asp.net/coldfusion scripts available to implement this type of streaming.
The advantages/disadvantages are the same as for progressive download above except there is an extra level of complexity to implement - the flv video files need to have the correct metadata inserted when encoded, there is an additional cpu overhead on the server, but it enables full random access to seek to any point within the video, whether the file has cached to that point or not.

RTMP Streaming

This method of delivery is associated primarily Adobe Flash Media Server (previously known as flash communication server) to serve the video, although there are alternatives such as wowza media server, and red5 that provide a similar service with respect to video streaming.

Advantages

  1. Secure – video doesn’t cache, can be streamed encrypted over SSL.
  2. Full random access streaming.
  3. Only bandwidth viewed is consumed.

Disadvantages

  1. Cost of hosting, requires either a third party hosting service or a dedicated server plus software licence (hosting e.g uvault.com, influxis.com) (note: Adobe media server development version and Wowza Pro10 media server are free, but only allow up to 10 simultaneous streams)
  2. Extra development complexity

Adobe Flash Media Server 3 has just been announced as coming soon, which adds DRM / h264 streaming/streaming to mobile devices/new security features to existing RTMP capabilities.

Flash video delivery format (codec)

FLV Sorenson H263

  1. Greatest compatibility as only requires flash player v6 or greater
  2. Greatest range of available tools for server-side encoding e.g ffmpeg, flvtool++, mencoder of which much is open source.
  3. Fast encoding
  4. Quality for low bandwidth not great
  5. Wide range of free/cheap desktop encoders.

FLV On2 VP6

  1. Compatible flash player v8+
  2. Server side encoding has no open source solutions for commercial use (There is the possibility of using mencoder with the vp6 dll but most likely prohibited for commercial applications)
  3. Available server side encoding software is expensive (e.g On2 Flix SDK) and processor intensive.
  4. Quality is substantially better than Sorenson at lower bitrates
  5. Desktop encoding applications are fewer and more expensive

FLV H264

  1. Compatible flash player 9.0.64.0 (only released in beta August 20 2007), can’t realistically be deployed for at least 5 months until the public adoption of the latest player increases to a good level) (*Update Dec 4 - Flash player 9 update 3 now available with h.264 - download)
  2. Has a reasonable spread of open source software available.
  3. Processor intensive to encode
  4. Quality similar to On2 VP6 (though our own tests have shown VP6 to perform as well if not better at reasonable bitrates - when video artefacts become apparent, vp6 is less intrusive than h264)

To summarise, as in most things, there is a balance to be had between cost of development, quality of results, complexity of implementation and end accessibility and user friendliness.
Budgetary constraints may eliminate some of the available choices

Require custom coding for your flash video project?.

(c) 2007 East Coast Interactive Ltd. All rights reserved.