2015-11-13 56 views
8

Mi piacerebbe prendere video da una webcam, rendere un po 'di testo sui frame e fare un po' di motion tracking e passarlo su una webcam virtuale in modo che possa essere trasmesso in streaming facilmente.Come creare una webcam virtuale su Windows 10?

Ho trovato alcune risposte su StackOverflow che suggeriscono che dovrei usare DirectShow. Secondo le informazioni in DirectShow documentation, DirectShow SDK fa parte di Windows SDK. Quindi ho installato il latest Windows SDK ma sembra che non includa DirectShow perché non ci sono campioni DirectShow sotto C:\Program Files (x86)\Microsoft SDKs\Windows. (Le risposte StackOverflow sono anche piuttosto vecchie - datate intorno al 2010)

Puoi suggerire un modo per far funzionare DirectShow (inclusi esempi di lavoro su Visual Studio 2015) o qualche altra alternativa a DirectShow, che mi aiuterebbe a creare una webcam virtuale ?

+0

Ottenere campioni da Windows SDK 7.x; costruire con l'ultimo Visual Studio. Non esiste un campione standard di videocamere virtuali, devi utilizzare VCam di Google Vivek. –

+0

Ho scaricato Windows SDK per Windows 7. Quando ho lanciato il programma di installazione e ho ricevuto questo messaggio di avviso: http://imgur.com/AhYhhlR (dicendo che ho pre-release di.NET Framework 4 e alcuni componenti non verranno installati e che dovrei installare .NET Framework 4 dal link fornito). Ho proceduto comunque, ma dopo l'installazione i campioni non erano nella directory di destinazione. Quando ho provato a installare .NET Framework 4, il programma di installazione ha rifiutato di installarlo, affermando che ho già installato .NET Framework. Immagino che Windows 10 non sia progettato per supportare un vecchio SDK. –

+1

È possibile installarlo su una versione precedente di Windows e copiare i file su Windows 10. – wimh

risposta

8

La webcam virtuale è in genere un'implementazione solo software che l'applicazione rileva come se fosse un dispositivo con rappresentazione fisica. Le applicazioni menzionate utilizzano le API per lavorare con le webcam e la possibilità di estendere le API e aggiungere la propria sorgente video è il modo per creare una webcam virtuale.

In Windows ci sono alcune API per consumare sorgenti video: Video per Windows, DirectShow, Media Foundation (in ordine cronologico).

Video per Windows non è realmente estensibile e limitato in termini di funzionalità. Verrà visualizzato un dispositivo virtuale se fornisci un driver in modalità kernel per una videocamera virtuale.

DirectShow è l'API utilizzata dalla maggior parte delle applicazioni Windows abilitate alla cattura video ed è presente in tutte le versioni di Windows, incluso Windows 10 (eccetto Windows RT). Quindi è perfettamente estensibile e nella maggior parte dei casi il termine "webcam virtuale" si riferisce alla webcam virtuale DirectShow. I metodi per creare DirectShow webcam virtuale discusso in molti StackOverflow domande restano perfettamente valide per Windows 10, per le applicazioni che implementano cattura video utilizzando DirectShow:

campioni DirectShow sono stati rimossi da Windows SDK ma è ancora possibile trovarli nelle versioni precedenti:

Se si fornisce un driver in modalità kernel per il dispositivo videocamera (la propria webcam virtuale tramite driver kernel personalizzato), DirectShow lo vedrebbe anche come le altre API video.

Media Foundation è un supposto successore di DirectShow ma le sue capacità di acquisizione video nella parte dell'estensibilità semplicemente non esistono. Microsoft ha deciso di non permettere che l'applicazione di sorgenti video personalizzate sia in grado di scoprire la stessa cosa delle webcam. A causa della complessità della Media Foundation e del sovraccarico e della generale scortesia, viene utilizzato da una modesta quantità di applicazioni. Per implementare una webcam virtuale per l'applicazione Media Foundation di nuovo, come nel caso di Video per Windows, è necessario implementare un driver in modalità kernel.

+0

Puoi scrivere un github open source di esempio C, C++ in modo che tutte le community di Windows possano seguire il tuo codice e contribuire? – YumYumYum

+0

@YumYumYum: l'esempio originale di VCam è il luogo in cui è stato ospitato per tutti gli anni: http://tmhare.mvps.org/downloads.htm Naturalmente sono stati sviluppati derivati ​​multipli e filtri simili nel tempo. –