![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Кто-нибудь сталкивался с такой проблемой?
Что-то я порылся в интернете и ничего особенного не нашел, кроме достаточно большого количества шароварных программ с той же функциональностью. Еще нашел пару статей ,как из отдельных кадров составлять AVI-файлы, но помоему должно быть какое-нибудь более эффективное решение. Буду благодарен за советы и ссылки на ресурсы по этому поводу.(Желательно без испоьзования Windows Media Series 9) |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 2 Всего: 18 |
Так что нужно? Как записывать, или чем?
Добавлено @ 17:38 Если как, то вроде надо каждые х секунд копировать себе изображение рабочего стола и его дочерних окон. Вроде так, но никогда не делал. Просто, помощь в поиске. |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Спасибо, но мне кажется это будет слишком тормознуто и есть другие способы решения.
А нужно просто записывать программным путем, а средства не имеют значения. |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Мне кажется это вопрос немного не в тему. Программным способом иначе как Fixin проделожил вряд ли сделать можно. В инете есть спец. проги - ищи.
Вот первая же ссылка: http://www.yandex.ru/yandsearch?rpt=rad&te...%F1%F2%EE%EB%E0 |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Спец. проги есть, но они как правило с закрытым исходным кодом.
А мне нужно написать свою. И еще может есть какие-нибудь библиотеки,которые смогут помочь? |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
А как насчет демона, который снимает видеопамять, а потом сохраняет по таймеру в примитивном формате AVI, для начала можно набор BMP-х.
Это сообщение отредактировал(а) comcon1 - 2.8.2005, 12:47 |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
А что значит снимает видеопамять?(Имелось в виду изображение рабочего стола?)
Этот вариант предлагал Fixin. Я нашел способ как это сделать с помощью Windows Media Series. Но тогда у юзера должен быть установлен какой-то кодек,а его дистрибутив больше 10Мб. Еще я нашел какую-то триальную Dll,которая предназначена для этого, но она очень дорогая. |
|||
|
||||
| CoreDumped |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 1.8.2005 Репутация: нет Всего: 1 |
Данный вопрос относится не к общим вопросам с++ а к вопросам применения средств операционной системы например API - для этого есть специальный раздел - C/C++: Системное программирование и WinAPI! Выбирайте внимательнее разделы, дабы быть услышанными и правильно понятыми!
|
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Fixin предлагал без конкретики. А я говорю -- залезь в видеопамять и сними все ее содержимое в бинарный поток. В видеопамяти и будет то, что у тебя на экране в данный момент. Далее разбери этот поток и переведи его в BMP-формат, а дальше -- как хочешь.
Я с видеопамятью не работал, но тут есть люди, которые знают, как это сделать. Это будет не очень быстро. Ведь в памяти 1024x648x3 байт информации. DirectX умеет напрямую работать с видеопамятью, если я не ошибаюсь. Покопай там. |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Странно, а я думал что видеопамять это 64 Мб моей видеокарты.
DirectX конечно позволяет управлять видео памятью,но я сомневаюсь что смогу найти нужный участок, который использует Windows. Сейчас пытаюсь реализовать то, что сказал Fixin. Но пока что изображение вверх ногами и при расширении 1024x768 жуткие тормоза. |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Для хранения снимка экрана 1024х768х32 нужно: 1024х768х32 = 25165824 бита = 3145728 байта = 3 мегабайта. Остальное - для оптимизации. Эти три мега нужно с частотой не менее 24 Гц считывать из видеопамяти и писать на диск. Если медленней, будут тормоза. |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Нет. Видеопамять -- это, конечно, твои 64 метра. Но я имею ввиду работу с участком памяти, который является проекцией экранной картины. ЛЮЮЮДИ!! КТО РАБОТАЛ СВИДЕО ПАМЯТЬЮ НАПИШИТЕ!!
|
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
CoreDumped извини, но сначала вопрос задумывался,как общий, потому что мне все равно какими средствами пользоваться.
ManiaK извини, я что-то туплю, считывать с частотой 24 Гц это типа 24 кадра в секунду? Как ты думаешь это реально и на какой машине если да? |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
24 кадра в секунду это порядка 70 метров в секунду. Скорость, посильная лишь оперативке.
Поэтума некоторое время имеет смысл потратить на наложение. Считывать только те байты, которые отличаются, остальные оставлять нулями. Получится следующая хренотень: Это слои - массивы ячеек видеопамяти. ----------------------------------- --- --- ---- -- --- --- -- Эту фичу можно хранить в памяти некоторое разумное время. Если организовать такой массив, как очередь, можно потихонечку писать эту лажу на диск с другого конца очереди, освобождая память. |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
А лучше вообще сначала в видеопамять писать, там еще быстрее будет, Вот только как получить указатель на видеопамять рабочего стола?
comcon1 можно поподробнее. Как я понял ты предлагаешь побайтовое сравнение двух копий экрана?И список различий -фактически еще одна. В чем преимущество? |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |