Что заставляет imagesnap-list сообщать одну и ту же USB-камеру с двумя разными USB-именами, которые варьируются от запуска к запуску? - PullRequest
0 голосов
/ 11 января 2020

Моя конфигурация: Я пишу python код для мультикамерного массива, который подключается к MacBook Pro с MacOS Catalina. Каждая камера представляет собой USB-камеру, подключенную к Ma c через пару USB-концентраторов.

Наблюдается неожиданное поведение: Когда я звоню на imagesnap -list Иногда я нахожу, что имя устройства, которое imagesnap возвращает для одной из USB-камер в моем массиве мультикамер, изменилось с его USB-имени.

Обычно имя USB imagesnap возвращает идентифицирует производителя и / или название модели , и если их несколько, к нему добавляется пробел, знак «#» и число вроде этого: «inskam-102 # 3».

Однако, когда имя камеры неожиданно меняется, оно обычно меняется на что-то, что начинается «P C Camera» вместо указанного c производителя / модели.

Перезагрузка обычно устраняет проблему , и при следующем запуске imagesnap обычно сообщает о обычно ожидается имя.

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

Вопросы:

  1. Мне интересно, что позволяет сообщаемому имени USB изменяться следующим образом?
  2. Я бы хотел знать, как предотвратить такие изменения имени.
  3. Если их невозможно предотвратить, можно ли как-нибудь восстановить «обычное» имя без перезагрузки?

Мои предположения: Я предполагаю, что изменение имени означает, что имя не встроено в ПЗУ на устройстве. Вместо этого я представляю, что, возможно, существует какой-то универсальный идентификатор, связанный с производителем и / или моделью устройства, о котором сообщается, а затем ищется ОС. Если это так, если по какой-либо причине устройство на мгновение сообщает об искаженном идентификаторе, может произойти сбой при поиске, и, возможно, «P C Camera» - это имя по умолчанию, если при поиске произошел сбой.

Последний вопрос, дополнительный кредит! : -) Если этот механизм поиска - то, как все делается, мне интересно, есть ли способ, которым я могу обновить эту таблицу, назначив свои собственные предпочтительные «имена» для каждого из устройств, вместо того, чтобы он извлекал их из некоторая универсальная таблица поиска имен.

...