Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

Как реализовать технологию видео-перехвата (как у RAdmin)?   Найти похожие ветки 

 
Chaser ©   (2004-12-27 17:21) [0]

Здравствуйте!

Создаю программу для удаленного администрирования на подобии RAdmin.
Возник вопрос с перехватом удаленного экрана.
У меня пока все примитивно: делаю скриншот с экрана удаленного компьютера (в JPG) и копирую его на свой комп. Затем соответственно загружаю у себя.
Все это дело ставлю на таймер.
Но в итоге скорость обновления экрана монитора равняется примерно 2-3 кадра в секунду
С RAdmin"ом конечно не сравнить.

Вопрос:
Куда копать и как реализовать технологию видео-перехвата на подобии RAdmin"овской?
В чем она заключается?
Как работает эта технология?

Хотел бы услашать Ваши мысли и идеи по этому поводу. Если кому не жалко хорошо было бы посмотреть исходник данной или примерной реализации.

E-mail: chaser@front.ru.

Заранее благодарен, Андрей.


 
DVM ©   (2004-12-27 17:22) [1]


> Куда копать и как реализовать технологию видео-перехвата
> на подобии RAdmin"овской?
> В чем она заключается?
> Как работает эта технология?

драйвер это как написано на их сайте


 
DiamondShark ©   (2004-12-27 18:01) [2]


> В чем она заключается?

В том, что передаётся не весь скриншот, а только изменившиеся части.


 
Davinchi ©   (2004-12-27 18:34) [3]

при этом не используется сохранение в файл, а просто грубо говоря делается скриншот в урезанной цветовой гамме, потом "урезанный скриншот" проходит компрессию по методу архивации (смежные пиксели одного цвета вырезаюстя, составляется что-то вроде словаря какие пиксели вообще есть и где они должны быть), далее формируется пакет данных и по с ети пуляется твоей проге... Или генерация происходящего на удаленном ДескТопе на твоем компе трвоей прогой, т.е. перехватываешь только действия, которые происходят на удаленном компе (это все возможные HOOK"и), а у себя програмно генерируешь тоже самое - такой принцип ипользуется в сетевых играх - можешь порыть в этом направлении....


 
sql   (2004-12-28 08:59) [4]

Ищи WinVNС Проект открытый. Исходники все (или почти все, остальное можно найти). Хотя по скорости Radmin , превосходит все аналогичные проги. Мне кажется, технология снятия изображения с экрана одна у всех. Принцип един. А вот оптимизация кэширования и предача могут отличаться.


 
BiN ©   (2004-12-28 09:33) [5]

Хотел бы услашать Ваши мысли и идеи по этому поводу

есть такой протокол - X-Window называется.


 
Василий   (2005-01-06 17:19) [6]

Тебе надо ставить хук на собщение ON_paint по нему узнавать REct который в данный момент обнавлется отсылать его и провильно рисовать на форме.
Вроде все структура TMSG хранит такую весчь как хендл окна которому передается сообщение по нему можно узань регон для обнавлденя и координаты окна которое обнавляется в данный момент
далеше думай считай. и рисуй. Апишка для обнавления региона называется вроде UPdatergn короче по смотри в SDK WM_paint там все написано. С уважением Василий


 
_silver ©   (2005-01-07 14:38) [7]

Василий   (06.01.05 17:19) [6]
WM_PAINT - не единственное сообщение, которое надо перехватывать.

> по нему можно узань регон для обнавлденя

Регионов, которые обновляются, может быть больше одного.


 
Eraser ©   (2005-01-07 14:55) [8]

RAdmin использует спец. драйвер режима ядра.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.035 c
6-1102582950
Майкл
2004-12-09 12:02
2005.02.20
Помогите, пожалуйста, с программой.


1-1107312143
Alex_Petr
2005-02-02 05:42
2005.02.20
SearchPath по разному работает в зависимости от способа старта.


3-1105975016
andrey111
2005-01-17 18:16
2005.02.20
Query.Open из DLL


1-1107260551
Vetal
2005-02-01 15:22
2005.02.20
Посоветуйте Grid и DBGrid пожалуйста


1-1107534746
hamster
2005-02-04 19:32
2005.02.20
Вопрос по Turbo Pascal





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский