Я разработчик директ-шоу на C ++, я не знаком с DirectShow.net, поэтому не могу комментировать ваш код.
Но у меня большой опыт работы с DShow ...
Чтобы записать видео и аудио медиапотоки в файл, вам нужен фильтр мультиплексора.
Из ваших фильтров источника, как видео, так и аудио контакты должны быть подключены к фильтру мультиплексора (мультиплексора),Оттуда (однополюсный) выход фильтра мультиплексора будет подключаться к фильтру File Writer .
Фильтры мультиплексирования зависят от используемых типов носителей.То, что вы не можете подключить оба потока к своему фильтру мультиплексора, может указывать на то, что он не поддерживает один (или оба) типа мультимедиа.
В этом случае выполните пару тестов - например, отрендерируйте тольковидео поток на диск, а затем рендеринг только аудио диск.По крайней мере, один из них не будет работать - это тип мультимедиа-нарушителя.
Вы можете попробовать поискать альтернативный фильтр мультиплексирования, написать свой собственный или изменить тип мультимедиа вашего исходного потока.
Надеюсь, это хоть немного поможет!