Доброго времени суток!
Существует ли в природе сабж, или, хотя бы намёки на его существование?
В чём состоит задача:
Есть некое приложение, использующее на 100 процентов аппаратное ускорение видео, для вывода картинки в клиентскую часть окна.
Существует ли способ перехвата видеопотока? По-идее можно обратиться к участку оперативной памяти, выделенной под аппаратное ускорение видео, но я, даже близко не представляю, как это делается. На фёстстеп.ру не пинать я там был.
На выходе желательно иметь одни сплошные цифирки вместо видео. Напрмер - трёхмерный массив, обновляющийся 30 раз в секунду, с адресами пикселей или как-то так, но не обязательно именно так.
Просто я понимаю, что у проблемы может быть множество решений. Поэтому вопрос такой "размывчатый".
Скачал новый фрапс. Включил на запись, свернул приложение-источник видео, пошарился минутку на аплетах винды, выключил запись - просмотрел запись:
видеопоток не прервался ни на секунду.
У меня семёрка, проц СD2 е8400 3мгц, 8 гигабайт оперативки, видяха gf8800 gt.
Очевидно, что они перехватывают поток прямо из оперативной памяти выделеной в этот момент для формирования оверлэй, либо из оперативной памяти видеокарты (в чём я сильно сомневаюсь, но всё таки...). Если они это сделали - можем и мы!
Будет ли работать такой алгоритм (инасколько это реально вообще):
1) Запрашиваем у виндоус, диапазон адрессации ячеек ОП выделеной под оверлэй приложения.
2) считываем всё, что там находится.
3) формируем необходимую нам структуру.
4) обрабатываем готовую структуру, либо сохраняем её в файл.
У кого какие мысли на этот счёт? Кто-нибудь может сказать что-нибудь более-менее определённое?
Существует ли в природе сабж, или, хотя бы намёки на его существование?
В чём состоит задача:
Есть некое приложение, использующее на 100 процентов аппаратное ускорение видео, для вывода картинки в клиентскую часть окна.
Существует ли способ перехвата видеопотока? По-идее можно обратиться к участку оперативной памяти, выделенной под аппаратное ускорение видео, но я, даже близко не представляю, как это делается. На фёстстеп.ру не пинать я там был.
На выходе желательно иметь одни сплошные цифирки вместо видео. Напрмер - трёхмерный массив, обновляющийся 30 раз в секунду, с адресами пикселей или как-то так, но не обязательно именно так.
Просто я понимаю, что у проблемы может быть множество решений. Поэтому вопрос такой "размывчатый".
Скачал новый фрапс. Включил на запись, свернул приложение-источник видео, пошарился минутку на аплетах винды, выключил запись - просмотрел запись:
видеопоток не прервался ни на секунду.
У меня семёрка, проц СD2 е8400 3мгц, 8 гигабайт оперативки, видяха gf8800 gt.
Очевидно, что они перехватывают поток прямо из оперативной памяти выделеной в этот момент для формирования оверлэй, либо из оперативной памяти видеокарты (в чём я сильно сомневаюсь, но всё таки...). Если они это сделали - можем и мы!
Будет ли работать такой алгоритм (инасколько это реально вообще):
1) Запрашиваем у виндоус, диапазон адрессации ячеек ОП выделеной под оверлэй приложения.
2) считываем всё, что там находится.
3) формируем необходимую нам структуру.
4) обрабатываем готовую структуру, либо сохраняем её в файл.
У кого какие мысли на этот счёт? Кто-нибудь может сказать что-нибудь более-менее определённое?