2011-11-07 19 views
6

Sto creando un'applicazione di acquisizione video di Windows e sto utilizzando DirectShow per l'acquisizione. Quando arriva ogni frame, voglio prenderlo come un bitmap RGB grezzo in un buffer, a quel punto il mio codice farà qualsiasi elaborazione di cui ho bisogno.DirectShow - Ottenere frame video

Sono stato alla ricerca di campioni simili a quello che voglio fare, e ovunque io guardi online, la gente consiglia di utilizzare l'interfaccia IMediaDet e/o l'interfaccia ISampleGrabber per effettuare l'acquisizione fotogramma per fotogramma. Sfortunatamente, entrambi sono deprecati e non sono nemmeno nella versione più recente di Windows SDK.

Qual è il modo migliore (moderno) per eseguire l'acquisizione fotogramma per fotogramma in DirectShow? Se non ce n'è, c'è una libreria diversa che dovrei usare che mi darà l'acquisizione fotogramma per fotogramma?

+0

possibile duplicato del [ISampleGrabber deprecato? ] (http://stackoverflow.com/questions/6124629/isamplegrabber-deprecated) –

risposta

5

Sample Grabber è stato ritirato alcuni anni fa, che era alcuni anni dopo lo sviluppo di DirectShow effettivamente fermato. Cioè, usa Sample Grabber mentre leggi come metodo suggerito e funzionerà alla grande per te.

L'unica cosa che sarà inoltre necessario è quello di copiare le definizioni int il codice sorgente, vedere i dettagli:

+0

Non ero a conoscenza dello sviluppo di DirectShow è stato co mpletamente si fermò. Esiste invece una nuova libreria diversa che dovrei usare? –

+1

C'è stato poco nuovo in 'DirectShow' negli ultimi (8?) Anni. 'Media Foundation' è destinato ad essere un successore, ma finora non ha raggiunto la potenza di' DirectShow' anche nelle ultime versioni di Windows, nemmeno parlando di compatibilità nelle versioni precedenti. Cioè, 'DirectShow' è ancora una scelta perfetta per l'API multimediale. –

Problemi correlati