Исследуйте DirectShowSpy от alax.info. Это позволит вам «шпионить» за работой графиков DirectShow. Очень полезно в сочетании с инструментом, например GraphStudio.
Я разработчик C++, пишущий приложения DirectShow, и все время использую оба инструмента, они являются незаменимыми инструментами отладки.
Google - предмет таблицы текущих объектов. Графы DirectShow (обычно) добавляются в таблицу рабочих столов, поэтому вы можете перечислить ROT, чтобы определить, какие графики выполняются в системе.
На вашей видеокарте будет использоваться фильтр рендеринга DirectShow для воспроизведения видео на графике Directshow. Средство рендеринга обычно питается фильтром декодера. Фильтр декодера выполняет работу по декодированию видео, и именно декодер должен быть проинструктирован использовать ускорение DXVA.
Так, например, у вас может быть фильтр декодера H.264 на графике воспроизведения, вы должны дать ему указание использовать ускорение DXVA.
Было моим опытом, что фильтр декодера будет иметь возможность включить/выключить декодирование DXVA с ускорением видео, но это будет специфично для рассматриваемого декодера, и поэтому будет намного сложнее для всеобщего обнаружения.
Так, например, вы можете написать код, чтобы определить, разрешен ли DXVA, путем запроса фильтра декодера в работающем графике, который декодирует поток H.264, но код для запроса фильтра декодера для графика VP8, скорее всего, будет иметь другой код.
This MSDN link поддерживает мой опыт в том, что ускорение DXVA переключается через фильтр декодера; может быть какой-то способ запросить графическую карту, но я думаю, что это будет конкретный поставщик карт gfx.
К сожалению ответы не были более конкретными, но я надеюсь, что это указывает на вас в правильном направлении ...
вы говорите об обнаружении, если он играет на сайте? или просто вообще? – Jason
Просто в общем. Media Player, VLC и т. Д. Используют ускорение видеокарты, если доступно с оверлеями и т. Д. Я пытаюсь поймать ловушку, если это произойдет. – Boarder2
Аналогичный вопрос с некоторыми возможными решениями: http://stackoverflow.com/questions/11177373/how-to-detect-if-any-video-is-being-played-now – TheLegendaryCopyCoder