Программа слежения через камеру ноутбука. Заклеивать или нет камеру ноутбука, чтобы на вас не могли заработать Слежение через веб камеру ноутбука

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

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

Способы включения чужой веб-камеры

Вариантов, при помощи которых можно включить чужую камеру много. Но самых распространенных два:

  1. Троянский вирус. Его действие направлено не только на передачу изображения с камеры, но и передачу данных с компьютера. Она также может повреждать информацию. В вирусе целый набор функций от отключения антивируса, до передачи информации другому пользователю. Троянский вирус работает следующим образом: вместе со скаченными данными из интернета, скачивается и дополнительная программа, которая автоматически устанавливается. Заметить ее трудно, особенно при скачивании большого объема данных.
  2. Метерпретер. Это функциональная программа, которую внедряют в процессы explorer. Цель этой программы – сбор данных. Она позволяет получать доступ к удаленной информации, в том числе и к камере. Эта программа не является вирусом, поэтому не все антивирусы способны ее обнаружить.

Внимание! Троянский вирус считается одним из самых опасных, поскольку не всегда ловится антивирусом.

Законна ли такая слежка

Нет, любые слежки через камеру без согласия человека являются незаконными. Существует статья вторжение в личную жизнь и частную собственность человека. За это можно получить срок. В то же время, слежку через веб-камеру могут использовать должностные лица (например, милиция), если они получили соответствующее разрешение.

Как обезопасить себя

Существует несколько правил, которые помогут обезопасить себя от слежки через камеру:

  1. Для начала необходимо скачать хороший антивирус. Он способен ловить вирусы.
  2. Также проверяем все скаченные в интернете файлы. Если есть сомнительные, их следует удалить.
  3. Любая программа не сможет получить доступ к камере, если последняя выключена. Поэтому, когда устройство вам не нужно, его следует отключить.
  4. Если камера встроенная (например, в ноутбуке), отключите ее можно через BIOS. А можно просто заклеить камеру, если вы уверенны, что кто-то следит, но не получается ее выключить.
  5. Проверьте работу камеры. Если вы замечаете в работе блики или вспышки, есть вероятность, что за вами следят.
  6. Проверьте использование исходящего трафика.

Если программа слежки сделана профессионалом, и она хорошо спрятана, определить ее практически невозможно. Антивирусы вряд ли помогут. Но помните, что следят преимущественно за теми, кто хранит государственные тайны или что-то важное. Поэтому риск, что за вами следят крайне низкий.

Как следить через веб камеру ноутбука? Возможно ли вести скрытое наблюдение через веб камеру ноутбука? Да, возможно, программа слежения для ноутбука поможет вам в этом.

Хотим сразу обратить ваше внимание на тот факт, что скрытое наблюдение через веб камеру ноутбука без разрешения пользователя этого устройства, тайная слежка, прослушка звонков и чтение личной переписки, во многих странах незаконно. Поэтому, если вы хотите наблюдать через веб камеру ноутбука скрытно, учтите этот немаловажный факт.

Можно ли следить через веб камеру скрытно?

Нашим консультантам довольно часто задают примерно вот такой вопрос: «Правда, что через веб камеру можно следить за человеком скрыто?». Конечно можно и это чистая правда, что через веб камеру следят и родители за своими детьми, и ревнивые супруги друг за другом, и руководители за своими подчиненными, и спецслужбы за опасными нарушителями спокойствия.

Следят все и за всеми. Да и сделать это с нынешними технологиями довольно просто даже обычному пользователю. Теперь о том, что подразумевает под собой «слежка через веб камеру ноутбука», зачем она нужна и как она осуществляется.

Как ведется наблюдение через камеру ноутбука?

Слежка через веб камеру ноутбука – это возможность удаленно (находясь на значительном расстоянии от самого ноутбука) включать веб камеру и смотреть в режиме реального времени за тем, что происходит в комнате.

