![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
В теме "Запись видео с рабочего стола", которую я создал в разделе Общие вопросы посоветовали обратиться сюда по поводу работы с видеопамятью.
comcon1 предложил такую идею для записи видео с рабочего стола?
Как вы думаете можно это реализовать и какие средства для работы с видеопамятью предоставляет WinAPI? |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
С помощью этой функции можно получить дескриптор окна. Через дескриптор - контекст устройства (HDC), а через него все биты рабочего стола. |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
А что-нибудь вроде размещения в видеопамяти куска информации?
|
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
В Windows напрямую с видеопамятью работать нельзя. |
|||
|
||||
| JoyEx |
|
||||
|
Дядя ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 21.6.2005 Где: Москва, РФ Репутация: 4 Всего: 12 |
А DirectX тогда для чего? DirectDraw может отобразить нужный "кусок" видеопамяти в твой процесс. Leksey С помощью HDC ничего не выйдет с захватом видео, если её выводят аппаратно, через OVERLAY. -------------------- Если ты уже никого не боишься, значит ты самый страшный |
||||
|
|||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
JoyEx А как выйдет?
К тому же мне важно изображение моего окна на рабочем столе, и я не использую OVERLAY. И как мне найти нужный кусок видеопамяти в котором изображение рабочего стола? |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
Ты будешь смеяться, я пересмотрел все темы, которые были на этом форуме по данной теме: все приходили к выводу, что даже с помощью DD видео не ухватить А нужно ли это?.. Про видео ничего не говорилось. |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
Что самое обидное софта который делает аналогичные вещи просто навал ом в Интернете.
|
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 1 Всего: 93 |
Это вроде как раз потому, что видео в основном играется через оверлеи. А оверлеи эта такая хитрая штука, которая обрабатывается на аппаратном уровне и само изображение может находится в любой области видеопамяти. -------------------- Да. Именно так. |
|||
|
||||
| JoyEx |
|
|||
|
Дядя ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 21.6.2005 Где: Москва, РФ Репутация: 4 Всего: 12 |
Leksey
Если нету overlay, то тогда нет ничего проще HDC - это описатель для "куска" видеопамяти, а Windows обычно работает с одной видеостраницей (все, что видно на экране на ней и находится) и поэтому, получив контект HDC своего Рабочего стола (тебе же ManiaK говорил уже) можешь спокойно сохранять картинку. В MSDN April 2003 есть пример "Storing an Image" (Windows GDI). Маленькие "куски" с Рабочего стола (- это тоже окно) в режиме приближенному к реальному времени можно таким образом сграбить, правда, это еще не видео, но вышесказанное можно спокойно сделать на WinAPI.
Вот Пример 1 Пример 2 Пример 3 Пример 4 там еще есть много чего ... -------------------- Если ты уже никого не боишься, значит ты самый страшный |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
[quote]
правда, это еще не видео [quote] Вот, а нужно именно видео и чтобы во время записи не было тормозов на среднестатистическом компе. С фоткой проблем нет. Попробовал напрямую копировать рабочий целиком без всякой оптимизации в Avi поток .При расширении 1024x768 тормоза жуткие. Добавлено @ 20:42 [quote] правда, это еще не видео [quote] Вот, а нужно именно видео и чтобы во время записи не было тормозов на среднестатистическом компе. С фоткой проблем нет. Попробовал напрямую копировать рабочий целиком без всякой оптимизации в Avi поток .При расширении 1024x768 тормоза жуткие. |
|||
|
||||
| JoyEx |
|
|||
|
Дядя ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 21.6.2005 Где: Москва, РФ Репутация: 4 Всего: 12 |
Тогда просмотри внимательнее мой предыдущий ответ (Часть 2), где ссылки ПримерX
-------------------- Если ты уже никого не боишься, значит ты самый страшный |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
Так ты что хочешь?
1) Записать (скопировать) видео, которое воспроизводится? Или 2) Записать видео про то, как окошки открываются, мышка двигается и тп. |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
Вот вот оно самое!!! |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
Ловишь указатель на Раб Стол (GetDesctopWindow), организуешь класс ДД на него, получаешь указатель на память и копируешь каждые х*100 мсек видеодамп. Скорость 24 Гц - в не надо. Достаточно 6-12 - сам смотри. И делай преобразование в 8 битную картинку. Для начала просто набор бмп-шек гони, потом можно и видео делать. Просто надо будет узнать, как кодеки юзать.
Это сообщение отредактировал(а) Fixin - 3.8.2005, 22:15 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |