Investigare DirectShowSpy da alax.info. Ciò ti consentirà di "spiare" nell'esecuzione dei grafici di DirectShow. Molto utile in combinazione con uno strumento come GraphStudio.
Sono uno sviluppatore C++ che scrive applicazioni DirectShow e usa entrambi gli strumenti tutto il tempo, sono indispensabili strumenti di debug.
Google l'oggetto della tabella degli oggetti in esecuzione. I grafici di DirectShow sono (normalmente) aggiunti alla tabella degli oggetti in esecuzione, quindi è possibile enumerare il ROT per determinare quali grafici sono in esecuzione sul sistema.
La scheda video utilizzerà un filtro di rendering DirectShow per riprodurre video all'interno di un grafico Directshow. Il renderer viene normalmente alimentato da un filtro decodificatore. Il filtro decodificatore fa il lavoro di decodifica video ed è il decoder che deve essere istruito per utilizzare l'accelerazione DXVA.
Quindi, ad esempio, si potrebbe avere un filtro decodificatore H.264 in un grafico di riproduzione, è necessario istruire l'utente sull'accelerazione DXVA.
È stata la mia esperienza che il filtro del decodificatore avrà un'opzione per consentire di attivare/disattivare la decodifica video accelerata DXVA, ma questo sarà specifico per il decodificatore in questione, e quindi sarà molto più difficile per rilevare universalmente.
Ad esempio, è possibile scrivere codice per rilevare se DXVA è abilitato interrogando il filtro del decodificatore in un grafico in esecuzione che decodifica un flusso H.264, ma il codice per interrogare il filtro del decoder per un grafico VP8 molto probabilmente avrà codice diverso
This MSDN link supporta la mia esperienza che l'accelerazione DXVA è attivata tramite il filtro del decodificatore; potrebbe esserci un modo per interrogare una scheda grafica, ma penso che questo sarebbe specifico del fornitore di schede gfx.
spiacenti le risposte non erano più specifico, ma spero che si punta nella direzione giusta ...
fonte
2011-03-09 15:20:21
stai parlando rilevare se sta giocando su un sito web? o solo in generale? – Jason
Solo in generale. Media Player, VLC, ecc. Usano l'accelerazione della scheda video, se disponibile con sovrapposizioni, ecc. Sto cercando di intrappolare se ciò accade. – Boarder2
Domanda simile con alcune possibili soluzioni: http://stackoverflow.com/questions/11177373/how-to-detect-if-any-video-is-being-played-now – TheLegendaryCopyCoder