Видеонаблюдение через веб камеру ноутбука позволит быть в курсе всего, что творится у вас дома, когда вас нет:

  • чем занимаются дети в комнате;
  • если играют на ноутбуке, то какая у них реакция на игры;
  • что творят собаки, оставленные одни;
  • как ведет себя нянечка, ухаживая за вашим ребенком;
  • и многое другое.

Если вы руководитель компании, где сотрудники работают на ноутбуках в офисе или выезжают с ними на задания, тогда скрытое наблюдение через веб камеру ноутбука позволит видеть все происходящее, попадающее в поле зрения камеры. Вы будете в курсе того чем занимаются сотрудники в рабочее время на своих рабочих местах. Также в сможете наблюдать через веб камеру ноутбука чем занимаются выездные работники на заданиях.

Для того, чтобы можно было наблюдать через веб камеру ноутбука скрыто и удаленно, необходимо установить программу слежения на этот ноутбук. Одной из лучших программ скрытого наблюдения через камеру ноутбука 2019 года считается программа слежения Vkurse Windows.

Где можно скачать программу слежения для ноутбука?

На странице нашего сайта нужно скачать программу слежения для ноутбука Vkurse Windows бесплатно . Более подробно о том, как устанавливается и настраивается программа слежения через веб камеру ноутбука, написано в Руководстве в pdf. Его можно скачать на странице VkurSe Windows – рядом с кнопкой «Скачать».

Внимание! Пожалуйста, имейте в виду, что на нашем сайте вы можете:

  • скачать установочный файл программы – бесплатно;
  • скачать Руководство – бесплатно;
  • зарегистрироваться – бесплатная;
  • первые 7 дней после регистрации – бесплатные.

Если с Вас за регистрацию или установочный файл будут требовать деньги - значит, вы находитесь на сайте мошенников, будьте внимательны!

Как включать видеонаблюдение через веб камеру ноутбука удаленно?

Включать камеру вы сможете через свой персональный кабинет, который откроется у вас после регистрации. Первые 7 дней он будет работать бесплатно. Для того чтобы и дальше вы смогли включать видеонаблюдение через веб камеру ноутбука удаленно, нужно будет оплатить подписку.

В этот тестовый период вы ознакомитесь с огромными возможностями программы:

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

Программа VkurSe Windows – одна из лучших программ слежения через камеру ноутбука 2019.

Видеонаблюдение – один из эффективнейших методов охраны всевозможных предприятий, территорий и даже отдельных личностей. Современные технологии шагнули далеко вперёд и подарили человечеству существенный спектр различных методов видеонаблюдения, и один из них, который будет разобран в этой статье – наблюдение через веб-камеру. Ту самую, что имеется у большинства семей у себя дома.

Качество съёмки современных веб-камер вкупе с их небольшой стоимостью делают этот вид видеонаблюдения самым экономным из существующих . Правда: зачем покупать специализированные камеры с огромным разрешением, тратиться деньгами и временем на их установку, если есть такой бюджетный вариант?

Наблюдение через видеокамеру может пригодиться как в бытовых целях (слежка за подъездом, если имеются подозрительные гости и/или соседи; слежка за рабочим местом, то есть, недалеко от компьютера), так и может заменить , ибо с несколькими камерами можно развернуть целую систему.

Преимущества

Экономность и доступность. Собирается ли человек использовать одну-две камеры в бытовых целях (без надобности в Full HD), или целый десяток на рабочем месте по всему офису – выйдет в любом случае дешевле полноценных камер с их установкой, поскольку самая дорогая камера с высочайшим разрешением стоит от шести тысяч рублей.

Практичность и надёжность . Нуждающемуся в видеонаблюдении человеку достаточно будет потратиться только на камеру: установку в нужном месте можно произвести самостоятельно, из подручных средств, а само наблюдение вести из своего компьютера, будучи властным над расположением видеозаписей на жёстком диске компьютера, настройками записи и так далее.

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

