Domanda

È possibile effettuare una chiamata API generica per ottenere una gestione dell'immagine o del feed video proveniente da una webcam e sostituirla con un'immagine o un video personale in modo che le applicazioni si interfacciano con la videocamera (ad es. MSN / Skype / Yahoo IM) vedrà la mia immagine invece di ciò che la fotocamera sta catturando?

Idealmente, sto cercando di risolverlo in modo generico indipendente dal fornitore o dall'interfaccia del dispositivo (tramite stack di webcam standard che utilizzano tutte queste app, se esiste una cosa del genere).

È per un'applicazione di sicurezza che deve essere in grado di disabilitare le webcam sui client se non per scopi specifici. Posso interrompere e avviare i dispositivi di acquisizione delle immagini tramite il codice, ma idealmente preferirei lasciare il dispositivo abilitato e sostituire l'immagine acquisita con un grafico che indichi all'utente il motivo per cui attualmente non è possibile utilizzare la propria videocamera.

È stato utile?

Soluzione

La maggior parte delle webcam moderne progettate per funzionare in modo generico saranno in genere implementate come dispositivi WDM che vengono quindi esposti come filtro kernel DirectShow. Le applicazioni possono quindi utilizzare DirectShow per lavorare con il flusso video live. Sarebbe possibile scrivere un filtro personalizzato con un alto merito che potrebbe provare ad inserirsi in qualsiasi grafico rilevante e quindi modificare il flusso video al volo. Tuttavia, questa tecnica non è certamente infallibile e potrebbe essere facilmente risolta. Esistono anche altre tecnologie di acquisizione video che non sarebbero interessate da questo metodo. In breve, non esiste un modo affidabile per fare ciò che vuoi per tutti i dispositivi o in modo sicuro. Se vuoi solo essere in grado di utilizzare una webcam standard e modificare programmaticamente il feed video in modo non sicuro, la suddetta tecnica funzionerà.

Cerca qui per informazioni generali su DirectShow e qui per informazioni sull'acquisizione di video. Le AmCap e EZRGB24 sarebbe anche un buon punto di partenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top