Как вывести окно вебки

Как включить камеру на ноутбуке: настройка, функции, отключение

Включить камеру можно довольно легко на каждом ноутбуке, который ее имеет. А это практически все модели, которые вообще существуют на данный момент.

Современные веб-камеры лэптопов обладают очень хорошим качеством изображения. А дополнительные настройки сделают видеозвонки еще интереснее.

Из предыдущего материала вы узнали, можно ли удалить windows.old, и как это сделать. Сейчас мы рассмотрим, как включается веб камера на ноутбуке с Windows 10, 7 и 8, как ее настраивать и при желании, наоборот, отключить.

Интересно! Инструкция является универсальной для ноутбуков всех марок: Леново, HP, Acer, Samsung и других. Поэтому просто выполняйте шаги, описанные ниже, и все заработает.

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

1 Клавишами

Камера включается простым нажатием двух кнопок на клавиатуре: FN + ESC или F1-F12 или V. Клавиша должна соответствовать той, на которой нарисована камера. Чаще это — F8, F10 или V.

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

Нажимать нужно вначале клавишу FN, а уже потом другую клавишу. Иначе команда может не сработать. Нажмите их и проверьте, заработало ли все. Таким же образом она выключается — этим же сочетанием клавиш

Важно! Если хотите настроить качество изображения, которое будет передаваться, то сделайте это в программе или на сайте, в которой(ом) совершаете видеозвонки.

2 Смотрим параметры доступа

1. Нажмите одновременно клавиши WIN + I на клавиатуре и откройте раздел «Конфиденциальность».

2. В левой колонке перейдите в группу «Камеры» и в правой в блоке доступа кликните по кнопке «Изменить». Проверьте включен ли параметр. Отдельные параметры доступа приложений регулируются в этом же меню снизу.

Интересно! Каждый раз, когда какая-либо программа будет запрашивать камеру — вам будет приходить уведомление, где вы можете разрешить или запретить к ней доступ.

3 Включаем в Windows 7

1. Нажмите одновременно клавиши WIN + R на клавиатуре и введите команду — control printers

2. Откройте в списке устройств свою веб-камеру и включите ее.

Как проверить камеру на ноутбуке и компьютере — Windows 10 и 7

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

Интересно! Все эти способы также отвечают и на вопрос — как проверить веб камеру на компьютере. Внешнее устройство проверяется точно такими же способами, они универсальны.

Проверка на Windows 10

Нажмите одновременно клавиши WIN + R на клавиатуре и введите команду — microsoft.windows.camera:

Откроется приложение камеры, и вы сразу увидите себя в ней, если все работает нормально.

Webcammictest

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

Webcamtests

Еще один неплохой сервис, сразу после того, как вы на него перейдете, покажет изображение с вебки. Если возникнут какие-то неполадки — об этом сразу будет показано сообщение.

При возникновении неполадок

1. Нажмите одновременно клавиши WIN + R на клавиатуре и введите команду — devmgmt.msc

2. Откройте раздел с устройствами обработки изображений и посмотрите, какой значок стоит у камеры.

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

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

Интересно! Если у вас до сих пор не получается никак заставить вебку заработать, то рекомендую прочитать материал со всеми решениями этой проблемы — почему не работает камера на ноутбуке.

В заключение

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

Источник

Программный захват с вебкамеры

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

Итак, есть у нас вебкамера и Питон. Прежде всего, нельзя не похвалить камеру, которую я приобрел в dealextreme: малютка размером с половину спичечного коробка, работает в Винде и Линуксе без установки стороннего ПО (проверял в Вин 7 и Минт 13, включил — и поехали), приемлемое качество и цена. При работе камера не выдает себя горящими индикаторами или другими эффектами. Малые размеры способствуют незаметной ее установке.

Поскольку я работаю как в Винде, так и в Линуксе, решение должно удовлетворять обоим ОС. Поможет библиотека компьютерного зрения OpenCV и ее биндинг для Питона. Альтернативным решением может быть video4linux. Но, во-первых, мне было интересно освоить OpenCV, а во-вторых, про использование v4l уже была отличная хабрастатья.

Установим библиотеки numpy и opencv. Пользователи Линукса открывают терминал и пишут:

Те, кто под Виндой, идут сюда и выкачивают дистрибутивы numpy и opencv под нужную версию Питона.