Недостатки

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

Качество съёмки. Желая исполнить свою мечту и в довесок сэкономить, человек сталкивается с тем, что качествово картинки недостаточно хорошее, чтобы, например, сходу идентифицировать личность подозрительного человека в подъезде и тем самым, в случае чего, облегчить работу сотрудников полиции. А если на этажном пролёте отсутствует освещение, то съёмка ночных часов становится просто бесполезной тратой места на жёстком диске и времени. Фатальнее этот минус становится, если камера имеет и наилучшее разрешение: в темноте всё равно будет сложно что-то разглядеть.

Угол обзора. Если нужно вести слежку за обширной территорией (склад, рекреация, целая улица и так далее) – фиксированные веб-камеры без способности самостоятельно менять угол слежки вынуждают пользователя размещать в том же месте ещё одну камеру, чтобы ничего не упустить из виду. Если уж и экономить – то, как бы это парадоксально не звучало, стоит покупать камеру дороже, имеющую подвижную раму.

Непрочность. Так исторически сложилось, что люди не очень любят, когда их снимают без их разрешения. Если жители дома сами собрали средства и сдали их на установку профессиональных камер, то не имеется никаких претензий. Но всё меняется, когда слежку устраивает один-единственный энтузиаст на свои собственные средства, чем он может вызвать очень разнообразный спектр эмоций у соседей: от скрытого возмущения до открытой ненависти и смелого демонтажа любезно устроенной системы.

Ту же реакцию можно вызвать и на рабочем месте в офисе, но уже в меньшей степени, ибо тут можно надеяться на милость и поощрение начальника. В любом случае, придётся держать ответ.

Если вы считаете, что недостатки перевешивают достоинства, есть смысл ознакомится с другими .

Установка своими руками: как это работает?

В первую очередь, пользователю необходимо обладать следующими ресурсами:

  1. Веб-камера;
  2. USB-удлинитель (на вопрос экономии никак не влияет, стоит копейки);
  3. Знание и умение обращаться с драйверами, программным обеспечением;
  4. Компьютер или ноутбук, в зависимости от того, куда будет подключаться камера.

При необходимости удалённого наблюдения, в онлайн-режиме, нужно установить отдельный софт, дающий такую возможность.

Удалённая слежка имеет ряд преимуществ:

  • Экономия дискового пространства;
  • Следить за записью можно с абсолютно любого устройства;
  • Онлайн-наблюдение позволяет реагировать на происходящее в кадре в разы быстрее.

Программное обеспечение на примере IVideon

Софта для реализации онлайн-слежки существует великое множество, и в их число входит даже всем известный Skype. Функция автоматического принятия вызова и автоматической трансляции творит чудеса. Но одной из лидирующих программ в данной области была и остаётся бесплатная IVideon.

IVideon – простая в освоении, интуитивно понятная программа онлайн-наблюдения. Как же она работает?

После установки программа потребует пройти процедуру регистрации и выбора конфигурации;

  1. После прохождения регистрации в появившемся списке появится перечень подключённых к компьютеру камер.
  2. Следующее окно даст пользователю возможность самостоятельно выбрать диапазон дискового места, под которое будет выделена запись. В зависимости от целей, камер и их количества необходимо задать нужный размер в гигабайтах, но выделять рекомендуется не менее 50-70ГБ для комфортного круглосуточного записывания.
  3. Дальнейшие настройки дадут пользователю возможность автоматического запуска программы при включении компьютера, старт записи по расписанию, звуку, движению и многие другие приятные возможности.

Установленные также IVideon Client и IVideon Server позволяют пользователю вести онлайн-слежку сразу за несколькими камерами, настроить доступ и приватность к просмотру.

Другие программы

Помимо уже озвученных программ существуют следующие конкуренты:

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

