The first time you try to create your own online video, you will quickly find out that there are all sorts of interesting tradeoffs between file format, bit rate, and file size. The encoding process always seems to require all of your CPU speed and I/O bandwidth, and then some, while still taking a considerable amount of clock time.
The developers behind Cruxy apparently faced this problem on a regular basis. After creating an internal solution powered by Amazon EC2 and Amazon S3, they decided to package it up in standalone form so that other people could benefit from it as well.
The result is called Mux and it looks like this:
You simply point Mux at your original video and tell it what kind of output you want. Behind the scenes it will download the original video, transcode it to the new format, size, and rate per your specifications, and store the final video in S3.
Since this process can take a variable amount of time, it will notify you via an email or by performing a GET on a specified URL when your new video is ready.
The current version of Mux is for personal, non-commercial use only. My understanding is that this restriction will be lifted in the future, once the developers decide on the most appropriate business model.
There is also a mobile version of Mux. It will transcode the video so that it will work on a cell phone, and then send a text message to the phone when the video is ready to be viewed.