2009-03-11

DirectShow oggenc v0.1

I have created a DirectShow oggenc clone, mainly due to Ticket #1517 (How to calculate the OGG encoding complete percent correctly?). It is a Visual C++ console application which renders an audio file, removes the audio renderer and inserts a Vorbis encoder and an Ogg muxer filter.

The example also illustrates how to use the IVorbisEncodeSettings and IOggMuxProgress COM interfaces.

During the development of the tool I have found out a few quirks of the COM interfaces, all of which I will address in future oggcodecs releases.

The supported audio source file formats are: WAV, MP3, WMA. FLAC and OGG are not supported because I have used IMediaDet DirectShow interface, which is not supported by oggcodecs at this moment.

One can use another methods of determining the length of the audio source file (seeking at the end of the file and getting the position), which would enable support for FLAC and OGG.

Testing the tool showed that encoding a 4m50s audio wave file on Windows Vista 64bit took an average of 18.1 seconds for the 32bit version, while the 64bit version took on average 13.1 seconds, a speed improvement of ~27%.

Source code can be found here, binaries can be found here (32 bit) and here (64 bit).