Я искал способ получить кадр из видео, которое в настоящее время находится в аппаратном оверлее, и я не нашел ничего надежного. Все, что я нахожу, это либо для захвата кадров из видео, которое вы воспроизводите (в вашем приложении), либо для создания фильтра, для которого я не могу найти хороший пример того, как бы я на самом деле брал кадры в моем приложении (или может ли приложение быть фильтр в памяти, который не нужно «устанавливать» и выбирать в плеере?).
Итак, мой вопрос: как мне поступить? Я знаю, что это возможно с фильтром, я видел, как это было сделано, я просто не видел, как это делается. Есть ли где-нибудь хороший пример того, как захватить кадры в фильтре и отправить их в мое приложение?
Или есть такой способ, как подключиться к какому-нибудь вызову процедуры и как-то получить кадр?
Я видел перехват для DirectX, чтобы получить всю информацию о DirectX, но аппаратные оверлеи не являются DirectX, не так ли? Или я могу просто подключиться к DirectX и взять оттуда передний буфер или что-то еще?
Я искал ресурсы по этой проблеме, но я продолжаю ходить по кругу, и тот факт, что есть люди, которые хотят разместить оверлеи на поверхностях DirectX, не помогает, многие результаты по этой теме .
Если это уместно, я бы предпочел решение на C ++ (приложение, которое у меня есть, на C ++ и в настоящее время использует «обычный» способ получения снимков экрана с экрана, который, конечно, оставляет черные прямоугольники для аппаратного наложения).