Как использовать / установить пользовательский фильтр Directshow

У меня есть пользовательский скомпилированный фильтр DirectShow - filter.DLL - но как использовать или установить этот фильтр в системе?

3 ответа

Обычно вы регистрируете фильтр DirectShow в системе, вызывая (из окна командной строки с повышенными правами в Windows Vista/7) regsvr32 filter.dll,

После регистрации вы можете использовать свой фильтр с приложением для просмотра графиков DirectShow:

  • GraphEdit (graphedt.exe), установленный Windows SDK (например, "c: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ bin \ graphedt.exe")
  • GraphStudio

После тестирования вашего фильтра с вышеуказанными программами вы можете использовать его в клиентском приложении C++/C#.

Основным способом было бы зарегистрировать файл фильтра с regsvr32 filter.dll а затем создать фильтр с его CLSID в вашем приложении.

Если фильтр находится в той же кодовой базе, что и приложение, вы можете просто создать фильтр с помощью new и использовать это.

Я предпочитаю загружать filter.dll CoLoadLibrary чтобы получить IClassFactory фильтра и создать фильтр. Вы можете проверить это с помощью GraphStudioNext. Вы можете найти образец исходного кода для загрузки фильтра здесь.

Как сказал Кристиан, люди обычно регистрируют фильтр в системе. Но я предпочитаю не делать этого по нескольким причинам. В частности, см. Раздел "Регистрация фильтров в операционной системе".

Я думаю, что в девяти случаях из десяти вам лучше создавать новые. См. Пример AppFilter на странице Джераинта Дэвиса.

Другие вопросы по тегам