Take Zencoder for example (which is one of my favourite players in this field)... if you are to compare the prices with say Zencoder  AWS is much more cost effective (by several factors). Even if you were operating at scale and spending $2000 per month with Zencoder, you would only get 50,000minutes worth of HD Video. (You pay 2 minutes worth of credits for HD video on Zencoder).
If you spend $2000 with AWS, you would be getting 33% more value. (Remember, this is operating at scale. The savings can be even larger)... and this is really the best case scenario for Zencoder.
If you are "just getting started", the savings are immediate. On Zencoder it's $0.10 for HD video, compared to $0.03 on AWS.
I'd be really worried and slightly confused by Amazon took this step? There are several video encoding companies that operate on AWS already, and they all just got sandbagged.
 : http://zencoder.com/en/pricing
If I had to guess, this is all part of a strategy to figure out ways to utilize their idle fleet. Spot instances are often used for these sorts of batch offline compute-intensive jobs, but if you're a third party you are hostage to the market dynamics (changing prices of spot instances). Since Amazon owns the market, they can just take capacity out of the fleet of available as spot instances instantaneously for free and be immune to pricing changes in the spot-instance market - something no competitor could ever do.
So if you were to ask - what is a common batch-style workload that requires a lot of computing power that a lot of people need who would otherwise not be using our spot instances and that can consume our idle capacity? I can't think of a better market than video encoding.
This is certainly scary for companies like Zencoder, and feels somewhat anticompetitive (IANAL so speaking practically rather than legally), but it makes otherwise good sense as a business strategy.
Zencoder's pricing has been high to say the least. For example, for a Medium High-CPU instance (about 2x 2.5GHz processors) I should be able to encode video faster than real time (encoding a minute of video should take under a minute). At $0.165/hour, that's $0.003/minute. Zencoder is charging 10x that amount for many people (Zencoder charges 2-5 cents per minute depending on whether you commit to a large package of minutes or not). Plus, Zencoder can possibly combine spot instances and reserved instances to get better. Now, that's not to say I haven't been a happy Zencoder customer - for the volume of video that my company does, it wouldn't pay for us to run a server ourselves. Zencoder is immensely cheaper than rolling our own solution. However, it seems like it's also a place where another company could come in and disrupt Zencoder a bit. Even if you weren't Amazon, if you built up enough of a customer base, you could likely have undercut Zencoder's rates.
I think one thing to note is that companies don't offer the lowest price they can. In fact, in an oligopolistic market like this, economics suggests that the price (if services were undifferentiated) would drop to the Nash equilibrium. Looking at Amazon's pricing, it seems clear that they want to provide a good value proposition compared to Zencoder, but they're still charging nearly $1/hr which certainly allows competitors to match that price on EC2 hardware and shows that Amazon isn't offering the bottom of the barrel price.
It's never fun to compete with your infrastructure provider (or any well-run company like Amazon even if you aren't relying on them). However, we see these things happen and companies on both sides survive.
Amazon might very well have a price advantage, but other parties that can offer better quality of service or better L10n or whatever will still attract customers. This is how markets are "supposed" to work.
>As long as Zencoder runs on AWS, barring some magic encoding technology, it can never be cheaper than Amazon could theoretically go.
1. Our larger customers don't pay more than this already.
2. Paying 33% less doesn't necessarily mean getting 33% more value.
We'll be writing up an analysis today. Off the record (ahem), we've known about this for a long time, and we aren't worried.
At our level, switching to AWS would reduce our per minute cost from $0.08 (HD costing 2x normal minutes) to $0.03 (62.5% cheaper). So our $120 bill would go down to $45.
As a small startup, every $1 makes a difference and the price discrepancy will only increase as our usage increases.
I'm curious if you're concerned about erosion of your low-volume customer base eventually leading lost revenue from future high-volume customers.
But in all seriousness I look forward to the post.
So are you working on designing them out? Or are you counting on them never giving your AWS account short shrift?
The only reason they're the leading computing platform is trust. Trust is the biggest factor in a platform decision, and they'd be foolish to put all their other business at risk for a temporary advantage in one small slice. Especially since they are still making money on every Zencoder job.
Is there a lot of that left since they knocked Netflix offline on Christmas eve?
Really? One example: When states threatened sales tax (before CA), they cut off retailers in those states.
They can and they have given people short shrift when it's in their business interest. To be fair, that just means they know how to increase sales by selecting who gets thrown to the lions, which is necessary in any business.
I think most people making platform selections are mainly focused on AWS. I'm sure they pay some attention now to Amazon proper, but their affiliate programs were a peripheral thing, and
What is also means is that if your company provides a service to other developers you might well be in competition with Amazon in the future.
EDIT: Maybe I should mention that I work at PandaStream, another video transcoding service. We're still cheaper with 100% utilisation but our pricing model and target market isn't exactly the same.
Yes. But I don't recall reading anywhere that Amazon would or even could offer this. It makes me wonder what else there is they will sell. Warehousing software? Shipping logistics? Anyone have a list?
You ship them a pallet of stuff, and then use a web API to ask items to be delivered to addresses.
Amazon has offered streaming video for years now. This is just a guess on my part, but they probably don't receive video from studios in a stream-friendly format. Their streaming format has also likely been updated over the years.
Yep, they put a potential competitor into their critical path. The business lesson is: Don't do that.
Nothin personal, jus business.
I think the general lesson here is that if it is a server-based operation that can be made more cost effective in bulk, Amazon are interested in doing it.
I assume the Heroku guys have noticed by now. Hopefully they're working on designing Amazon out.
I really want someone to make an RDS-like service for Postgres. But I don't blame people for not trying right now, I'm sure Amazon will do it eventually.
I can't quite believe Amazon has never acquired anyone, though- are there any high profile ones out there?
No one builds services like amazon. They aren't interested in bolting on someone else's idea company.
Anyone who has used their instant streaming service. They have a boatload of video to transcode to zillions of devices. The fact that they would take that in-house was not a particularly big leap.
This happens. Look at the operating systems companies. Apple introduced iTunes or Time Machine, and the sales of third-party music players and backup systems goes down. Microsoft includes a web-browser and the sales of third-party browsers goes down, or to go back 20 years, MS introduces DoubleSpace and sales of Stacker go down.
It can be a balancing act. If Amazon starts picking off the businesses of its most profitable cloud customers then there will be an uproar. If Amazon sticks with the features which make it a better cloud provider, then it's more to be expected. This fits into the latter. Hopefully the video encoding companies that operate on AWS already have considered this possibility.
I'm not so sure I'd be worried. Amazon has certain advantages in the market. But they are not into handholding at all. I think you can easily out-compete them on ease of use, support, and community. You can also do much better marketing, and make much more interesting partnerships.
I also think Amazon's massive scale constrains them some; they can't be as flexible. In Zencoder's shoes, I'd be looking to see if I could get a pricing advantage through specialized hardware that covers my base computing load. I've see people drop their AWS bills by a factor of 10 when a good sysadmin designs a workload-specific setup.
Also, even for a "simple" cloud transcoding service, Amazon's offering is pretty limited in what it can do right now - you can basically only encode H.264 & AAC in MP4, define the profile, level and bitrate, and that's about it. Zencoder has much more options in comparison and has generally more transparency in regards to what their encoding software actually does (sadly when I asked them about getting access to x264 settings directly, they replied along the lines of "they could change and things might break for users!" - which I don't think would be an actual issue since the direct settings ought to be for advanced users only, and they should be aware of things changing - plus Zencoder could just notify users of direct settings before they upgrade so they have time to adjust their settings if necessary).
Choosing the right profile for the job is absolutely crucial. The combinations of x264 parameters can be pretty arcane, and they sometimes change from one x264 version to another. There's a pretty active community on forum.doom9.org maintaining collections of profiles for MeGUI, some of those are excellent.
E.g., it is totally within the realm of possibility to put two hours of 1080p content on a single-layer DVD (4.4GB), in a format compatible with any Blu-Ray player out there (AVCHD, a subset of the Blu-Ray standard that accepts DVD as the storage layer), while keeping video quality at a very high level - basically indistinguishable from commercial Blu-Ray discs. But using a good encoding profile, feeding the appropriate parameters to x264, is the single most important factor in achieving that goal.
MeGUI is hardly necessary - x264 has a good set of presets and tunes built in to begin with. --preset veryslow --tune film/animation/grain will already get you very far, beyond that pretty much the two most important things to possibly tweak are the strengths of AQ and psychovisual optimizations (--aq-strength and --psy-rd).
>it is totally within the realm of possibility to put two hours of 1080p content on a single-layer DVD (4.4GB), in a format compatible with any Blu-Ray player out there (AVCHD, a subset of the Blu-Ray standard that accepts DVD as the storage layer), while keeping video quality at a very high level - basically indistinguishable from commercial Blu-Ray discs.
You might get away with an hour of almost-transparent content if it's not particularly bitrate-demanding, but two hours of live action will not look "indistinguishable from commercial Blu-ray discs". 5 Mbps High Profile L4.0 H.264 just won't look as good as ~30-40 Mbps H.264 High Profile L4.1 H.264 commonly found on BDs (unless the BD is really screwed up). At 720p you'd get pretty good results, though.
Firefox is getting MP4 support. Firefox OS and Firefox for Android on some devices has it already. Support on some versions of Windows is in nightly builds hidden behind a preference setting. Linux support is hidden behind a build switch. At some point when these backends are stable they'll be in normal builds.
Firefox getting mp4 support doesn't change anything, people are already using firefox right now, and it doesn't support mp4 right now. The fact that the marketshare of non-mp4 firefox will eventually end up small enough that most people ignore it doesn't mean mp4 is all people need right now.
I am still tinkering, but for our purposes, it looks like Amazon's Transcoding service is going to be cheaper and of good enough quality to get the nod over Zencoder.
Amazon gives you a maximum of 4 encoding pipelines. These operate like queues. If you are processing many jobs simultaneously, and encoding multiple versions of each video, then those queues could start to build up. With Zencoder, all your jobs are processed in parallel, no matter how much you throw at it. In my experience, queue times with Zencoder have averaged <10 seconds.
For batch jobs, that aren't sensitive to encoding times Amazon's queues shouldn't be a problem (ex - a media company encoding a huge library into a bunch of different formats). Business video services or online video platforms may want to optimize around keeping queue times low to get client videos out quickly.
Zencoder also seems to be working on premium services like closed captioning (an FCC rule says that programming that is shown on TV must have closed captioning when it is shown on the web), live streaming, and packaging HLS streams. Finally, Zencoder supports formats like ProRes 422, that Amazon may not (I haven't seen a list of input formats yet). Zencoder also has great support and a great API.
I'm a Zencoder customer and don't have any vested interest in the company. In fact, I'll be taking a look at the service to see if it meets our needs. I just wanted to highlight that if you are making a decision around transcoding, you need to define your requirements, understand the trade offs, and test the different options.
However, we are running 10k minutes a month through there and cutting our monthly encoding bill in half is pretty hard to pass up. AWS definitely has less features, but the feature set they do support is exactly what we are using Zencoder for. Probably going to wait a couple months to see if Zencoder decides to lower their pricing and if not take a look at switching.
If you're doing hidef content, Zencoder is a clear (pricing) win.
EDIT: Never mind... Zencoder charges double for hidef content too.
The notion of precomputing various versions of a piece of media is not a new one, nor a particularly valuable one, since consumers rarely know which option to select.
What users really need is something that perfectly matches their viewing scenario and their device (largely mobile). The knowledge of what works well on each device (with default settings) is the real gem here, and the capacity to deliver it ASAP (eg. transcoding in real time) is the service to supply.
There are far more codec options than you can shake a stick at, and they do affect playback quality - especially during higher and lower bitrate portions of the media, and especially on lower end mobile devices (essentially today's global internet access norm).
While the standard tool in this area is ffmpeg, one should note that not all of its algorithms can be parallelized, so real time delivery is a thornier problem than you might expect. Also, while there are device databases that can tell you resolution from an HTTP User Agent string, none of these will tell you CODEC support and functional bitrate limitations. The manufacturers, hastily throwing together devices from third party chip SDKs, often don't know these specs themselves.
Throw in subtitle stream rendering support and the corresponding font problems, and things get really fun really quickly.
Good luck to anyone in this area, I for one am glad to have left!
A Buddhist I know said that the thing that troubled them about the digital media field was how it conflicted with their great respect for some of the ideas that are central to that philosophy. They said that they identified much modern media consumption as intoxication of the mind with what may amount to trivial experiences tangential to achieving happiness and peace, which they viewed as quite apart from the endless sensory experiences of the world. (For a simple example, they pointed to Youtube)
After some searching, this seems to be the reference: http://www.accesstoinsight.org/ptf/dhamma/sacca/sacca4/samma...
A [lay person] should not engage in five types of business. Which five? Business in weapons, business in human beings, business in meat, business in intoxicants, and business in poison.
Personally my friend's perspective did make me feel a little guilty about my work, since I am also (if sporadically) very interested in Buddhist philosophy and because encouraging people to spend their time "in earnest" (from a Buddhist perspective) is no doubt a personal failure as seen by the Buddhist teachings, in so far as I can grasp them myself. Yet, Buddhism also teaches that we should respect the treasure of conscience as a means to change our ways, and it is certainly true that communications of any kind can certainly be a bringer of good ... as well as thoughtless trivia.
Edit: looks like they only support these audio codecs: aac, ac3, amr, eac3, mp3, vorbis, and wma
They place themselves in the 'lowest common denominator' of the industry.
Whilst the smaller companies and startups compete and struggle to find the right combination of factors for their awesome video/web/cloud/storage/etc product at the end of the day they all need the same kind of thing to operate on and Amazon is often the cheapest option to start with and it serves the whole industry making little cents tick tick tick one after another...
Could this be used to stream live video?
You can already run Wowza instances on EC2 but the premium on top of standard AWS prices is too high, if this functionality can be commoditized there will be an explosion of innovative new uses.
If Amazon could support live streaming through Cloudfront I think they could undercut the existing VDNs on pricing and have a big opportunity in that market.
If someone wants to do it, I have a domain I've been sitting on which would be good for this.
Let me know what the domain is, I may be interested.
I'm pretty happy with Encoding.com but after running some test files through AWS, I have to seriously consider switching - AWS seems much faster (not a controlled test, more is needed) and in our case it's much easier to predict costs by going with a per minute model than a per MB in/out. An added bonus - boto already has support for it.
I've been trying to read through about Amazon Elastic Transcoder (AET?)'s pricing - but I can't figure out the total. I assume you need to pay to get the video out of S3? Do you have to pay on the way in, as well?
What would it cost to encode a 20 minute HD video that's like, 500MB?
1920 x 1080 @ 62500 kbps
1280 x 720 @ 17500 kbps
Not sure about Zencoder and Pandastream.
As their CPUs get faster, they can transcode the same video for the same price for less cost to Amazon.