Как изменить настройку частоты сети моей веб-камеры?

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

Сначала вы настраиваете аутентификацию по открытому ключу и копируете открытый ключ на сервер, затем отключаете аутентификацию по паролю.

1
23.04.2020, 10:44
2 ответа

Используйте утилиту управления драйвером UVC для Linux

(Это вариант ответа @telcoM)

(Веб-камеры USB )управляются драйвером Linux USB Video Client . Их файлы устройств: /dev/video0, /dev/video1и т. д.

.

Одной из настроек драйвера является частота питающей сети, которая (обычно )имеет 3 варианта:

  • 0для Disabled, т. е. драйвер вообще не будет учитывать цикл напряжения.
  • 1для 50 Гц (большая часть мира)
  • 2для 60 Гц (США и некоторые другие)

В системах Debian доступны две альтернативные управляющие утилиты для этого драйвера. Один называется v4l-ctl, описан в ответе telcoM , а другой называется uvcdynctrl; устанавливается с одноименным пакетом , т.е. нужно запустить следующий (от root или черезsudo):

apt install uvcdynctrl

Когда пакет установлен, выполните следующие действия (не обязательно как пользователь root -это зависит от прав доступа к файлу устройства вашей камеры):

  1. Список доступных устройств, чтобы убедиться, что вы видите свою камеру:

    uvcdynctrl -l
    

    Вывод должен выглядеть примерно так:

    Listing available devices:
    video0   UVC Camera (046d:0825)
    Media controller device: /dev/media0
    Entity 1: UVC Camera (046d:0825). Type: 65537, Revision: 0, Flags: 1, Group-id: 0, Pads: 1, Links: 0
      Device node
      Entity: 1, Pad 0, Flags: 1
    video1   UVC Camera (046d:0825)
    Media controller device /dev/media1 doesn't exist
    
  2. Предположим, ваше устройство/dev/media0:
    webcam_device="video0"
    
  3. Получить текущую настройку частоты питающей сети :
    uvcdynctrl -d${webcam_device} "--get=Power Line Frequency"
    
    На этот раз вывод должен быть только одним числом. В вашем случае это, скорее всего, будет 2, что соответствует частоте 60 Гц.
  4. Установите новую частоту сети питания :
    uvcdynctrl -d${webcam_device} "--set=Power Line Frequency" 1
    

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

Сохранение настроек

Однако, как отмечает @telcoM, это не постоянный параметр. Чтобы сделать его постоянным, вам нужно добавить правило udev , которое будет выполняться при подключении камеры.

Создайте файл с именем /etc/udev/rules.d/81-uvcvideo.rules,с содержимым:

# Set power line frequency to 50 Hz
ACTION=="add", SUBSYSTEM=="video4linux", DRIVERS=="uvcvideo", RUN+="/usr /bin/uvcdynctrl -d$attr{name} --set=Power\\ Line\\ Frequency 1"

Примечания:

  • $attr{name}должно содержать имя нового подключенного устройства, например. video0, video1и т. д.
  • Теоретически эту настройку можно сделать глобально, независимо от используемого устройства. Но -кто знает? Возможно, одна из ваших камер направлена ​​на комнату с естественным -освещением, где коррекция частоты сети не требуется.
  • Приведенное выше правило не проверялось (!)
0
19.03.2021, 02:26

Если используемое приложение не позволяет выполнять соответствующие настройки и отсутствует «апплет настроек», используйте приложение, которое может выполнять эти настройки.

Ярким примером может служитьguvcview-программа просмотра GNU UVC. Это утилита для захвата видео с устройств с помощью драйвера Linux USB Video Class(UVC ). Когда вы запустите его, вы найдете настройку частоты сети :

.

enter image description here

и теперь вы можете изменить -центральную частоту 60 Гц в США на более распространенную 50 Гц.

Примечания:

  • GUVCView может не запуститься, если другое приложение активно использует камеру.
  • Установка частоты таким образом не сохраняется при перезагрузке системы.
2
19.03.2021, 02:26

Теги

Похожие вопросы