NVR Autorecord - это сервис для автоматической записи потоков с камер. Принцип его работы заключается в том, что каждые полчаса сервис выполняет следующие действия:
Что нам для этого понадобится
Процесс установки
Внимательно отнеситесь к выбору цели, автор статьи таким образом снес себе Windows!
Все нижеперечисленные команды выполняются в терминале.
Подробное описание команд можно посмотреть на сайте Docker.
0. Может потребоваться удаление старых версий Docker:
sudo apt-get remove docker docker-engine docker.io containerd runc
Настройка репозитория
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Добавление официального GPG ключа Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Проверьте совпадение ключа с фингерпринтом командой:sudo apt-key fingerprint 0EBFCD88
Ключ 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 должен совпадать:
Используйте эту команду для настройки репозитория версии stable:
sudo add-apt-repository "deb [arch=arm64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Установка Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
git clone https://git.miem.hse.ru/nvr/autorecord.git
vim ~/.env_nvr
SQLALCHEMY_DATABASE_URI=postgres://<db_username>:<db_password>@<host>:<port>/<db_name> ROOM_NAME=<room_name>
mkdir ~/creds
Чтобы переместить файлы на одноплатник с компьютера можно воспользоваться протоколом sftp. Для этого они должны находиться в одной сети. Узнать ip одноплатника можно с помощью команды ip -a
. Сначала надо проверить соединение с одноплатником с помощью ssh:ssh <jetson_user>@<jetson_ip>
.Если получилось подключиться, выходим из ssh командой exit
.
Далее подключаемся через протокол sftp к одноплатнику: sftp <jetson_user>@<jetson_ip>
. Заходим в папку creds, куда надо поместить файлы: cd creds
. С помощью команды put помещаем нужные файлы в эту папку: put way_to_file/file.json
. Выходим из sftp той же командой exit
.
6. Создать в папке файл с переменными окружения vi ~/autorecord/autorecord/.env
и внести их значения(их имена есть в файле autorecord/autorecord/core/settings.py)
Запустить сервис
cd autorecord
chmod +x run_docker.sh
./run_docker.sh
Проверка запуска и корректной работы автозаписи (просмотр логов докера):
docker logs <container_name>