Skip to main content
Version: voronezh

Lyra3.Teleport

Для развертывания Teleport необходимо установить ОС из образа ubuntu-18.04.6-live-server-amd64-5.15.44-1_rev5. На других версиях ядра Ubuntu не будет работать модуль ядра для фейковой камеры, используемый службой Lyra3.OR.advancedCapture.API (используется в приложениях sip и конференции). Поставка Teleport требует версии MVS Platform не ниже 1.0.8 (релиз njc1.6). Для работы Teleport использует СУБД postgresql и брокер сообщений rabbitmq.

Подготовка к установке Teleport

  • Выполнить подключение репозиториев
  • Установить драйвера VAAPI В поставку teleport не входят драйвера VAAPI. Их нужно установить вручную в зависимости от модели процессора. В случае использования процессоров Intel ниже 10 серии необходимо установить драйвер:
sudo apt install i965-va-driver -y

В случае использования процессоров Intel 10 серии и выше необходимо установить драйвер:

sudo apt install intel-media-va-driver -y

После установки драйвера необходимо проверить работоспособность VAAPI с помощью утилиты vainfo. Пример вывода в случае работоспособной конфигурации:


VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileH264MultiviewHigh : VAEntrypointVLD
VAProfileH264MultiviewHigh : VAEntrypointEncSlice
VAProfileH264StereoHigh : VAEntrypointVLD
VAProfileH264StereoHigh : VAEntrypointEncSlice

Автоматическая установка Teleport

Установка приложения:

sudo apt install -y mvs-lyra3-teleport

Для автоматического конфигурирования Teleport необходимо заполнить файл конфигурации /etc/mvs.lyra3.or/teleport.yml (поля со значением <set_it_up>), после чего выполнить команду:

sudo mvslyra3teleportctl setup

Установка включает в себя:

  • Установку postgresql-15, если он не установлен ранее.
  • Загрузку схемы БД, если она не была загружена ранее.
  • Установку rabbitmq-server, если он не был установлен ранее. Конфигурацию пользователя и доступа к виртуальному хосту, удаление прав доступа пользователя guest (в случае его наличия).
  • Установку nginx и конфигурацию сервисов, необходимых для работы Teleport.
  • Конфигурирование и старт сервисов в составе решения, настройка в systemd юнитах списка зависимостей, требуемых для старта в рамках одного хоста. Для реконфигурирования Teleport после внесения соотвествующих изменений в configMap необходимо выполнить команду
sudo mvslyra3teleportctl reconfigure

Ручная установка Teleport

  • Установить rabbitmq
  • Установить postgresql
  • Загрузить схему БД. Файлы схемы расположены в каталоге /var/lib/mvs.lyra3.or/scheme и могут быть загружены с помощью вспомогательного скрипта:
# bash /usr/share/mvs.lyra3.or/scripts/postgresql_load_schema.sh --config /etc/mvs.lyra3.or/teleport.yml --sourcedir /usr/share/mvs.lyra3.or/scheme

Для корректной работы скрипта необходимо, чтобы в файле config map /etc/mvs.lyra3.or/teleport.yml были заполены следующие параметры:


Lyra3:
OR:
postgres:
Address: 127.0.0.1
User: <set_it_up>
Database: <set_it_up>
Password: <set_it_up>
Port: "5432"
Network: "127.0.0.1/32"

...

HP:
Auth:
URL: http://<set_it_up> ### Auth.API URL like http://1.2.3.4:3304 used by GERS, TerminalApp and OR.Server.API
Core:
URL: http://<set_it_up> ### Core.API URL like http://1.2.3.4:3302 used by TerminalApp and OR.Server.API
Jumbo:
URL: http://<set_it_up> ### Jumbo.API URL like http://1.2.3.4:3310 used by TerminalApp and OR.Server.API
Streamer:
URL: https://<set_it_up> ### Streamer URL like http://1.2.3.4:3308 or https://streamer.fqdn/ used by GERS and OR.Server.API
Packhaus:
URL: http://<set_it_up> ### Packhaus.API URL like http://1.2.3.4:3316 used by GERS and OR.Server.API
s3:
URL: https://<set_it_up>/storage ## hp2 nginx proxy URL like https://User.SPA.fqdn/storage used by TerminalApp (nginx rewrites URL to authorize with apiKey)
OVConf:
URL: https://<set_it_up> ### OVConf.API URL like http://1.2.3.4:3326 or https://User.SPA.fqdn/rest/ovconf-api/ used by TerminalApp
  1. Настроить следующие сервисы (приведена частичная конфигурация, реализующая функции Teleport):
  • Lyra3.OR.Server.API

Файл /etc/mvs.lyra3.or/Lyra3.OR.Server.API.yml:


SceneOptions:

## Teleport related feature: disabling ability to switch monitors to direct mode via hardware video switches. Default: false
DisableDirectMode: true

SurgeryOptions:

