Фильтр Direct Show Capture "Обертка" - PullRequest
1 голос
/ 14 сентября 2010

Мне нужно написать фильтр захвата DirectShow, который оборачивает «настоящее» видеоустройство (fitler) и деинтерлейсирует захваченное видео.С точки зрения интерфейса, это должно быть отдельное видеоустройство, доступное в перечислителе, и при выборе оно подключается к реальному видеоустройству и вставляет фильтр преобразования (деинтерлейсинг) между выходным выводом видеоустройства и его собственным выходным выводом.Мой вопрос - правильный ли мой подход?Я хочу просто разработать фильтр видео захвата DShow, создать экземпляр фильтра преобразования внутри и автоматически подключить контакты из моего фильтра.Есть ли лучший способ «внедрить» фильтр transfrom между реальным видеоустройством и приложением, которое его использует?С уважением

Доминик Томчак

1 Ответ

2 голосов
/ 16 сентября 2010

Чтобы деинтерлейсировать без обертки, вы можете создать фильтр преобразования и придать ему очень высокую ценность, чтобы его можно было автоматически добавлять (вставлять) в графики.См. MatrixMixer , который делает что-то похожее на аудио.

Если вам действительно нужен обертка, создайте второй график с исходным видеоустройством и фильтром преобразования.Затем перенесите выходные данные в график, где находится ваш фильтр-обертка. См. GMFBridge для примера того, как использовать выходные данные графика A в качестве входных данных для графика B.

...