Виртуальная камера на основе DirectShow с использованием интерфейсов IBaseFilter и IPin
Я пытаюсь создать виртуальную камеру с помощью DirectShow . Я попробовал один из примеров виртуальной камеры, доступных на
https://github.com/roman380/tmhare.mvps.org-vcam
. Он построен с использованием дочерних классов .CSource
(который реализует) а такжеCSourceStream
(который реализует) и не работает в настольных приложениях, таких как Zoom и Team.
Я видел еще один проект виртуальной камеры на
https://github.com/Fenrirthviti/obs-virtual-cam
. Это прекрасно работает даже в настольных приложениях. Но я не могу понять работу этой виртуальной камеры. Я видел, как он построен с использованием интерфейсов DirectShow родительского уровня.а также
Как я могу создать простейшую виртуальную камеру, используяIBaseFilter
а такжеIPin
интерфейсы?