Xeota. Данная программа позволяет в своей пробной версии вести наблюдение с четырёх камер одновременно. Поддерживает аналоговые, веб-, IP- и беспроводные камеры наиболее популярных издателей. Помимо функций скрытого наблюдения также может использоваться в качестве сигнализации (с выбором звука сирены) с автоматической отправкой изображений происходящего в кадре на почтовый адрес или телефон.

AbelCam . Онлайн-транслятор изображения с веб-камеры и видеоредактор в одном флаконе. Как и WebcamXP, в пробной версии позволяет вести наблюдение только по одному потоку, по одной камере. Поддерживает камеры высокого разрешения и вышеописанных видов, форматы.AVI и.WMV, имеет встроенный детектор движения.

Globoss . Серьёзная программа, имеющая полный спектр функций: 12 камер в платной версии (2 – в бесплатной), датчик шума и движения, запись по времени, поддержка IP-камер, а сервис разработчика позволяет вести удалённое наблюдение.

WebCamMonitor. Однопоточная программа, поддерживающая только веб-камеры, но имеющая все вышеперечисленные функции: датчик движения (с возможной настройкой определения движения только в одной конкретно взятой области кадра), шума (с настройкой громкости) и возможностью отсылать предупреждающие сообщения на почту и телефон.

AxxonNext. Внушительная программа, позволяющая развернуть систему наблюдения вплоть до шестнадцати камер, обходит все предыдущие по таким двум функциям, как слежка и полное управление с телефона и поиск необходимого объекта на кадре по определённым параметрам, но уступает по удобности и привлекательности интерфейса.

AtHome Video Streamer. В отличие от всех остальных программ, является мультиплатформенной программой, т.е имеет равные возможности и одинаковый функционал как на Windows, так и на Ubuntu с MacOS, Android и IOS. Имеет отдельное облачное хранилище и лёгкое подключение к прочим хранилищам подобного типа. В остальном – всё та же возможность записи по движению, звуку, времени и рассылкой тревожных предупреждений на телефон.

EyeLine Video Surveillance. Рекордсмен по поддержке потоков – ни больше, ни меньше – сто камер. Приятный минималистичный интерфейс и двухнедельный пробный период с возможностью подписки по символической цене дают полноценный и разношёрстный функционал (выбор редакции!).

Fraps. Несмотря на известность этой программы, как софта для захвата изображения с экрана компьютера, последние обновления ввели новшество в лице параллельной с захватом изображения записи картинки с видеокамеры, на чём можно, естественно, спекулировать и получить очередную программу видеонаблюдения, но сильно ограниченную в функционале – ни датчиков движения, звука, записи по времени, облачного хранения и удалённого слежения у этой утилиты не имеется.

Полезное видео

Смотрите о том, как установить домашнее видеонаблюдение на основе веб-камеры с софтом IVideon.

Заключение

Несмотря на достаточно богатый список перечисленных программ онлайн-наблюдения, конкретному пользователю могут подойти не все, но то не беда, ибо в интернете ещё много разномастных программ под разные нужды, в том числе и полностью бесплатных.

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

Будьте бдительны к подозрительно бесхозной технике на рабочем месте и к своим личным вещам. Надеемся, что эта статья послужит нуждающимся в мирных целях.

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

Начинаем реализацию: первые досадные огорчения

Я был очень удивлен и расстроен, когда узнал, что в великом и могучем.NET
Framework напрочь отсутствует возможность простого взаимодействия с веб-камерами.
В четвертой версии ситуация улучшилась (для SilverLight-проектов точно появились
соответствующие классы), но протестировать я их не успел, поскольку пример для
данной статьи я начал писать еще до официального выхода VS2010 и 4-го.NET’a.

Практически отчаявшись, я плотно засел в гугле. Результаты поиска по рунету
меня не вдохновили – все, что я нашел – это ссылки на MSDN и технологию
DirectDraw. Я даже попробовал набросать простенький примерчик, но из-за
отсутствия опыта работы с DirectDraw меня постиг облом. У меня получилось
собрать совсем простенькое приложение, но я так и не смог выловить в нем все
глюки.

