Ptp camera mac os ��� ���

Камера Mac не работает? Вот как это исправить

Apple MacBook и настольные компьютеры Mac часто имеют встроенную веб-камеру. Вы также можете подключить внешнюю веб-камеру к вашему Mac через USB. Если ваша веб-камера не работает, или кажется, что она отключена или недоступна в macOS, есть несколько шагов, которые вы можете предпринять, чтобы (надеюсь) возобновить ее работу.

Посмотрите, покрывает ли что-нибудь объектив

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

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

Проверьте разрешения веб-камеры

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

Вы можете дать любому приложению разрешение на доступ к веб-камере, перейдя в «Системные настройки»> «Безопасность и конфиденциальность»> «Камера». Все приложения, которые запросили доступ, будут перечислены здесь. Если рядом с ними есть флажок, они одобрены. Если поле пусто, разрешению было отказано.

Вы можете изменить любую из этих настроек, щелкнув по замку внизу экрана, а затем войдя в систему с паролем администратора (или Touch ID, или Apple Watch). Затем вы можете утвердить (поставить галочку) или отозвать (снять галочку) приложения и повторить попытку.

Убить процессы VDCAssistant и AppleCameraAssistant

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

Иногда, однако, это не работает. К счастью, вы можете вручную убить процессы командой Terminal. Для этого запустите Терминал, выполнив поиск в Spotlight или перейдя в Приложения> Утилиты.

Введите следующую команду и нажмите клавишу ВВОД:

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

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

Перезагрузите ваш Mac

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

Для этого откройте меню Apple и нажмите «Перезагрузить». В появившемся окне снимите флажок рядом с опцией «Открыть Windows при входе в систему».

Читайте также:  Пароль microsoft windows server

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

Переустановите приложение, которое вы пытаетесь использовать

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

Иногда приложения просто перестают работать. Старые не всегда хорошо работают с системой разрешений, которую Apple включает в новые версии macOS. Попробуйте удалить приложение из папки «Приложения», перетащив его на значок корзины в доке или выделив его, а затем нажав сочетание клавиш «Command» + «Удалить».

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

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

Проверьте разрешения экрана

Screen Time — это основная функция macOS, которая помогает вам контролировать работу вашего Mac. Кроме того, macOS управляет родительским контролем, который может включать ограничение доступа к веб-камере и любым приложениям, которые ее используют.

Чтобы проверить, не являются ли ограничения времени экрана, перейдите в Системные настройки> Время экрана> Содержание и конфиденциальность, а затем нажмите «Камера». Убедитесь, что «Камера» также включена на вкладке «Приложения». Если это не так, вы можете либо подтвердить подлинность и изменить настройку, либо попросить человека, который установил ограничение, удалить его.

Смотрите, если ваша внутренняя веб-камера обнаружена

Если вы используете MacBook или iMac, у него есть встроенная веб-камера. Вы можете проверить, правильно ли ваш компьютер обнаруживает веб-камеру. Для этого нажмите меню Apple в левом верхнем углу, а затем нажмите «О программе».

Нажмите «Системный отчет», а затем выберите «Камера» на боковой панели. Вы должны увидеть что-то вроде «FaceTime HD Camera (Built-in)» вместе с набором цифр и идентификаторов моделей. Вы также можете проверить в разделе «USB» и посмотреть, появляется ли там ваша веб-камера.

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

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

Сброс контроллера системы управления

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

Способ сброса SMC полностью зависит от того, какой у вас Mac. Вы можете найти вашу конкретную модель и инструкции по сбросу SMC здесь.

СВЯЗАННЫЙ: Как (и когда) сбросить SMC на вашем Mac

Проблемы с внешней веб-камерой

MacBook, iMac и iMac Pro имеют внутренние камеры. Однако вам может понадобиться купить внешнюю веб-камеру для некоторых моделей Mac, таких как Mac mini или Mac Pro. Также можно использовать превосходные внешние камеры в качестве веб-камер, если вы хотите повысить качество видео.

Читайте также:  Колесниченко линукс сервер своими руками

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

Если ваша веб-камера подключена через концентратор, убедитесь, что она получает достаточно энергии. Попробуйте удалить концентратор из уравнения и подключить веб-камеру непосредственно к вашему Mac. Есть ли у веб-камеры какие-либо светодиоды, которые указывают, что она используется?

Вы также можете проверить, обнаруживает ли ваш Mac веб-камеру. Нажмите на логотип Apple в левом верхнем углу, а затем нажмите «О программе». Нажмите «Системный отчет» в открывшемся окне и перейдите к разделу «USB» на боковой панели. Разверните там любой из вариантов и найдите свою веб-камеру.

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

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

Конечные попытки

Если вы не можете заставить работать свою внутреннюю веб-камеру, возможно, вы захотите переустановить macOS с нуля, просто чтобы убедиться, что это аппаратная проблема. Однако перед переустановкой обязательно сделайте резервную копию вашего Mac с помощью Time Machine, чтобы вы могли восстановить все свои личные данные.

В крайнем случае, вы можете использовать свой iPhone в качестве веб-камеры или использовать устройства захвата, чтобы превратить вашу беззеркальную или цифровую зеркальную камеру в высококачественную веб-камеру.

В противном случае вы всегда можете просто купить новую внешнюю веб-камеру,

СВЯЗАННЫЙ: Как использовать ваш iPhone в качестве веб-камеры

