Привязка группы камер к экземпляру findface-video-worker

Часто в распределенной архитектуре обработку видеоизображения с группы камер требуется выполнять локально, не обращаясь к центральному серверу и не перераспределяя видеопотоки между удаленными экземплярами findface-video-worker.

Примечание

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

В этом случае группу камер привязывают к локально установленному экземпляру findface-video-worker.

Выполните следующие действия:

  1. Перейдите на вкладку Настройки. Выберите Группы камер.

  2. Откройте настройки группы камер.

  3. В поле Ярлыки создайте или выберите из уже созданных одну или несколько меток для привязки группы камер к экземпляру findface-video-worker. Сохраните изменения.

Существует два способа задать указанные метки:

  • с помощью конфигурационного файла findface-video-worker.yaml

  • с помощью конфигурационного файла docker-compose.yaml

Примечание

Используйте одинаковые названия меток в findface-video-worker и в веб-интерфейсе, в противном случае камеры не могут обрабатывать видео.

Выполните следующие действия:

  1. Откройте файл конфигурации /opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml и перечислите указанные ранее метки в формате словаря (метки MyLabel1, MyLabel2 в примере ниже).

    sudo vi /opt/findface-multi/configs/findface-video-worker/findface-video-worker.yaml
    
    labels: {"MyLabel1": "true", "MyLabel2": "true"}
    
  2. Перезапустите контейнер findface-multi-findface-video-worker-1.

    sudo docker container restart findface-multi-findface-video-worker-1
    

В качестве альтернативного способа вы можете использовать конфигурацию файла docker-compose.yaml:

  1. Откройте файл конфигурации /opt/findface-multi/docker-compose.yaml и укажите метки в разделе findface-video-worker, добавив переменные окружения:

    sudo vi /opt/findface-multi/docker-compose.yaml
    
    ...
      findface-video-worker:
        command: [--config=/etc/findface-video-worker.yaml]
        depends_on: [findface-video-manager, findface-ntls, mongodb]
        environment:
          - CUDA_VISIBLE_DEVICES=0
          - CFG_LABELS=MyLabel1=true;MyLabel2=true
        image: docker.int.ntl/ntech/universe/video-worker-cpu:ffserver-9.230407.1
        logging: {driver: journald}
        network_mode: service:pause
       ...
    
  2. Перезапустите все контейнеры FindFace Multi.

    cd /opt/findface-multi
    sudo docker-compose down
    sudo docker-compose up -d
    

Примечание

Если камере присвоена метка, то видеопоток с нее может обрабатываться как экземпляром findface-video-worker с аналогичной меткой, так и экземпляром findface-video-worker без меток.

Предупреждение

Если камера с меткой обрабатывается экземпляром findface-video-worker без меток и появляется свободный экземпляр с меткой, камера автоматически на него не переключится. Перезапустите камеру с меткой.