Еще больше отчаявшись, я принялся шерстить ресурсы наших западных товарищей.
Проштудировав несколько десятков ссылок, я смог нарыть много вкусностей. Среди
них были всевозможные примеры и небольшие статейки (американцы не любят много
писать). Мне даже удалось найти рабочий пример на основе DirectDraw, но, когда я
увидел код – ужаснулся. Разобраться в нем было тяжело. Поэтому я решил с ним не
заморачиваться, а попытаться найти способ попроще. Не успел я распрощаться с
примером на DirectDraw, как на глаза мне попался еще один. Автор примера закодил
целую библиотеку для работы с веб-камерами и другими устройствами видеозахвата,
используя технологию VFW (Video For Windows).

Жаль, что проект автора (я про библиотеку) был максимально кастрирован. Все,
что позволяла сделать библиотека – вывести изображение с веб-камеры. Ни захвата
отдельных кадров, ни записи видео и других полезных нам фич не было.

И тем не менее, мое подсознание решительно сказало мне, что этот проект и
есть то, что я искал. Не успел я беглым взглядом пробежаться по его коду, как
увидел имена знакомых win-сообщений и не менее знакомых названий WinAPI функций.
Когда-то давным-давно мне приходилось писать приложение для работы с веб-камерой
на Delphi. Тогда я и столкнулся с этими функциями впервые.

Посмотрев сорцы, я решил написать свою версию библиотеки и снабдить ее нужным
функционалом.

Взвод, готовность №1

Вполне возможно, что в одном компе/ноуте может быть несколько веб-камер. За
примером далеко ходить не надо. Мне по работе часто приходится организовывать
простенькие видеоконференции. Обычно в них участвуют два человека. Каждого из
участников снимает отдельная камера. Сами камеры подключены к моему компу. Когда
я начинаю съемку, то выбираю в программе для работы с видеокамерами нужную в
настоящий момент камеру. Раз уж мы решили взять камеру под контроль, то обязаны
разобраться, как получать список установленных устройств видеозахвата и выбрать
то, с которым будем работать в настоящий момент.

Для решения этой нехитрой задачи в WindowsAPI предусмотрена функция
capGetDriverDescription(). Она принимает пять параметров:

  1. wDriverIndex – индекс драйвера видеозахвата. Значение индекса может
    варьироваться от 0 до 9;
  2. lpszName – указатель на буфер, содержащий соответствующее имя драйвера;
  3. cbName – размер (в байтах) буфера lpszName;
  4. lpszVer – указатель на буфер, содержащий описание определенного
    драйвера;
  5. cbVer – размер буфера (в байтах), в котором хранится описание драйвера.

В случае успешного выполнения, функция вернет TRUE. Описание функции у нас
есть, теперь посмотрим, как определить ее в C#. Делается это так:


protected static extern bool capGetDriverDescriptionA (short wDriverIndex,
ref String lpszName, int cbName, ref
String lpszVer, int cbVer);

Обрати внимание, что перед тем, как указать имя подключаемой функции, в
обязательном порядке требуется написать имя DLL, в которой она определена. В
нашем случае это avicap32.dll.

Так, функция импортирована, теперь можно написать класс, в котором она будет
использоваться. Весь код класса для получения списка устройств я приводить не
стану, покажу лишь код ключевого метода:

public static Device GetAllCapturesDevices()
{
String dName = "".PadRight(100);
String dVersion = "".PadRight(100);

for (short i = 0; i < 10; i++)
{
if (capGetDriverDescriptionA(i,
ref dName, 100, ref dVersion,
100))
{
Device d = new Device(i);
d.Name = dName.Trim();
d.Version = dVersion.Trim();

devices.Add(d);
}
}
return (Device)devices.ToArray
(typeof(Device));
}

