Моя конфигурация: Я пишу 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 имена, чтобы узнать, какая камера чтобы вызвать следующий, и который взял, какое изображение.
Вопросы:
- Мне интересно, что позволяет сообщаемому имени USB изменяться следующим образом?
- Я бы хотел знать, как предотвратить такие изменения имени.
- Если их невозможно предотвратить, можно ли как-нибудь восстановить «обычное» имя без перезагрузки?
Мои предположения: Я предполагаю, что изменение имени означает, что имя не встроено в ПЗУ на устройстве. Вместо этого я представляю, что, возможно, существует какой-то универсальный идентификатор, связанный с производителем и / или моделью устройства, о котором сообщается, а затем ищется ОС. Если это так, если по какой-либо причине устройство на мгновение сообщает об искаженном идентификаторе, может произойти сбой при поиске, и, возможно, «P C Camera» - это имя по умолчанию, если при поиске произошел сбой.
Последний вопрос, дополнительный кредит! : -) Если этот механизм поиска - то, как все делается, мне интересно, есть ли способ, которым я могу обновить эту таблицу, назначив свои собственные предпочтительные «имена» для каждого из устройств, вместо того, чтобы он извлекал их из некоторая универсальная таблица поиска имен.