I'm finally done with my first major commercial project. This was done for a class I was taking, and as such, there's no money in it at the moment. However, it is resume material.
If you've been following along properly, I've been working on a video site that uses Amazon's Simple Storage Service to store videos and Elastic Computing Cloud to encode them. Well, now that it's in open beta, I'll talk a bit more about it, and actually give you some details. You can check it out at bugj.streamincloud.com
. The primary service is providing encoding and streaming capabilities, not actually displaying videos. We're not trying to be YouTube, after all. Instead, we're going for more corporate and large scale clients who want professional video embedded in their websites, without watermarking. As such, we don't provide the ability to view videos publicly on our own site--we just give you a link to embed.
Don't blame me if you hate the UI. I had absolutely nothing to do with that part, as I have no eye for design. I handled the middleware, specifically the EC2 application programming interface and the encoding queue manager. The former simply takes Amazon's incredibly granular functions and makes them a bit more generalized so that I can use them more readily in the queue manager. All it provides is three functions: the ability to launch an EC2 instance, the ability to kill an EC2 instance, and a function that checks the current state of an EC2 instance (because we need to wait for an EC2 instance to boot before we can do anything with it).
The encoder queue manager, on the other hand, is a bit more interesting. It not only assigns videos to an encoder client (an EC2 instance), but manages EC2 instances as well. This particular service (it's a full-fledged Windows service1
) launches new threads for each video, which it assigns to an encoder by the encoder's hostname. New encoder clients are launched every 5 GB, though if one sends through a file larger than that, it'll get its own encoding server.
The service charges no set monthly fee, but instead charges only for access to storage and bandwidth that your videos use. The first gigabyte of storage and transfer is free, and after that, the rates are competitive2
. I'm asking you to check out our service and put it through its paces.1. Yes, Windows. Given the client-driven nature of the whole project, Windows wasn't a terrible choice. Also, the specific implementation of ffmpeg we used was designed for Windows.
2. No, I can't give discounts/use it for free. The authentication system and the payment system are pretty closely tied together. Not even our client company can do anything without seeing a bill from Amazon.