Код выглядит проще некуда. Самое интересное место в нем – цикл, в котором
происходит вызов упомянутой выше функции capGetDriverDescription. Из MSDN мы
знаем, что индекс (первый параметр функции capGetDriverDescription()) может
варьироваться от 0 до 9, поэтому мы целенаправленно запускаем цикл в этом
диапазоне. Результатом выполнения метода будет массив классов Device (этот класс
я определил самостоятельно, смотри соответствующие исходники).

С получением списка устройств разобрались, теперь позаботимся об отображении
видеопотока с камеры. Тут нам сослужит хорошую службу функция
capCreateCaptureWindow(), предназначенная для создания окна захвата.

Немного забегая вперед, скажу, что дальнейшие действия с камерой будут
происходить путем банальной отправки сообщений окну захвата. Да, именно так,
придется воспользоваться до боли знакомой windows-программисту (и приколисту)
функцией SendMessage().

Теперь присмотримся внимательнее к функции capCreateCaptureWindow(). Ей
требуется передать шесть аргументов:

  1. lpszWindowName – нуль-терминальная строка, содержащая имя окна захвата;
  2. dwStyle – стиль окна;
  3. x – координата X;
  4. y – координата Y;
  5. nWidth – ширина окна;
  6. nHeight – высота окна;
  7. hWnd – handle родительского окна;
  8. nID – идентификатор окна.

Результатом выполнения функции будет handle созданного окна или NULL в случае
ошибки. Поскольку эта функция также относится к WinAPI, то ее опять-таки нужно
импортировать. Код импортирования приводить не буду, поскольку он практически
идентичен тому, что я писал для функции capGetDriverDescription(). Лучше сразу
взглянем на процесс инициализации камеры:

deviceHandle = capCreateCaptureWindowA (ref deviceIndex, WS_VISIBLE |
WS_CHILD, 0, 0, windowWidth, windowHeight, handle, 0);

if (SendMessage(deviceHandle, WM_CAP_DRIVER_CONNECT, this.index, 0) > 0)
{
SendMessage(deviceHandle, WM_CAP_SET_SCALE, -1, 0);
SendMessage(deviceHandle, WM_CAP_SET_PREVIEWRATE, 0x42, 0);
SendMessage(deviceHandle, WM_CAP_SET_PREVIEW, -1, 0);

SetWindowPos(deviceHandle, 1, 0, 0, windowWidth, windowHeight, 6);
}

В этом коде сразу после создания окна производится попытка отправки сообщения
WM_CAP_DRIVER_CONNECT. Отличный от нуля результат выполнения функции расскажет
нам о ее успешности.

Теперь представим, что сегодня боги на нашей стороне и произведем
незамедлительную отправку нескольких сообщений: WM_CAP_SET_SCALE,
WM_CAP_SET_PREVIEWRATE, WM_CAP_SET_PREVIEW. Увы, как и в случае с функциями, C#
ничего не знает о существовании этих констант. Тебе опять придется определять их
самостоятельно. Список всех необходимых констант с комментариями я привел ниже.

//Пользовательское сообщение
private const int WM_CAP = 0x400;
//Соединение с драйвером устройства видеозахвата
private const int WM_CAP_DRIVER_CONNECT = 0x40a;
//Разрыв связи с драйвером видеозахвата
private const int WM_CAP_DRIVER_DISCONNECT = 0x40b;
//Копирование кадра в буффер обмена
private const int WM_CAP_EDIT_COPY = 0x41e;
//Включение/отключение режима предпосмотра
private const int WM_CAP_SET_PREVIEW = 0x432;
//Включение/отключение режима оверлей
private const int WM_CAP_SET_OVERLAY = 0x433;
//Скорость previewrate
private const int WM_CAP_SET_PREVIEWRATE = 0x434;
//Включение/отключение масштабирования
private const int WM_CAP_SET_SCALE = 0x435;
private const int WS_CHILD = 0x40000000;
private const int WS_VISIBLE = 0x10000000;
//Установка callback-функции для preview
private const int WM_CAP_SET_CALLBACK_FRAME = 0x405;
//Получение одиночного фрейма с драйвера видеозахвата
private const int WM_CAP_GRAB_FRAME = 0x43c;
//Сохранение кадра с камеры в файл
private const int WM_CAP_SAVEDIB = 0x419;

