Video portability questions

i’m developing a website/database where people can upload video.

i am going to use the amazon web services, namely s3 and ec2, for storing, distributing and processing the videos. i will be using ffmpeg on ec2 for the video processing.

i have some questions:

  1. my primary means for viewing the videos will be through a flash video widget for webpages. so for that i am going to need an FLV for each video. i’d also like the videos to work on tivo, apple tv, ipods, cell phones, etc. for these i’m guessing i’ll need an MPEG4 version of each video. what video formats should i generate for these requirements? will FLV and MPEG4 suffice?

  2. i have an api for the video uploading, so videos will come from many devices(camcorders, cellphones, etc). what are all the popular video formats that i should accept? does this even matter in that ffmpeg might be able to convert any format to any other format without the developer having to handle each case?

  3. i want the FLVs for the video widget to play at 480x360. if i want to make a smaller version of my video widget available that plays video at say 240x180, will the 480x360 version suffice in that i can smoothly scale down FLVs from within flash or do i need to save multiple FLV formats converted at different sizes? what about for full computer screen? also, for playing videos on other devices(tvs, ipods, cellies) - will one size of each required format be enough or should i have multiple sizes, say one for cell phones and one for tvs?

  4. if someone uploads an hd video, i want to preserve the hd format for high def viewing but at the same time i want these high def videos to be playable on systems that don’t support hd. so do i have to save multiple formats here(one hd one non hd)?

thanks for your help