No se muy bien que es eso de la cámara virtual, no tengo ese programa, pero echando un vistazo rápido al código fuente de OBS Studio parece utilizar la API de DirectShow para renderizar la salida de video:
-
https://github.com/obsproject/obs-studio/blob/master/plugins/win-dshow/virtualcam.c -
https://github.com/obsproject/obs-studio/blob/master/plugins/win-dshow/virtualcam-module/virtualcam-filter.cpp -
https://github.com/obsproject/obs-studio/blob/master/libobs/obs-output.cEn cualquier caso, estas cosas no son tan fáciles de hacer como arrastrar un control al diseñador de WPF y listo. Según lo que pretendas hacer se requeriría el uso y aprendizaje de una API o SDK ya sea para trabajar con una salida de video o algo más orientado a trabajar con la web-cam. Como OpenCV, Directshow, Expression SDK, etc.
La librería SharpDX para .NET provee wrappers de la API de DirectShow para poder trabajar con salidas de video de forma relativamente más sencilla:
http://sharpdx.org/Ahora, no me preguntes como conectar la salida de una web-cam o crear una "cámara virtual" (que repito, no me ha quedado claro lo que es eso) mediante SharpDX / Directshow, por que no tengo ni idea. Lo he utilizado para cosas mucho más básicas. Pero hay mil y un ejemplos para practicamente cualquier tipo de escenario y situación usando SharpDX. Es cuestión de buscar en Google.
De todas formas aquí tienes un par de controles de terceros de web-cams que, según lo que pretendas hacer, quizás te sirvan de algo:
-
https://github.com/FrancescoBonizzi/WebcamControl-WPF-With-OpenCV -
https://www.codeproject.com/Articles/285964/WPF-Webcam-Control -
https://www.nuget.org/packages/WpfWebcamControl -
https://www.telerik.com/products/wpf/webcam.aspx (es un UI Framework de pago)
-
https://docs.devexpress.com/WindowsForms/114582/controls-and-libraries/editors-and-simple-controls/camera-control (es otro UI Framework de pago)
-Enjuto Mojamuto "rey de los frikis" a su disposición para futuras dudas.