ToolActToolAct

Тест камеры

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

Не начато

Предпросмотр в реальном времени

После начала теста отобразится изображение с камеры

Что такое тест камеры?

Тест камеры проверяет, может ли браузер получить доступ к веб-камере, внешней USB-камере или встроенной камере ноутбука и показать живой предпросмотр. Он полезен перед видеовстречами, онлайн-занятиями, собеседованиями, трансляциями, записью и любыми ситуациями, где неправильная камера, заблокированное разрешение, черный экран, низкое разрешение или плохой свет могут создать проблему. Инструмент использует разрешение браузера на доступ к камере, показывает поток, который страница реально может открыть, и позволяет сделать локальный снимок для проверки кадра и четкости. Он помогает проверить устройство, разрешение, частоту кадров, соотношение сторон и базовое качество без загрузки видео. Он не исправляет драйверы или аппаратные поломки; если изображения нет, проверьте настройки приватности, другие приложения, кабели и драйверы.

Как использовать

Как использовать

  1. Нажмите «Начать тест» и разрешите браузеру доступ к камере
  2. Следите за превью камеры в реальном времени
  3. Нажмите «Сделать снимок», чтобы сфотографировать
  4. Можно переключаться между камерами или тестировать разные разрешения

Советы

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

Применение

Проверка доступа камеры в браузере перед звонкомЗапустите камеру, чтобы подтвердить состояние разрешения, выбранный deviceId, живой превью, фактическое разрешение, частоту кадров, соотношение сторон и направление (фронтальная или задняя). Обнаружение зависшего потока, неправильного объектива или отката на 640x480 перед собеседованием, занятием, трансляцией или сессией поддержки — самый простой способ избежать неловкой ситуации отладки перед другими участниками.
Проверка реально поддерживаемых разрешений камерыЗапустите встроенные проверки для QVGA, VGA, 720p, 1080p, 1440p и 4K. Страница вызывает getUserMedia с явными ограничениями для каждого разрешения и отмечает, принимает ли его браузер и сенсор, выявляя случаи, когда спецификация заявляет 4K, а дескриптор UVC фактически ограничен 1080p.
Создание локальных снимков в качестве доказательстваДелайте PNG-снимки с живого видео через Canvas drawImage API, скачивайте нужные кадры и удаляйте лишние. Полезно для документирования ошибок фокусировки, полос ИК-фильтра, искажений объектива, проблем кадрирования или аппаратной неисправности, которую нужно отправить продавцу, в гарантийную форму производителя или при споре на торговой площадке.
Переключение между фронтальной, задней и внешними камерамиВыберите другой deviceId в селекторе камеры, когда у ноутбука есть встроенная веб-камера и внешняя USB или виртуальная камера, чтобы программу для звонков можно было направить на нужный объектив без настроек ОС. Виртуальные камеры OBS, карты захвата Elgato и Continuity Camera на macOS отображаются как отдельные устройства, и страница показывает их метки, чтобы неправильная камера была замечена до начала эфира.
Диагностика чёрного или зависшего превьюКогда превью тёмное или замершее, страница показывает состояние разрешения getUserMedia, метку устройства и применённое разрешение. Перекрестно проверьте настройки приватности ОС, конкурирующие приложения, удерживающие камеру (Zoom, OBS, FaceTime), и недавние изменения USB или драйверов, прежде чем предполагать отказ самого сенсора, поскольку большинство чёрных превью вызваны другим процессом, эксклюзивно захватившим устройство.

Технический принцип

Инструмент тестирования камеры построен на спецификации W3C Media Capture and Streams, используя navigator.mediaDevices.getUserMedia(constraints) для доступа к камере. Параметр constraints — это JSON-подобный объект, задающий ideal, exact, min и max значения для разрешения (ширина, высота), частоты кадров, направления и идентификатора устройства. Решатель ограничений браузера согласовывает их с дескрипторами UVC (USB Video Class), сообщаемыми прошивкой камеры; когда точное ограничение не может быть выполнено, вызов отклоняется с ошибкой OverconstrainedError — именно этот механизм лежит в основе проверки поддержки разрешений, которая зондирует каждое разрешение с ограничениями { exact } и отмечает неудачи. После получения потока видеодорожка предоставляет getSettings() (фактически применённые значения после согласования), getCapabilities() (полные поддерживаемые диапазоны оборудования) и getConstraints() (изначально запрошенные). Применённое разрешение, частота кадров, соотношение сторон и направление считываются из getSettings() и отображаются. Живой предпросмотр рендерится путём установки srcObject видеоэлемента на MediaStream; медиаконвейер браузера обрабатывает декодирование, конверсию цветового пространства и рендеринг с ускорением на GPU без манипуляции пикселями через JavaScript. Для фотоснимков CanvasRenderingContext2D.drawImage(videoElement, 0, 0) делает снимок текущего декодированного видеокадра на скрытый canvas, а toDataURL('image/png') сериализует его как PNG data URL. enumerateDevices() перечисляет все доступные устройства ввода мультимедиа — обратите внимание, что метки устройств — пустые строки до тех пор, пока пользователь не предоставил разрешение на камеру хотя бы раз, что является мерой против фингерпринтинга. Вызов track.stop() освобождает аппаратное обеспечение камеры и выключает индикатор; установка videoElement.srcObject = null отсоединяет конвейер рендеринга. getUserMedia требует безопасного контекста (HTTPS или localhost) и запрашивает разрешение для каждого источника; индикатор камеры обеспечивается на уровне ОС и не может быть обойдён страницей.

  • Согласование ограничений: решатель браузера сопоставляет значения ideal/exact/min/max с дескрипторами оборудования UVC — зондирования с { exact } завершаются ошибкой OverconstrainedError, когда сенсор не может обеспечить запрошенное разрешение, именно так заполняется таблица поддержки разрешений.
  • Интроспекция дорожки: getSettings() возвращает фактически применённое разрешение, частоту кадров, соотношение сторон и facingMode после согласования — они могут отличаться от запрошенных ideal-значений, когда ограничены пропускная способность USB или возможности сенсора.
  • Приватность enumerateDevices: метки устройств — пустые строки до тех пор, пока разрешение getUserMedia не предоставлено хотя бы раз для источника — мера против фингерпринтинга, предписанная спецификацией, из-за которой селектор устройств показывает общие названия при первом посещении.
  • Фотоснимок через Canvas: drawImage() копирует декодированный видеокадр из GPU-композитора в 2D-пиксельный буфер без перекодирования; toDataURL('image/png') сериализует его как без потерь PNG — кадр никогда не покидает память браузера.
  • Направление: VideoFacingModeEnum считывается из track.getSettings().facingMode ('user' для фронтальной, 'environment' для задней, 'left'/'right' для внешних) — не все настольные USB-камеры сообщают ориентацию, поэтому поле может показывать 'unknown'.
  • Жизненный цикл потока: track.stop() освобождает аппаратное обеспечение камеры и выключает индикатор на уровне ОС; srcObject = null отсоединяет конвейер рендеринга — оба действия необходимы для полного освобождения устройства, чтобы другие приложения могли его использовать.
  • Модель безопасности: getUserMedia требует безопасного контекста (HTTPS или localhost), запрашивает разрешение для каждого источника, а индикатор камеры обеспечивается на уровне ОС/ядра — страница не может обойти ни один из этих трёх барьеров.

