It's quite an interesting business decision to jump into this market.
Take Zencoder for example (which is one of my favourite players in this field)... if you are to compare the prices with say Zencoder [1] 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.
Looking at the fact that you can do encoding across a lot of different regions seems to me to indicate that there isn't any special capabilities required for Amazon to implement this other than just a custom AMI.
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.
Not really. Amazon just builds what they need instead of depending on others and then sell it as a service to the larger market. Remember, they're playing for the long-run. Maybe they needed it to convert their videos on LoveFilm.com or maybe another future service connected with their Cloud Drive.
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.
"I'd be really worried and slightly confused by Amazon took this step?"
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'd be really worried and slightly confused by Amazon took this step?
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.
OTOH, Amazon's service looks like the most basic possible transcoder. At this point many competitors have moved on to offering full-fledged video CDNs with more sophisticated features.
The thing that annoys me about both this and Zencoder is that for people who are actually experienced with video encoding, there is absolutely no way to tweak eg. the underlying x264 settings. There's quite a few settings that have no effect on decoding in any way but are pretty important in getting the most out of the video at a given bitrate (most notably the strength/mode of AQ and psychovisual optimizations). In case of AWS, there doesn't even seem to be any kind of "general" tuning (like whether the content is film, animation, extremely grainy or so - x264 has --tune settings for these among others - Zencoder at least allows you to access this option[1]) options available, making it pretty much "one size fits all". I could always rent a generic server and use that for my encoding needs, but it'd be much more convenient if these cloud transcoding services simply offered advanced configuration for people who know what they are doing.
Also, even for a "simple" cloud transcoding service, Amazon's offering is pretty limited in what it can do right now[2] - 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).
As is the case with every part of AWS, we add additional features and options over time based on customer feedback and requests. Please feel free to let us (or me -- [email protected]) know what you need and I'll bring it to the team's attention within 30 minutes.
While this makes me (as a developer) happy, my customers don't care. They want encoding, they want it cheaper, and they want it better.
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.
While Amazon's service has a price advantage, there are some differences that could justify Zencoder's premium for some customers.
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.
Does anyone with experience using Zencoder (http://zencoder.com/en/) see advantages/disadvantages of this new Amazon service compared to Zencoder, which has been around for a while? Zencoder is owned by Brightcove and I'm sure they will be fully capable of putting up a good fight, but I can't imagine this won't take a significant amount of business away from them...
I have been using Zencoder in our product for about 2 years and have loved it. Super easy to setup through their API and I have run into very few issues over the last couple years.
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.
Surprisingly, Elastic Transcoder doesn't look to be very price competitive with Zencoder at scale. Zencoder is $0.02/minute, while this is $0.015 (stdef) and $0.030 (hidef).
If you're doing hidef content, Zencoder is a clear (pricing) win.
EDIT: Never mind... Zencoder charges double for hidef content too.
As someone who worked until a couple of years ago in this field, I should point out that the larger area of value in the industry is the capacity to customize content for the consumer scenario (available bandwidth, CPU, resolution, available buffer size, CODEC support, etc.) and to do so automatically.
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!
Only h264/AAC/mp4 output though. I wonder how well they handle embedded subtitle streams, too (I don't even know if they're supported at all for mp4). Seems OK for the most basic of web video streaming, but then again, I guess that's the majority of the use cases they're targeting. (more concretely, this doesn't look to be suitable for digitizing dvd collections).
How about audio transcoding? At my music startup we're building a transcoding backend that will take in FLAC, AIFF, or WAV and spit out MP3, FLAC, AAC, ALAC, and OGG files for people to download, and I'd kill for a transcoding service with a robust API that can deliver those formts.
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...
Zencoder recently came out with live transcoding. Its only a transcoding service, but I guess using brightcove you can stream live videos. AWS has only announced file base transcoding.
Amazon should complement this new transcoding service and their existing media streaming (via Cloudfront) with a full media server, along the lines of Red5 or Wowza or Adobe Media Server, that would allow you to do more advanced stuff, such as capturing video from users, hosting video chatrooms etc.
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.
I agree. We have been trying to scale our Wowza on EC2 setup for live video streaming, but after looking at our options it was about the same price to just go with a VDN like Edgecast that managed the server complexity for us.
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.
Ah yes. Remember if you run services that compete with what Amazon might do you may have a problem. There are many businesses in this space running on AWS.
Idea: build a pretty web based UI or software downloadable UI for this and mark up the costs to be just under zencoder's pricing. Would that be viable? for people who need 1 off transcoding they load up $20 of credits minimum or something.
If someone wants to do it, I have a domain I've been sitting on which would be good for this.
Precisely what I was thinking... I'm probably going to jump on to this... do a 2-4 week hack at it and launch it. If anyone wants to partner, let me know (I can design and play full stack- either one).
Let me know what the domain is, I may be interested.
It will not be surprising that in fact Amazon Elastic Transcoder is in fact what Netflix with Amazon's help may have work on in the past few years. Netflix is well known to use Amazon web services not only for the streaming part but even for doing all the movies encoding for all different devices they need to support.
So I will not be surprise that it has now become a mature project that Amazon is now opening up, similar to the other service for S3 where you can ship your hard drive to upload directly on S3 without wasting bandwidth: from what I recall that service was in fact created initially for Netflix but later on open to third party.
We're using Encoding.com right now which works off the AWS infrastructure. We pre-paid and got our pricing down to $0.018 per megabyte. The drawback to this method is that encoding charges you for MB in AND MB out, whereas Amazon and Zencoder are charging just by the minute of output.
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.
Hm, I havn't used Amazons Web Services earlier - since most of their services looks to be priced in a good range, when suddenly you read the fine print about the bandwidth charges.
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?
Data transfer in to S3 is free. First 1GB/month transfer out is free,after that it is 0.12GB for the next 10TB. These rates would apply if you store your video on S3 and use another service like zencoder too. The transfer between EC2 and S3 in same region is free though.
[+] [-] chrisacky|13 years ago|reply
Take Zencoder for example (which is one of my favourite players in this field)... if you are to compare the prices with say Zencoder [1] 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.
[+] [-] jon_dahl|13 years ago|reply
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.
[+] [-] newhouseb|13 years ago|reply
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.
[+] [-] zimbatm|13 years ago|reply
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.
[+] [-] jpdoctor|13 years ago|reply
Yep, they put a potential competitor into their critical path. The business lesson is: Don't do that.
Nothin personal, jus business.
[+] [-] dalke|13 years ago|reply
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.
[+] [-] wpietri|13 years ago|reply
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.
[+] [-] wmf|13 years ago|reply
[+] [-] unknown|13 years ago|reply
[deleted]
[+] [-] zitterbewegung|13 years ago|reply
[+] [-] Hupo|13 years ago|reply
Also, even for a "simple" cloud transcoding service, Amazon's offering is pretty limited in what it can do right now[2] - 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).
[1] https://app.zencoder.com/docs/api/encoding/h264/tuning
[2] http://docs.aws.amazon.com/elastictranscoder/latest/develope...
[+] [-] jeffbarr|13 years ago|reply
[+] [-] jmartens|13 years ago|reply
https://gridvid.me/documentation/advanced-ffmpeg-directives
[+] [-] juddlyon|13 years ago|reply
[+] [-] gtaylor|13 years ago|reply
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.
[+] [-] jbigelow76|13 years ago|reply
[+] [-] potta|13 years ago|reply
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.
[+] [-] gklitt|13 years ago|reply
[+] [-] gtCameron|13 years ago|reply
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.
[+] [-] d33pika|13 years ago|reply
[+] [-] zwily|13 years ago|reply
If you're doing hidef content, Zencoder is a clear (pricing) win.
EDIT: Never mind... Zencoder charges double for hidef content too.
[+] [-] d33pika|13 years ago|reply
[+] [-] contingencies|13 years ago|reply
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!
[+] [-] jeffbarr|13 years ago|reply
http://aws.typepad.com/aws/2013/01/amazon-elastic-transcoder...
[+] [-] roel_v|13 years ago|reply
[+] [-] steeve|13 years ago|reply
[+] [-] mmastrac|13 years ago|reply
[+] [-] facorreia|13 years ago|reply
[+] [-] jmartens|13 years ago|reply
[+] [-] neotek|13 years ago|reply
[+] [-] jqueryfan33|13 years ago|reply
[+] [-] donavanm|13 years ago|reply
[+] [-] borplk|13 years ago|reply
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...
[+] [-] hayksaakian|13 years ago|reply
Could this be used to stream live video?
[+] [-] d33pika|13 years ago|reply
[+] [-] WordSkill|13 years ago|reply
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.
[+] [-] gtCameron|13 years ago|reply
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.
[+] [-] justincormack|13 years ago|reply
[+] [-] brianbreslin|13 years ago|reply
If someone wants to do it, I have a domain I've been sitting on which would be good for this.
[+] [-] aysar|13 years ago|reply
Let me know what the domain is, I may be interested.
[+] [-] Tekker|13 years ago|reply
[+] [-] donavanm|13 years ago|reply
[+] [-] level09|13 years ago|reply
[+] [-] yoda_sl|13 years ago|reply
[+] [-] edgesrazor|13 years ago|reply
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.
[+] [-] edgesrazor|13 years ago|reply
[+] [-] ersii|13 years ago|reply
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?
[+] [-] d33pika|13 years ago|reply
[+] [-] pdknsk|13 years ago|reply