[Answering a follow-up question about language]
I cannot suggest the language for you to use as it depends on so many factors. I can only say what people use to solve some serious problems; in this way, you would have more chances to find a solution. In this field, you will find most of the codes in C++ or C, probably much less in C#. Just a fact of life, without discussing of real benefits or downsides.
Now, the interesting solution found by Walt is also C (see
http://en.wikipedia.org/wiki/FFmpeg[
^],
http://ffmpeg.org/[
^]), but you can use P/Invoke to import the methods in you .NET project.
—SA