FreespaceMonitoringPath: "/var/lib/mvs.lyra3.or"
## Gers overall bitrate per channel in kbit per second for Teleport using only
GersOverallBitrate: 9000
## Gers maximum number of channels for Teleport using obly
MaxChannelsCount: 3
## Path where gers stores data equals 'MediaPath' in gers config
MediaPath: /var/lib/mvs.lyra3.or/gers
## Warning and error percents for available remaining free diskspace. Default: 5 and 2 percent.
DiskFreeSpaceWarningPercent: 50
DiskFreeSpaceErrorPercent: 25
## Path where usb drive will be mounted
UsbCopyPath: /mnt/usbhd

Прочие файлы конфигурации настраиваются аналогично, необходимо только принять во внимание, что у Teleport всего один GERS и всего один ГМУ.

  • Lyra3.OR.GERS.API

Файл /etc/mvs.lyra3.or/Lyra3.OR.GERS.API.yml:

GrabberOptions:
## Max channel to grab.
MaxChannelsNumber: 3
...

## Titles config. Lenght of titles array MUST strong be equal to MaxChannelsNumber, otherwise exception will occur
Titles:
- "Источник 1"
- "Источник 2"
- "Источник 3"
...
## Deinterlace support per channel On, Off - default On
Deinterlace:
- "Off"
- "Off"
- "Off"
...
UseUsbVideoGrabber: True
## Exclude devices which name contains below values from grab. Default: single element 'Lyra'
ExcludeUsbNames:
- Lyra
...

SurgeryUploadServiceOptions:
## Maximum value of parallel uploads to packhaus. Valid range 1-8. By default 1
MaxParallelUploads: 8
## Upload mode OR for regular upload - upload/delete file by file, Teleport - Delete after upload all files. Default mode is 'OR'
UploadMode: teleport

См. также: Подключение микрофона через SHURE

Конфигурация Lyra3.OR.TerminalApp:

Подробнее об изменениях (по сравнению с предыдущей версией, до Teleport):
Для virtual camera в конфиге добавилось новое обязательное строковое поле deviceLabel (может быть пустой строкой).

  1. В корне, можно указать isTeleport: true, и в этом случае, приложение начнет работать в режиме Teleport;
  2. В config.apps можно указать новое значение, которое включит возможность участия в конференции без использования внешнего мини ПК с Lyra3.OR.ConferenceApp. Этот apps можно включить, даже если isTeleport: false, поэтому нужно быть осторожным с данной конфигурацией. Что даёт config.isTeleport: true
  3. В форме заполнения данных об операции появится дополнительное поле "Операционная";
  4. На странице архива появится возможность посмотреть не только больничный, но и локальный архив;
  5. Блокируется возможность просмотра завершенной операции, в то время как идёт текущая операция. При попытке перейти из списка операций к просмотру завершенной операции, пользователю покажется сообщение, сообщающее о том, что это невозможно. Если операция началась во время того, как пользователь уже находился на странице просмотра подробностей, приложение сделает перенаправление обратно к списку архивных операций;
  6. Появляется возможность связать устройство видео и источник. При появлении нового устройства, пользователю выводится уведомление, а также появляется новая страница Настройки / Устройства;
  7. В шапке отображается новый виджет, рассказывающий о том сколько свободного места для записи осталось.
  • Lyra3.OR.AdvancedCapture.API

Файл /etc/mvs.lyra3.or/Lyra3.OR.AdvancedCapture.API.yml:

...
DriverOptions:
## Fullname of driver file : "/lib/modules/akvcam.ko"
DriverName: "/lib/modules/5.15.44-mvs/kernel/drivers/akvcam/akvcam.ko"
## Use hardware or software decoder. Hw decoder only available on intel skylake or newer processors with VAAPI driver
UseHWDecoder: true
## Device description. Title only ENGLISH
Devices:
- Title: "Lyra"
Width: 720
Height: 400
Uri: "http://127.0.0.1:3320/streams/mjpeg/?channel=Channel0&substream=Med"
...

DriverOptions.DriverName в примере указан ровно по тому пути, по которому он устанавливается в пакете akvcam.

Запустить службы:

sudo systemctl enable --now Lyra3.OR.GERS.API.service
sudo systemctl enable --now Lyra3.OR.Server.API.service
sudo systemctl enable --now Lyra3.OR.TerminalApp.service
sudo systemctl enable --now Lyra3.OR.AdvancedCapture.API.service

Порядок запуска служб:

- postgresql
- rabbitmq-server
- Lyra3.OR.Server.API (требует работы postgresql и rabbitmq-server).
- Lyra3.OR.GERS.API
- Lyra3.OR.AdvancedCapture.API (требует работающего GERS.API, это указано в systemd-юните)
- Lyra3.OR.TerminalApp

Настройка systemd-юнитов:

# systemctl edit Lyra3.OR.Server.API.service:

[Unit]
Description=Lyra3.OR.Server.API
Wants=network.target network-online.target rabbitmq-server.service postgresql.service
After=network.target network-online.target rabbitmq-server.service postgresql.service

Для изменения пользователя, под которым монтируется USB-накопитель, необходимо запустить мастер настройки и ввести имя пользователя и группу mvsservice:

sudo dpkg-reconfigure mvs-usb-automount