Запись экрана рабочего стола с помощью Directshow — PushSourceDesktop

Я работаю над DirectShow.NET, чтобы использовать функции записи экрана с веб-камеры и рабочего стола. Я успешно записываю с веб-камеры. Теперь, переходя к записи экрана рабочего стола, я сделал следующее:

  1. Скачал Windows SDK, скомпилировал push source проект и pushsource.dll сгенерировал.

  2. Зарегистрировано pushsource.dll с использованием regsvr32

  3. Успешно удалось построить график в graphedit, используя PushSource Desktop Filter и сгенерированный файл AVI/asf.

После всего этого теперь я хочу сделать это с помощью кода С#, пытаясь начать разработку, я сталкиваюсь со следующими проблемами, а также с некоторыми сомнениями.

  1. Я сослался на DirectShowLib-2005.dll в своем проекте, но не знал, как добавить PushSource Desktop Filter в граф (ICaptureGraphBuilder2 и IFilterGraph2)

  2. Я пытался сослаться на pushsource.dll, но безуспешно.

  3. Во время развертывания приложения на клиентской машине нужно ли мне также выполнять regsvr32 pushsource.dll шаг на клиентской машине?


person Amogh    schedule 14.01.2016    source источник
comment
1 См. образцы DirectShow.NET, это, в частности, 2 поведение по дизайну - нет библиотеки типов, 3 у вас нет, но если вы загружаете фильтр явно, в противном случае, если вы выбираете его по CLSID, то вы делаете.   -  person Roman R.    schedule 15.01.2016
comment
@RomanR., спасибо за ответ. Я создал исходную библиотеку push из Windows SDK и зарегистрировался с использованием regsvr32, потому что в настоящее время я создаю экземпляр с использованием CLSID 4EA6930A-2C8A-4AE6-A561-56E4B5044437. профиль загружается успешно, и запись на рабочем столе работает, но видео кажется очень медленным, и указатель мыши не виден в видео, а качество видео также низкое. Я использую asf Writer для создания wmv видео, какие-нибудь рекомендации по этому поводу от вас?   -  person Amogh    schedule 02.02.2016
comment
Вам нужно нарисовать изображение курсора самостоятельно. Этот способ захвата рабочего стола медленный по своей конструкции (это скорее пример), программное обеспечение, которое использует более быстрый общий доступ к рабочему столу, использует более сложные параметры, такие как драйверы зеркала дисплея.   -  person Roman R.    schedule 02.02.2016
comment
@РоманР. ой! так что для обычного/быстрого совместного использования/записи рабочего стола Directshow не поможет? или это похоже на то, что драйверы зеркал дисплея являются частью Directshow   -  person Amogh    schedule 02.02.2016
comment
DirectShow не предлагает готовых решений. Он предлагает кодеки и поддержку форматов файлов. Он не предлагает вам эффективных инструментов захвата рабочего стола.   -  person Roman R.    schedule 02.02.2016