This project (.Net DLL) will be a part of multimedia app. Main app will provide a stream, byte array ([url removed, login to view]|Dim Buffer() as Byte), of raw media data which will be read from a file. Stream has to be converted to a different media format, and passed to main app in same type as input stream (byte array ready to be written into a file). We need some additional options in this project like: ability to change output audio and video codec, bitrate, sample rate, video size, ... Also library has to provide a simple control like: play, stop, pause; and ability to split the streams (audio, video and subtitle).
We have tried to accomplish this through DirectShow but without any success, so solution should be based on FFmpeg's libavcodec and libavformat.