Существуют фильтры DirectShow для сжатия видео и записи в файлы.Я не знаю, доступно ли это непосредственно в .NET, но это довольно легко в C ++.Вы просто удаляете фильтр рендеринга и помещаете туда файл сжатия компрессора -> фильтр мультиплексирования -> фильтр записи файлов.
Вы можете попробовать это в GraphEdit.Вы также можете найти полезные примеры исходного кода C ++ в DirectShow SDK.