H.264 Encoding and delivery Best Practices @ MAX 2009

Only two weeks and the 2009 edition of Adobe MAX will begin.
This year in my presentation ( Encoding Best Practices for H.264 Video Using Flash. 5 October 2:00 pm Room 506 ), I’ll focus on changing the usual encoding perspectives proposing a dynamic approach in choosing the best resolution – bitrate mix.
Dynamic is always better than static, you know, and it’s much better in video encoding: reach a wider audience and save money!
I’ll also focus on playback best practices (full-screen acceleration, visual enhancements and so on).

Because a picture is worth a thousand words, today I want to show you the real potentialities of these approaches…


Me vs YouTube

In this test, I have downloaded from YouTube the video clip of Bjork “All is Full of Love”. This clip is an High Definition video encoded by YouTube in 720p (1280×720) at around 2Mbit/s.

The same (already encoded) video has been then re-encoded at a much lower bitrate of 500Kbit/s with a specific set of encoding parameters and pre-processings. I think the result is very good, and strangely enough, somewhat better than the original.

How can 500Kbit/s be better than 2000Kbit/s ? How can the quality improve re-encoding a damaged video at a quarter of the original bitrate ? Well, you are all invited at MAX 2009, 4-7 October in Los Angeles to discuss this and other topics.

Here you find the demo page

Note: decoding two HD video at the same time requires a fast computer. On my Core2Duo @ 2.2GHz Windows laptop it works very well.
Remember also that IE is faster in Flash Video decoding than FF.

But now let’s take a look by yourself and don’t forget to send me a feedback on your experience. What is the better looking video in your opinion, both in browser and at full-screen ?

Maximise FMS’s VOD performance with SSDs

Finally I have started to play with my first SSD (Solid State Disk), an Intel X25-M. If you don’t already know, in the last months the price of SSDs is fallen and the average performances improved.

The main advantage of this kind of storage is the access time which is around 100 times lower than a traditional mechanical drive. This performance mark is usually not so important in a desktop environment, but on a server that handles tens or hundreds of concurrent access to different parts of the disk, it becomes crucial.

Have you ever try to understand why the OS (especially Windows) takes so many seconds to load even on an high end machine ?
Well, the problem is the degraded performance of a mechanical drive when multiple reads of little files are performed.
A fast 1TB traditional HD with a sequential read of 100MB/s can slow down to a few MB/s in such situations.

Usually a well designed software can compensate the limited access time of the storage, but there is a limit.

On the other hand these new SSDs are very fast both in sequential and random access. For example my X25-M sports an outstanding 260MB/s of sequential read speed and an absolutely excellent 50MB/s at random read access (4K files).

Random concurrent access performance is tens time higher !

This excellent technology has only two problems today: price and capacity. X25-M costed me 450€ and is only 160GB wide.

But now let’s talk about the performance increase that such tecnology can bring to Flash Media Server.

As you know, in live streaming a FMS installed on an high end server (now very affordable) can handle also thousands concurrent connections. This is because memory, cpu and especially disk usage are low for any new user. So the main limit is the connection card speed (but now the 10GbE standard is becoming affordable…).

What about VOD performance ? VOD is much different because the streamed data is specific, virtually, for every connected user (let’s exclude the effect of caching which is very sensible to the statistical distribution of the requested segments of data). So, even with two 15.000 rpm 300GB SAS disks, probably you will be able to serve at most few hundreds streams.

SSDs can enhance this capability. I think (and in the next weeks I’m going to verify…) that a RAID 10 with four X25 would be able to provide 1 – 1.5 Gbit/s of VOD streams. At least a 2-3x factor over mechanical drives.

Obviously the storage cost will rise, but the benefits are very high because more concurrent users per server means less delivery cost (fewer servers, fewer FMS licenses, fewer maintainance costs).

If you like to know more about SSD I suggest this reading: http://www.anandtech.com/storage/showdoc.aspx?i=3631