Дальнейшее описание класса для работы с веб-камерой я опущу. Каркас я
рассмотрел, а со всем остальным ты легко разберешься путем раскуривания моего
хорошо прокомментированного исходника. Единственное, что я не хотел бы оставлять
за кадром – это пример использования библиотеки.

Всего в библиотеке я реализовал (точнее, дописал) пару методов: GetAllDevices
(уже рассматривали), GetDevice (получение драйвера устройства видеозахвата по
индексу), ShowWindow (отображение изображения с веб-камеры), GetFrame (захват
отдельного кадра в графический файл) и GetCapture (захват видеопотока).

В качестве демонстрации работоспособности изготовленной либы я набросал
небольшое приложение. На форме я расположил один компонент ComboBox
(используется для хранения списка имеющихся устройств видеозахвата) и несколько
кнопок – "Обновить", "Пуск", "Остановить" и "Скриншот". Ах да, еще на моей форме
пестреет компонент Image. Его я применяю для отображения видео с камеры.

Разбор полетов начнем с кнопки "Обновить". По ее нажатию я получаю список
всех установленных устройств видеозахвата. Начинка этого обработчика события:

Device devices = DeviceManager.GetAllDevices();
foreach (Device d in devices)
{
cmbDevices.Items.Add(d);
}

Правда, все просто? Разработанная нами библиотека берет на себя все черную
работу и нам остается лишь наслаждаться объектно-ориентированным
программированием. Еще проще выглядит код для включения отображения видеопотока
с камеры:


selectedDevice.ShowWindow(this.picCapture);

Опять же, все проще пареной репы. Ну и теперь взглянем на код кнопки "Скриншот":

Device selectedDevice = DeviceManager.GetDevice(cmbDevices.SelectedIndex);
selectedDevice.FrameGrabber();

Я не стал уделять особого внимания методу FrameGrabber(). В моем исходнике
вызов метода приводит к сохранению текущего кадра прямо в корень системного
диска. Разумеется, это не очень корректно, поэтому перед боевым применением
программы не забудь внести все необходимые поправки.

Готовность № 3

Теперь настало время поговорить о том, как соорудить простенькую, но надежную
систему видеонаблюдения. Обычно такие системы базируются на двух алгоритмах:
различие двух фреймов и простое моделирование фона. Их реализация (код)
достаточно объемна, поэтому в самый последний момент я решил пойти по более
простому пути. Под легким путем подразумевается использование мощного, но пока
малоизвестного фреймворка для.NET – AForge.NET.

AForge.NET в первую очередь предназначен для разработчиков и исследователей.
С его помощью, девелоперы могут существенно облегчить свой труд при разработке
проектов для следующих областей: нейросети, работа с изображениями (наложение
фильтров, редактирование изображений, попиксельная фильтрация, изменение
размера, поворот изображения), генетика, робототехника, взаимодействие с видео
устройствами и т.д. С фреймворком поставляется хорошая документация. В ней
описаны абсолютно все возможности продукта. Не поленись хорошенько с ней
ознакомиться. Особенно мне хочется отметить качество кода этого продукта. Все
написано цивильно и копаться в коде – одно удовольствие.

Теперь вернемся к нашей непосредственной задаче. Скажу честно, средствами
фреймворка она решается как дважды два. "Тогда зачем ты мне парил мозг WinAPI
функциями?" – недовольно спросишь ты. А за тем, чтобы ты не был ни в чем
ограничен. Сам ведь знаешь, что проекты бывают разные. Где-то удобнее применить
махину.NET, а где-то проще обойтись старым добрым WinAPI.

