Akamai launches HD Network that delivers TV-like, HD-quality video online.
akamai.com
akamai.com
Ah yes, Akamai as always picking features that maximize the money you owe them.
For the vast majority of content (e.g. anything not live), constant bitrate is a terrible idea: it wastes bandwidth in low-action parts of the video and cripples quality in high-action parts of the video. This is why no major non-live video site uses constant bitrate; it's a terrible idea.
Of course, if you want to maximize user quality at all times, you want to maximize utilization of their connection and adapt the bitrate to the bandwidth available. But in reality, bandwidth is expensive, so nobody does this except in live streams.
1) HTTP delivery of live flash content (avoids royalty fees normally paid to Adobe for FMS, so ideally Akamai could lower their prices)
2) Improved analytics (current EdgeControl interface is tricky to use for individual videos)
The rest of the features listed are just current features wrapped up into a nice looking press release. In other words... move along, nothing to see here.
Here's a little comparison I did a while back:
http://x264dev.multimedia.cx/wp-content/uploads/2009/08/qual... (full details at http://x264dev.multimedia.cx/?p=102)
Now consider the fact that the majority of websites are still using VP6 or Flash Media Encoder FLV, both of which are significantly worse than Xvid on the chart...
Of course, given that money doesn't grow on trees, many of the top players have switched--Youtube and Facebook are now using x264 almost exclusively, for example.
I would be entirely unsurprised if Akamai ended up being suckered by a company providing inferior solutions. Of course, they don't lose anything by providing worse compression, since their customers pay them for the bandwidth.
And h264 over HTTP is just a download of the HTTP file starting from a specific marker unless I'm mistaken. Not exactly rocket science. It's HTTP after all...you can't control much of anything on the QOS side. The JW player has the capability to do that out of the box for most of the major CDN networks out there already.
HTTP pseudostreaming is, indeed, just a plain HTTP GET with a URL parameter (or an extra header) to indicate what byte position to start at, based on a seek index at the front of the file. It's incredibly "dumb", but trivial to implement even on a shared web host. (You can write the server-side component in a few dozen lines of PHP, for instance.)
The reason it's slow is that the compositing engine requires that the YV12 -> RGB conversion be done in software rather than in a hardware overlay. This is probably exacerbated by the fact that many sites still seem to turn off the hardware accelerated display out. Note that as far as I know, all current implementations of HTML 5 video have a similar problem (compositing engine requires RGB input).
It's based on Mainconcept's decoder, which while not incredibly fast, isn't particularly slow either. Though I wouldn't be surprised if Adobe stripped out some of the assembly to try to make it smaller (or compiled it with -Os).
My advice for performance would be to disable CABAC; that can probably save 15-25% decoding time right off the bat at the cost of 10-25% compression.
What we've done is sacrifice some quality and encode using one of the mobile h264 profiles (I forget which profile off the top of my head). It essentially outputs h264 in a form that is easier to decode on the client side. It helped us eke out a few extra fps that helped quell an initial user revolt.
Most of the higher profile features of H.264 actually decrease CPU requirements at the same quality level, because they reduce bitrate required for a given quality (in particular, B-frames and 8x8dct).
The only things that significantly affect CPU usage are CABAC, deblocking, bitrate, and resolution. Sticking to a "mobile" profile (i.e. Baseline Profile) is needlessly slashing quality.
The SilverLight demo worked better, but the picture was worse than the Flash version.
BitGravity works wonderfully though. Also, we've been using Panther/CDNetworks without a hitch. They even support HTTP pseudo streaming.
Not only that it was taking 90% of my CPU to display something that did not look even close to 720p in size. And how can they get away with calling that looks more like 360p HD, anyway? I am not impressed.
It's good to be the incumbent.