Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: juanedwin en 20 Octubre 2022, 22:11 pm



Título: como crear una camara virtual en WPF vb.net
Publicado por: juanedwin en 20 Octubre 2022, 22:11 pm
Saludos a todos
En Obs Studio 28 (software para streamming) hay una opcion de "Iniciar Cámara Virtual", algo asi como una salida de video pero que lo emula como una webcam, es decir se puede ver toda la ventana de obs digamos en cualquier pagina de streaming es decir en googlemeet, zomm etc , al elegir una camara web ahi sale obs camara virtual, no se que herramienta usa o que control se debe usar en wpf para crear ese tipo de salida, espero haberme explicado bien, esta en Obs/iniciar camara virtual parte inferior derecha. saludos espero comentarios o una pista por donde investigar para realizar esto, creo que obs esta creado en lenguaje C++,


Título: Re: como crear una camara virtual en WPF vb.net
Publicado por: Elektro Enjuto en 20 Octubre 2022, 23:52 pm
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.c

En 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 (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.