Примеры

Базовый сценарий проверки

1. Нажмите «Начать тест» и предоставьте разрешение на камеру
2. Оцените качество изображения, фокус и частоту кадров
3. Нажмите кнопку «Фото», чтобы сделать тестовый снимок
4. Проверьте сведения об устройстве (разрешение, направление камеры, частоту кадров)
Применение: запускайте перед видеовстречей, собеседованием или прямой трансляцией

Проверка разрешений

1. Раскройте панель «Поддерживаемые разрешения»
2. Нажмите «Тест» рядом с каждым разрешением (например, 1080p, 720p, 480p)
3. Проверьте, какие из них реально поддерживаются вашим оборудованием
4. Выберите максимально стабильное разрешение для своих задач

Переключение между несколькими камерами

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

Часто задаваемые вопросы

Что проверяет тест камеры?

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

Почему моя камера не отображается?

Частые причины: браузер не получил разрешение на камеру (проверьте значок разрешений в адресной строке); камеру удерживает другое приложение (закройте Zoom, Teams, OBS); ОС блокирует доступ браузера к камере (проверьте настройки конфиденциальности Windows / разрешения камеры в macOS); аппаратный переключатель отключает камеру.

Может ли тест переключаться между фронтальной и основной камерой?

Да, если на устройстве есть обе. Страница перечисляет доступные камеры через navigator.mediaDevices.enumerateDevices(); выберите нужную из выпадающего списка. На телефонах «user» — это фронтальная, «environment» — основная.

Какие разрешения поддерживаются?

Любые, которые предоставляет камера и браузер. Распространённые варианты: 320×240, 640×480, 1280×720, 1920×1080. Более высокие разрешения требуют больше пропускной способности (для онлайн-использования) и нагрузки на процессор. По умолчанию страница берёт максимальное; выберите ниже, если интернет медленный.

Загружается ли видео с камеры куда-либо?

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

Почему видео отзеркалено?

Браузеры зеркалят фронтальную камеру в превью, чтобы соответствовать привычному «зеркальному» виду. Захваченные снимки могут быть как зеркальными, так и нет — проверяйте оба варианта. Зеркало переключается через CSS transform: scaleX(-1).

Что делать, если разрешение на камеру окончательно отклонено?

В Chrome нажмите на значок камеры в адресной строке → «Всегда разрешать». При необходимости сбросьте через chrome://settings/content/camera. В других браузерах есть аналогичные настройки разрешений. После выдачи доступа обновите страницу.

Похожие инструменты

Тест микрофона

Бесплатный онлайн-тест микрофона с уровнем громкости, формой волны и анализом спектра в реальном времени. Проверьте запись, устройство и разрешения браузера.

Тест клавиатуры

Бесплатный онлайн-тест клавиатуры: распознавание нажатий в реальном времени, коды клавиш, виртуальная клавиатура и история. Проверьте каждую клавишу.

Тест экрана

Бесплатный онлайн-тест экрана: поиск битых и горячих пикселей, проверка засветки и контраста заливкой сплошным цветом. Быстро оцените качество дисплея.

Инструмент записи экрана

Бесплатный онлайн-рекордер экрана: запишите весь экран, окно или вкладку браузера со звуком и сразу скачайте видео. Вся обработка происходит локально.

Инструмент создания фото для документов

Бесплатный онлайн-создатель фото на документы с ИИ-удалением фона. Поддерживает стандарты ЕС (фото для документов ЕС, паспорт ЕС, и т.д.), генерирует стандартные фото на документы в один клик. Локальная обработка в браузере защищает конфиденциальность.

Тест частоты обновления

Бесплатный онлайн-тест частоты обновления экрана: определяет реальную частоту монитора по частоте кадров анимации. Поддержка 60, 120, 144 Гц и выше.