Для Винды есть альтернативный способ установки. Достаточно скачать официальный дистрибутив библиотеки. В архиве обнаруживаем /build/python/2.x/cv2.pyd. Кидаем его в site-packages. Там же создаем файл cv.py с содержимым:

Все готово. Тестовый импорт:

Мы будем использовать часть библиотеки под названием higui. Начинаем эксперименты. Пробный шар — получение кадра и запись его в файл:

Функция CaptureFromCAM создает объект, с которого будет происходить захват. 0 — это индекс устройства, он может быть больше нуля, если камер несколько. Значение -1 несет смысл «любая доступная камера».

Теперь можно запустить сбор кадров в цикле. Будет замечательно, если кадры будут попутно отображаться в отдельном окне:

Функция NamedWindow создает и отображает окно, в которые выводится в цикле каждый кадр. Обработчик WaitKey задает задержку в миллисекундах для обработки событий окна, например, нажатия клавиши или вывода изображения. Если его опустить, окно не будет отображать кадры (и, возможно, вообще не появится).


Захват кадров в действии. Камера смотрит в монитор, поэтому возникает рекурсия — декстоп, внутри которого десктоп, внутри которого.

Сбор множества кадров полезен, когда требуется вставлять между снимками временную паузу, например, 1 кадр каждую минуту. Достаточно подставить в цикл time.sleep(60).

Если же требуется непрерывная съемка, нужно записывать кадры в видеопоток.

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

fourcc — это кодек, целое число, результат отображения четырехсимвольного имени кодека в числовой индекс. Например, CV_FOURCC(‘P’,’I’,’M,’1′) — это сжатие MPEG-1. В Винде можно передать -1 для выбора кодека интерактивно в диалоговом окне или 0 для записи без сжатия (размер файла получится ого-го!). Хабраюзер Elsedar подсказывает, где можно посмотреть полный список кодеков: www.fourcc.org/codecs.php

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

возвращает -1, что не удовлетворит функцию CreateVideoWriter, поэтому частота подбирается эмпирически. Как правило, у большинства камер она колеблется от 14 до 16 кадров в секунду. Если выставить 25, то полученный файл будет напоминать немое кино 20-х годов.

Последний параметр frame_size — пара целых чисел высоты и ширины кадра. Чтобы использовать параметры камеры, инициализируйте их следующим образом:

Теперь можно затронуть тему цветокоррекции. Если выходные кадры вас не устраивают, вполне разумно подкорректировать параметры захвата, чем пакетно перегонять горы джипегов или часы видео. Для установки параметров есть функция SetCaptureProperty. Заполнять несколько свойств удобно перебором словаря:

Параметры яркости, контраста и насыщенности задаются в диапазоне от 1 до 100. Их комбинация может значительно улучшить качество съемки в затемненных помещениях.


Кадр с параметрами по умолчанию


Яркость, контраст и насыщенность равны 50 пунктам


Яркость 50, контраст 70, насыщенность 0

Бывает так, что кадры с камеры нужно обрабатывать библиотекой PIL. Чтобы конвертировать их из формата cv в PIL, не обязательно сохранять их на диск, достаточно выполнить код:

И в обратную сторону:

В итоге мы имеем программный доступ к камере, можем снимать кадры и слать их по почте, делать какой-то анализ, писать видео. Решение кросплатформенно. Думаю, несложно организовать стримминг. Тут, кстати, сама собой напрашивается программка с GUI-интерфейсом на wx, например.

1) Библиотека OpenCV
2) Документация по биндингу к Питону
3) Раздел «highgui»

Источник

Вывод видео с нескольких web-камер на одной странице

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

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

Пояснения

  • Все примеры кода ниже будут писаться на angularjs, ибо сейчас пишу на нем.
  • Все скрипты будут написаны для работы с браузерами Chrome и Opera, ниже будет написано почему.

getUserMedia

Для доступа к веб-камере необходимо запросить у пользователя разрешение, и тут на сцену выходит getUserMedia, она принимает три аргумента:

  • constraints — тут мы указываем, к какому типу данных мы хотим получить доступ. Его мы рассмотрим ниже более подробно;
  • successCallback — функция возвращает объект LocalMediaStream, это и есть наш поток с камеры;
  • errorCallback — функция отрабатывает, если при попытке захвата потока происходит ошибка или если пользователь отказался предоставить доступ к своему устройству.

