Регистрация сетевого видеопотока в качестве виртуальной камеры - PullRequest
0 голосов
/ 11 марта 2019

Итак, я пытался решить эту проблему в течение последних нескольких недель, но остановился.Я пытаюсь зарегистрировать поток RTSP с IP-адреса в качестве виртуальной веб-камеры для использования в другом приложении (может быть Skype или подобное).Мне нужно, чтобы мой компьютер добавил виртуальную веб-камеру в свой список устройств.Желательно, чтобы это выполнялось с помощью сценария C #, поскольку устройства можно динамически добавлять с помощью программы .NET.Я нашел похожие вопросы о StackOverflow, но многие из них устарели, используют Linux или получают другой формат / протокол потока.

Мой подход до сих пор заключался в использовании фильтров DirectShow, и до сих пор это работало до определенной степени.Используя Graphedit, я могу видеть свой входящий поток, используя фильтр источника RTSP.Однако есть некоторые проблемы:

  • Исходный фильтр был пробным, полная версия платная и довольно дорогая
  • У меня нет опыта программирования DirectShow
  • Я только показал поток через GraphEdit, виртуальный драйвер не был зарегистрирован, поэтому, например, Skype не мог использовать поток

Так что я думаю, мой вопрос сводится к:

  • Является ли мой подход с DirectShow единственным способом получить то, что я хочу?
  • Является ли фильтр правильным подходом, если Windows должна указывать поток в качестве устройства веб-камеры?
  • Является ли vcam лучшим примером для реализации чего-либо подобного?
  • Кто-нибудь знает подобные программы с открытым исходным кодом, которые достигают того, что я описываю?

В любом случае, я ценю любую помощь, которую могу получить!Благодарю.

1 Ответ

1 голос
/ 11 марта 2019

На диаграмме ниже объясняется применимость виртуальных камер:

enter image description here

Вы пытаетеськаким-то образом смонтировать нижнюю зеленую или синюю рамку, чтобы она считывала данные из RTSP.

Обратите внимание, что все больше и больше приложений, таких как новый Skype, основаны на Media Foundation (верхний правый прямоугольник на диаграмме), и ваш источник на основе фильтров меньшеи менее применимо.

Создание виртуальной камеры, которая распознается различными программами, предполагает, что вы поставляете драйвер (красная рамка).Несмотря на то, что такие пакеты существуют, я не знаю ни одного открытого или бесплатного пакета, который позволил бы вам быстро начать этот путь.

Источники, основанные на фильтре DirectShow (и вы еще не внедрили RTSP-клиент там), будут видны только приложениям на основе DirectShow той же битности.

...