Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись видео с рабочего стола 
:(
    Опции темы
comcon1
Дата 3.8.2005, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: 12
Всего: 17



Я никогда не работал с видеопамятью. Создай такую тему где-нить в WinApi. Или обратись к Chaos - , я помню, он умеет. А насчет сравнения я бы посоветовал так. Вот вся видеопамять:
[********************************************************* ]
^________________________________________________________^
ptr1______________________________________________________ptr2
Смотришь, где начинаются изменения (_beg, и где заканчиваются _end). Отводишь память под размер (_end - _beg) и спасаешь в оперативе.
Таким образом ты хранишь список таких структур:
Код

struct modification {
       char *_end, *_beg;
       char *heap;
       modification *nxt;
};

Прогу стоит писать на чистом С с использованием системных вызовов. Будет быстрее.
char * - указатель на байтовую переменную, чтобы при вычитании получать реальные размеры блоков.

Специалисты, поправьте меня.

Это сообщение отредактировал(а) comcon1 - 3.8.2005, 14:28


--------------------
PM MAIL   Вверх
ManiaK
Дата 3.8.2005, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 5
Всего: 29



Я бы посоветовал кодирование в gif/jpg налету. Потому как метод сравнения всё равно не особо хорош - закрыл развёрнутое на весь экран окно, получил обновление практически всего экрана.

Цитата(Leksey @ 2.8.2005, 21:30)
А лучше вообще сначала в видеопамять писать, там еще быстрее будет

С видео памяти нужно читать.
PM MAIL WWW   Вверх
comcon1
Дата 3.8.2005, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: 12
Всего: 17



Почему бы не сделать и сравнение тоже. Ведь он не успеет закодировать 70 метров за секунду. Он разве что из памяти в память перегонит.

Еще можно организовать очередь вот этих структур modification.

В конец ей запендеривать новые данные, а из начала --
перекодировать и писать на диск.
Должны работать два таймера по одному будет сниматься экран, по второму --
будет происходить jpeg\gif конвертирование и запись на диск. Таким образом очередь будет с одного конца расти, с другого -- отъедаться.

Преимущество такого подхода в том, что если поток информации из видеопамяти сузится, запись на диск предыдущих картинок будет идти в том же темпе. В общем, буффер.
Я использовал этот подход с двумя таймерами для создания директории-зеркала. Одна директория полностью повторяет все изменения другой.


--------------------
PM MAIL   Вверх
Leksey
Дата 3.8.2005, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 12.12.2004

Репутация: нет
Всего: 1



ManiaK В видеопамять и писать можно при необходимости.
Я даже не думал, что все окажется так сложно. smile
PM MAIL   Вверх
ManiaK
Дата 3.8.2005, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 5
Всего: 29



Цитата(Leksey @ 3.8.2005, 15:47)
В видеопамять и писать можно при необходимости.

Если тебе ОСь это сделать даст. Хотя, в играх текстуры грузят как-то, возможно...
PM MAIL WWW   Вверх
Leksey
Дата 3.8.2005, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 12.12.2004

Репутация: нет
Всего: 1



Насколько я знаю игры на DirectX работают с видеопамятью напрямую, по крайней мере размещать в видеопамяти инфу и извлекать DirectX позволяет.
PM MAIL   Вверх
comcon1
Дата 3.8.2005, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: 12
Всего: 17



Цитата

ManiaK В видеопамять и писать можно при необходимости.
Я даже не думал, что все окажется так сложно.

А что ты хотел?? Задача для системного программиста. Должен знать Ось и ее системные вызовы. Иначе это будет не видео, а развеселый набор фотографий и зависон ( с приветом биллу).


--------------------
PM MAIL   Вверх
Leksey
Дата 3.8.2005, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 12.12.2004

Репутация: нет
Всего: 1



Вот только Windows наверное блокирует свою видеопамять.
PM MAIL   Вверх
Знак
Дата 4.8.2005, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 29.4.2005

Репутация: -5
Всего: нет



Попробуй

HyperCam 1.4

Валидол ищи сам.
--------------------
Ищу 2 файлаowl.tchwindows.tch 
PM MAIL   Вверх
ManiaK
Дата 4.8.2005, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Homo Sapience
***


Профиль
Группа: Комодератор
Сообщений: 1145
Регистрация: 3.8.2004
Где: ИУ5-93

Репутация: 5
Всего: 29



Цитата(Leksey @ 3.8.2005, 17:13)
Насколько я знаю игры на DirectX работают с видеопамятью напрямую, по крайней мере размещать в видеопамяти инфу и извлекать DirectX позволяет.

Он-то напрямую, но ты можешь работать только через него smile
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.