В качестве средства вывода мы будем использовать элемент video, в атрибут src которого будет передаваться URL элемент в формате Blob из объекта LocalMediaStream.
В результате, самая простая ф-я для захвата потока будет выглядеть так:

Тут происходит следующее:

  1. Мы создаем элемент video;
  2. При помощи ф-и createObjectURL из объекта LocalMediaStream мы создаем URL элемент типа Blob, который передаем в качестве источника в элемент video;
  3. Разрешаем авто-воспроизведение;
  4. Вставляем наш созданный элемент на страницу.

Задача минимум решена, мы вывели поток с одной камеры на свою страничку. Теперь нам надо вывести потоки с остальных наших камер.

MediaStreamTrack

Конечно же, в попытках решить свою проблему, я обратился за помощью к объекту MediaStreamTrack, который представляет собой интерфейс для работы с потоками со всех мультимедийных устройств, до которых браузер смог добраться. MediaStreamTrack пока довольно-таки редкий зверь и встречается в последних версиях Chrome, Opera и Firefox. Так зачем же он нам нужен? А затем, чтобы получить информацию об источниках данных.

В общем, мы нащупали путеводную нить для решения нашей задачи. Только я почувствовал радость от сбывающейся мечты, как я понял, что не могу получить все источники разом для их вывода. После истерического поиска решения было установлено, что в Chrome и Opere объект MediaStreamTrack имеет ф-ю getSources, которая и является нашим спасением. Как видно из названия, эта ф-я возвращает объект, который содержит в себе информацию обо всех источниках аудио и видео.

Ну так найдем наши камеры:

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

  • id — уникальный идентификатор источника, генерируется браузером;
  • kind — тип, к которому относится источник (audio или video);
  • label — метка устройства (источника), в моём случае там было USB Video Device;
  • facing — как я понял, параметр имеет значение только для мобильных платформ и указывает на переднюю и заднюю камеру (Принимает два значения User — фронт-камера и environment — задняя камера).

Решение

Таким образом, подведем итог того, что мы теперь умеем. Мы можем получить список всех источников с идентификаторами источников, а так же можем перехватывать данные с них и выводить. Осталось только сложить это все воедино, и мы получим то, к чему стремились.

Последовательность действий у нас будет такая:

  1. При загрузке страницы при помощи ф-и MediaStreamTrack.getSources мы определяем все источники видео сигнала;
  2. Выводим список источников на страницу. Делаем мы это для того, что нам все-таки придется давать разрешение на доступ к каждой камере. Этого можно избежать в том случае, если страница работает через https
  3. При нажатии на какой-либо источник из списка, мы перехватываем данные с него при помощи GetUserMedia, создаем элемент video для него и выводим. (Если выбираем один и тот же источник несколько раз, то просто будет делаться копия потока)

Перед тем как привести окончательный рабочий пример, мы вернемся к ф-и webkitGetUserMedia, а именно к её первому аргументу constraints. В документации написано, что туда передаются типы источников в формате:

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

Наш объект делится на две части:

  • mandatory — тут указываются обязательные ограничения для нашего видео и, если они не могут быть выполнены, то будет вызвано исключение.
  • optional — это не обязательные параметры, которые при возможности будут применены к потоку (т.е. если мы тут укажем, что на выходе мы хотим иметь видео сигнал с частотой кадров не 30, а 60, и наша камера обеспечивает такой поток, то мы получим то, что хотим, а если камера не удовлетворяет условиям, то видео будет выводиться с частотой 30 кадров, что будет соответствовать значению параметра minFrameRate в блоке mandatory).

Из параметров, которые можно настраивать я нашел такие:

  • frameRate — частота кадров
  • aspectRatio — соотношение сторон
  • minWidth — минимальная ширина
  • minHeight — минимальная высота
  • sourceId — уникальный идентификатор источника
  • width
  • height

Теперь все готово для того, чтобы написать окончательный вариант нашего модуля:

Приводить код html — шаблона я не буду. Все можно посмотреть на демке и на github.

На этом все, спасибо за внимание, и надеюсь, что эта статья будет кому-нибудь полезна.

Источник

Читайте также:  Как отстирать жирные пятна с шелками
Оцените статью