I was really excited to see this recent blog post by Geoff Cox of SouthWorks.  He has taken our IIS Transform Manager Task API and created an custom Task for using the open source X264 encoder via the CLI (command line interface).
This is very cool, as there are essentially two very popular H.264 encoding libraries available in the marketplace.  One of them is a commercial product that is licensed via Main Concept, and the other is the X264 library which was originally developed by Laurent Aimar. If you check the Doom9 forums, there is a lot of discussion on which is faster and better. I won’t comment there, and I would note that some of the comparisons up there are old now. 

There are also a number of other ones out there built by professional encoder ISV’s but the X264 one is very popular with open source encoding applications like HandBrake and FFmpeg.  X264 is released under the terms of the GNU General Public License ( so consider that a warning if you plan to use it – depending on your usage scenarios and legal requirements).

X264 is compatible with Smooth Streaming since it can generate closed GOP output by default.  Only next step is to create multiple GOP aligned output streams at different bitrates and then remux them into fragmented MP4 format.  We’ll have an answer to the remux from MP4 to Smooth issue soon. 

The exciting part about this post from Geoff is that it shows how simple it is to create a custom task for Transform Manager and integrate it into the workflow with IIS Media Services.  Currently the task that he has could be extended to support FFMPEG also with some minor tweaking.  It could also be used to later generate Smooth Streaming content directly via FFmpeg or X264 once we ship the new MP4 to Smooth conversion task that we are creating for the IIS Media Services 4.0 release in October.

Here’s the direct link to the blog article by Geoff with the source code for the custom task.

http://blogs.southworks.net/geoff/2010/08/14/x264-encoding-with-iis-transform-manager/