To do it yourself from scratch:
Yep, you'll need a database of some sort (even if just XML or flat files) to keep track of the videos, maybe tie into a search engine directly if not Google Custom Search. Flash is very common on video sharing sites, traditionally a use can upload many possible formats (wmv, avi, flv, mov, m4v, etc.) and after the upload a server side tool converts to flv or swf with the proper compression and skin template settings. That's also a good time to extract a screenshot or series of them to make the thumbnails displayed in the video library to the user. The bad new is this is a complex process to do server side, i.e. expensive tools, technically advanced stuff, batch processing, etc.
You might simply put all uploads in a "moderation queue" (a directory only you can view) so you can manually view them offline by downloading them, approve or delete, then just use one of the many desktop tools out there on your PC or Mac to manually create the Flash video/thumbnail etc. as I described earlier for approved videos. Then simply upload to the public directory, update database, etc. so the users can see the videos and download.
Might want to start searching around for social networking open source software with video uploading support. Others reading this might followup with suggestions.
-jim