Вам поможет ffmpeg. У него есть возможность подключения в виде библиотеки, функции которой будут исполняться прямо в процессе вашего приложения. Для вызова неуправляемых фукций из библиотеки ffmpeg используйте pinvoke или стороннюю управляемую библиотеку в качестве прослойки -
www.ffmpeg-csharp.com