Вернемся к нашей задачке. Для реализации детектора движений нам придется
воспользоваться классом MotionDetector из вышеупомянутого фреймворка. Класс
отлично оперирует объектами типа Bitmap и позволяет быстренько вычислить процент
расхождения между двумя изображениями. В виде кода это будет выглядеть примерно
так:

MotionDetector detector = new MotionDetector(
new TwoFramesDifferenceDetector(),
new MotionAreaHighlighting());

//Обработка очередного кадра
if (detector != null)
{
float motionLevel = detector.ProcessFrame(image);

if (motionLevel > motionAlarmLevel)
{
flash = (int) (2 * (1000 / alarmTimer.Interval));
}

if (detector.MotionProcessingAlgorithm is BlobCountingObjectsProcessing)
{
BlobCountingObjectsProcessing countingDetector = (BlobCountingObjectsProcessing)
detector.MotionProcessingAlgorithm;
objectsCountLabel.Text = "Objects: " + countingDetector.ObjectsCount.ToString(
);
}
else
{
objectsCountLabel.Text = "";
}

Вышеприведенный код (не считая инициализацию класса MotionDetector) у меня
выполняется при получении очередного кадра с веб-камеры. Получив кадр, я
выполняю банальное сравнение (метод ProcessFrame): если значение переменной
motionlevel больше motionLevelAlarm (0.015f), то значит, надо бить тревогу!
Движение обнаружено. На одном из скришотов хорошо видна работа демонстрация
детектора движений.

Готовность №4

Веб-камеру можно запросто приспособить для распознавания лиц и создания
продвинутого способа лог-она в систему? Если переварив весь этот материал, ты
думаешь, что это сложно, то ты ошибаешься! В конце марта на сайте
http://codeplex.com (хостинг
для OpenSource проектов от MS) появился пример (а затем и ссылка на статью),
демонстрирующий реализацию программы для распознавания лиц с использованием
веб-камеры. Сам пример основан на использовании новых возможностей.NET и
SilverLight. Разобрать этот пример в рамках журнальной статьи нереально, так как
автор исходника постарался и сделал все максимально шикарно. Тут тебе и
алгоритмы для работы с изображениями (фильтр размытия, уменьшения шума,
попиксельное сравнение, растяжка и т.д.) и демонстрация новинок SilverLight и
много чего еще. Одним словом, must use! Ссылку на проект и статью ищи ниже.

Конец фильма

Приведенные в статье примеры послужат тебе хорошей отправной точкой. На их
основе легко сварганить как профессиональную утилиту для работы с веб-камерой, и
поднимать на ее продаже несколько сотен баксов в квартал или написать хитрого и
злобного трояна-шпиона.

Вспомни статью про . В ней я говорил, что времена клавиатурных шпионов уже прошли.
Сейчас особенно актуальны аудио и видеоданные. Если учесть, что сегодня
веб-камера – обязательный атрибут любого ноутбука, то нетрудно представить,
сколько интересного видео ты сможешь заснять, подсунув жертве "полезную
программку"… Однако я тебе этого не говорил:). Удачи в программировании, а
будут вопросы – пиши.

WWW

http://blogs.msdn.com/
– Русская версия статьи "Silverlight 4 real-time Face Detection"
(распознавание лиц в реальном времени при помощи SilverLight).


http://facelight.codeplex.com/ – здесь хостится проект "Facelight",
позволяющий распознавать лица в реальном времени. Если ты собрался закодить
серьезную софтину для определения лиц или логона в систему, то посмотреть на
этот проект просто обязан.


http://www.aforgenet.com/framework/ – тут ты
найдешь AForge .NET – отличный и простой в использовании фреймворк для работы с
видео, изображениями и т.д.

http://vr-online.ru
– все исходники примеров, а также кучу дополнительной информации ты
можешь слить с сайта проекта VR-Online.