Источник

Моя борьба с PTPCamera или увлекательная история о реверсинге для самых маленьких

Почти все продвинутые зеркальные камеры, а также некоторые правильные мыльницы, позволяют управлять собой с компьютера. Программное управление камерой дает интересные возможности, например: съемка time lapse video, сопряжение камеры с микроскопом, эксперименты в области компьютерного зрения. Для управления камерой вендоры предоставляют свои проприетарные SDK, которые обычно работают исключительно под Windows и поддерживают камеры только в рамках определенной линейки (например у Canon есть аж 4 несовместимых между собой SDK). Какое счастье, что есть достойная открытая альтернатива — проект gphoto.

Прямо сейчас gphoto поддерживает 1598 моделей камер и список постоянно растет. Проект собирается под все UNIX-like ОС, включая Linux и Mac OS X. Съемкой можно управлять как при помощи command line утилиты, так и из своей собственной программы, используя библиотеку libgphoto. Доступны биндинги для разных языковых платформ, включая node.js.

В современных ОС присутствуют встроенные средства для работы с цифровыми камерами — как правило под «работой» подразумевается только выгрузка фото из камеры. Эти встроенные механизмы препятствуют работе gphoto, так как захватывают USB устройство в эксклюзивном режиме. Особенно интересно дела в этом плане обстоят в Mac OS X — ОС не предоставляет никаких штатных возможностей для отключения, но при этом система поддержки цифровых камер легко поддается реверс инжинирингу.

Скрипты для блокировки запуска PTPCamera на github.

PTPCamera

Интернет советует выполнить команду killall -9 PTPCamera (убить процесс PTPCamera) после подключение фотоаппарата для нормальной работы gphoto. Это в самом деле помогает, однако каждый раз при подключении камеры процедуру приходится повторять заново. Разумеется, программу PTPCamera можно просто удалить, но мне хотелось обойтись менее радикальным решением.

Читайте также:  Windows 10 bitlocker системный диск

В общем, требовалось понять механизм запуска PTPCamera, и максимально корректно отключить эту функцию.

О захвате изображений в Mac OS X

Согласно имеющимся источникам [1,2], инфраструктура захвата изображений в Mac OS X устроена следующим образом.

На вершине стека расположены приложения, с которыми непосредственно взаимодействует пользователь (ex: iPhoto).

В самом низу расположены приложения для управления устройствами, к числу последних относится PTPCamera. Приложения для управления устройствами ( MassStorageCamera.app , PTPCamera.app , TWAINBridge.app и тд.) живут в системных папках /System/Library/Image Capture/Devices и /Library/Image Capture/Devices .

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

Кто же запускает PTPCamera?

Попробуем определить механизм запуска PTPCamera, и для начала определим родительский процесс.

Итак, мы видим что PTPCamera запущен процессом launchd. В Mac OS X launchd — это универсальная запускалка для системных и пользовательских демонов. В системе запущено по экземпляру launchd для каждого активного пользователя. Launchd пользователя root выполняет те же функции, что init в традиционных UNIX системах.

Кроме демонов, laucnhd также запускает графические приложения по команде других программ. PTPCamera — это именно последний случай, как можно убедиться по ID задачи в launchd, об этом нам говорит [префикс].

Итак, мы знаем что PTPCamera был запущен процессом launchd, по команде некого приложения X.

Включим логирование launchd ( launchctl log level debug ), и спровоцируем повторный запуск PTPCamera.

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

Добавляем в файл /etc/syslog.conf строку
и информируем демон syslogd о необходимости перечитать настройки
Анализируем полученный файл debug.log . Находим искомое:
Запрашиваем у launchd информацию о com.apple.SystemUIServer.agent :

Теперь мы знаем, что «виновник» запуска PTPCamera — это SystemUIServer , ни много ни мало.

Ковыряем SystemUIServer

Имеется подозрение, что искомый функционал находится не в самом SystemUIServer , а в одном из прилинкованных фреймворков:

В этом списке главный подозреваемый — ICANotifications.framework . ICA — это сокращение от image capture, тот же акроним используется в публичных фреймворках для захвата изображений.

Изучаем ICANotifications.framework

Лирическое отступление. Исполняемый файл состоит из кода и неизменяемых статических данных (разные константы, таблицы, и тп.) Особый интерес представляют строковые константы. Извлечь их можно при помощи команды strings .

Запускаем strings /System/Library/PrivateFrameworks/ICANotifications.framework/Versions/A/ICANotifications , и наслаждаемся результатами:

Итак, рабочая гипотеза — библиотека работает с SQLite базой данных, наиболее вероятно, что это файл com.apple.ImageCaptureNotifications.DeviceDiscoveryDatabase в /Library/Caches .

Видно, что в конец имени ( com.apple.ImageCaptureNotifications.DeviceDiscoveryDatabase.501 ) дописывается ID пользователя, для каждого пользователя поддерживается собственный файл. Из содержимого понятно, что база задает список соответствий класса устройств и управляющей программы, которую нужно запускать при обнаружении устройства.

Редактирую базу данных, мы отключаем запуск PTPCamera для любого выбранного пользователя, это однозначный успех!

При необходимости вернуть все обратно, откатываем изменения, или просто удаляем файл бд (название папки /Library/Caches сообщает нам, что ОС при необходимости может перегенерировать содержимое).

Источник

Оцените статью