charliem's picture

Compressed Audio & Possibly Video Support

Hi all,

I noticed there was talk about wanting ogg support for the audio part of OpenTK. You might want to look at AMPE its an open source Media Engine written in c#, which my company has developed. http://belowdeck.kissintelligentsystems.com/AMPE/

Its a framework which provides decoding of compressed audio and video data. It has a plugin architecture allowing new codecs to be added by the user once the app is installed. AMPE comes with an Ogg format decoder and a Vorbis and Theora decoder plugin. These wrap the offical Xiph.org Ogg, Theora & Vorbis implementations and are the fastest available way to decode Theora / Voribs.

For my own purposes I have also been working on an FFMPEG plugin for AMPE. So you could drop the FFMPEG plugin in to the AMPE plugin folder. Then any AMPE app can decode any format supported by FFMPEG which is virtually any common audio and video format.

AMPE also has a media player which provides a simple way to load play the content. It handles all the format and codec detection, playback, seeking and AV Sync. This provides single consistent method of playback no matter which codec plugins are installed.

My company is developing a commercial IPTV platform, it uses OpenGl and OpenAL for output through our own engine (similar to OpenTK) but AMPE is designed to be used independent of the output method. So it should be quite simple to connect it up to OpenTK. Performance is fairly good. Using current builds of our IPTV Client, we can smoothly playback 720p Theora/Vorbis video on a 5 year old computer (although we use GLSL to hardware accelerate the video colour space conversion) .

Its designed to be corss platform (although the native Xigh.org libs obviously need to be recompiled). Currently it works on windows fine, although a quick test of it on Linux/Mono has found a memory leak problem which is currently preventing it from working. This needs to be sorted before its released.

The version of AMPE on the web site is very out dated. We should have a 1.0 release ready in a few weeks. If any one is interested I can provide a recent snapshot of it before then.

Charlie M