Skip to main content
Version: 1.12-grodno (current)

Lyra3.OR.GERS

Подготовка к установке Lyra3.OR.GERS

Установить заголовочные файлы ядра. Они необходимы для dkms, который соберёт драйвер blackmagic.

sudo apt install -y linux-headers-$(uname -r)

Установка VAAPI

Выполнить подключение репозиториев MVS

Для GERS требуется обеспечить аппаратное ускорение (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

Разметка дисков для Lyra3.OR.GERS

Разметка дисков (при условии, что два SSD накопителя необходимо собрать в массив):

mdadm --zero-superblock --force /dev/sd{a,b}
wipefs --all --force /dev/sd{a,b}
mdadm --create --verbose --force /dev/md0 -l 0 -n 2 /dev/sd{a,b}
pvcreate -y /dev/md0
vgcreate -y gersstorage /dev/md0
lvcreate -yl +100%FREE -n storage1 gersstorage
mkfs.ext4 /dev/gersstorage/storage1
uuid=`blkid | grep storage1 | grep -oE [-a-z0-9]{36}`
echo "UUID=$uuid /var/sdmedia ext4 defaults 0 0" >> /etc/fstab

Разметка дисков (при использовании SSD накопителя M.2):

lsblk #найти необходимый диск
pvcreate -y /dev/<disk>
vgcreate -y gersstorage /dev/<disk>
lvcreate -yl +100%FREE -n storage1 gersstorage
mkfs.ext4 /dev/gersstorage/storage1
echo "/dev/gersstorage/storage1 /var/lib/mvs.lyra3.or ext4 defaults 0 0" >> /etc/fstab

Автоматическая установка Lyra3.OR.GERS

Установка ПО MVS. Установка метапакета:

sudo apt install mvs-lyra3-or-gers

Открыть файл /etc/mvs.lyra3.or/gers-options.yml:

sudo vim /etc/mvs.lyra3.or/gers-options.yml

Заполнить параметры файла конфигурации GERS, обязательно заменив параметры в полях со значением <set_it_up> на актуальные значения.

Lyra3:
HP:
Auth:
Address: <set_it_up> # http[s]://<Address>[:Port]
Core:
Address: <set_it_up> # http[s]://<Address>[:Port]
Streamer:
Address: <set_it_up> # http[s]://<Address>[:Port]
Packhaus:
Address: <set_it_up> # http[s]://<Address>[:Port]
OR:
Locale: ru
Server:
Address: <set_it_up> ## ip address
Port: 3319
GERS:
Id: "<set_it_up>" # должен быть идентичен названию из словаря /etc/mvs.lyra3.or/gerses.yml на сервере операционной
LogLevel: Information
LogFormat: Systemd
MediaPath: /var/lib/mvs.lyra3.or/gers # либо путь, по которому примонтирован медиа раздел, елси точка монтирования отличается от /var/lib/mvs.lyra3.or
WebStaticPath: /usr/share/mvs.lyra3.or/Lyra3.OR.GERS.SPA
ApiHost: 127.0.0.1 ## для настройки nginx upstreams
ApiPort: 3320 ## для настройки nginx upstreams
Support4K: "Off" # или "On"
Codec: H264VAAPI
MjpegQuality: 75
Endpoints:
- 0.0.0.0:3320
- 0.0.0.0:3321
- 0.0.0.0:3322
- 0.0.0.0:3323
- 0.0.0.0:3324
- 0.0.0.0:3325
- 0.0.0.0:3326
- 0.0.0.0:3327
- 0.0.0.0:3328
- 0.0.0.0:3329
- 0.0.0.0:3330
- 0.0.0.0:3331
- 0.0.0.0:3332
- 0.0.0.0:3333
- 0.0.0.0:3334
- 0.0.0.0:3335
ChannelsNumber: 4 # должен соответствовать количеству каналов в словаре ChannelOptions (ниже)
ChannelOptions:
- Title: "Channel0" # Количество элементов в словаре
DeinterlaceOnOff: "Off" # по количеству каналов
...
GrabberType: Blackmagic ## Available: Blackmagic, Magewell, Streamlabs
GERS_API_HPKEY: "<set_it_up>" # должен быть предварительно создан в Master, раздел Equipments. Необходим для выгрузки в Packhaus.

Выполнить команду:

sudo mvslyra3gersctl setup

После выполнения команды проверить статус работы сервисов, выполнив команду:

systemctl status Lyra3.OR.GERS.API

Выполнить перезагрузку системы:

reboot

После перезагрузки проверить работоспособность web-интерейса GERS, набрав в поле адреса браузера http://<IP_ADDR_GERS>

Ручная установка Lyra3.OR.GERS

Установить ПО MVS:

apt install -y mvs-lyra3-or-gers-api mvs-lyra3-or-gers-spa

Проверить актуальность прошивки платы видеозахвата в случае использования платы Blackmagic:

/usr/lib/blackmagic/DesktopVideo/DesktopVideoUpdateTool -ua

Разделить порты на плате видеозахвата:

ssh -XYC mvsadmin@gers_ip

/usr/lib/blackmagic/DesktopVideo/BlackmagicDesktopVideoSetup

Отредактировать конфиг /etc/mvs.lyra3.or/Lyra3.OR.GERS.API.yml:

LoggerOptions:
# Trace | Debug | Information | Warning | Error | Critical | None
LogLevel: Information
# Verbose | Full | Short | Tiny | Systemd
LogFormat: Verbose
UseColors: true

ListenOptions:
DmzEndpoints:
- 0.0.0.0:3320
- 0.0.0.0:3321
- 0.0.0.0:3322
- 0.0.0.0:3323
- 0.0.0.0:3324
- 0.0.0.0:3325
- 0.0.0.0:3326
- 0.0.0.0:3327
- 0.0.0.0:3328
- 0.0.0.0:3329
- 0.0.0.0:3330
- 0.0.0.0:3331
- 0.0.0.0:3332
- 0.0.0.0:3333
- 0.0.0.0:3334
- 0.0.0.0:3335
GrabberOptions:
MaxChannelsNumber: 4 ## Max channel to grab.
Substreams: ## Substreams config
- Name: "Original"
Width: 1920
Height: 1080
- Name: "High"
Width: 1280
Height: 720
- Name: "Med"
Width: 720
Height: 400
- Name: "Low"
Width: 352
Height: 192
Titles: # количество должно равняться MaxChannelsNumber (см выше)
- gers2_Channel0
- gers2_Channel1
- gers2_Channel2
- gers2_Channel3

## Support 4k for recording. Values: Off, On, Quadro. Default value: Off
Support4K: "Off"
## Deinterlace support per channel On, Off - default On
Deinterlace:
- "Off"
- "Off"
- "Off"
- "Off"

##Use fake grabber and software codecs
UseFake: false
GrabberType: Blackmagic ## Available: Blackmagic, Magewell, Streamlabs

MjpegStreamerOptions:
## Quality of stream (range: 1-100)
Quality: 75
## DeviceName - name of device with VAAPI capability
# DeviceName: "/dev/dri/renderD128"

RecorderOptions:
## Codec to use in encoding (available now H264CUDA, H264VAAPI - enum type)
Codec: H264VAAPI
## Bitrate to use video codec in kbit per second
Bitrate: 10000
## Path to root folder to record media
MediaPath: /var/lib/mvs.lyra3.or/gers
## Video fragment duration in seconds (use -1 to infinite duration, e.g. 1 segment per channel), 0 is not allowed and cause exception
FragmentDuration: 6
## DeviceName - name of device with hardware capability
# DeviceName: "/dev/dri/renderD128"
## AudioDeviceName - name of input audio device
AudioDeviceName: "hw:0,0"
## Disable fps restrictions
# DisableFpsRestrictions: false
## Ignore audio device if fail default: false
IgnoreAudioFail: false

ORServerOptions:
## Address and Port is used by default.
Address: <адрес ор сервера>
Port: 3319
## GERS id for interact with OR.Server.API. Allowed symbols are [a-zA-Z0-9]
GersId: gers2

HpPlatformOptions:
HpKey: <Берется из раздела Equipments в мастере>
AuthApiUri: <http://IP_ADDR_Auth_API:3304>
CoreApiUri: <http://IP_ADDR_Core_API:3302>
StreamerApiUri: <http://IP_ADDR_Streamer_API:3308>
PackhausApiUri: <http://IP_ADDR_Packhaus_API:3316>

SurgeryUploadServiceOptions:
MaxParallelUploads: 8 ## Количество одновременных загрузок в Packhaus от 1 до 8

Добавить в автозагрузку и запустить сервис:

sudo systemctl enable Lyra3.OR.GERS.API && sudo systemctl start Lyra3.OR.GERS.API

Внимание! Для оптимизации занимаемого видеопотоком места на GERS, а в последствии и на дисках Packhaus необходимо раскомментировать поле конфигурации Bitrate: и указать корректное значение битрейта видеопотока.

Рекомендуемые значения для поля Bitrate при разрешении видеопотока 1080 – 10000 кбит/с.

При разрешении видеопотока 4k – 17000 кбит/с.

Отредактировать конфигурацию веб сервера /etc/nginx/nginx.conf:

user nginx;
worker_processes auto;

error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;


events {
worker_connections 1024;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;
#tcp_nopush on;

keepalive_timeout 65;

#gzip on;

include /etc/nginx/conf.d/*.conf;
}

Отредактировать конфигурацию веб сервера /etc/nginx/conf.d/Lyra3.OR.GERS.SPA.conf:

# cat /etc/nginx/conf.d/Lyra3.OR.GERS.SPA.conf
server {

listen 80 default;

location / {
root /usr/share/mvs.lyra3.or/Lyra3.OR.GERS.SPA;
index index.html;
try_files $uri /index.html;
}

location ~ ^/gers/(.*)$ {
set $GERS_API_PATH http://127.0.0.1:3320/$1$is_args$args;
proxy_pass $GERS_API_PATH;
}

location /media {
alias /var/lib/mvs.lyra3.or/gers;
autoindex on;
autoindex_exact_size on;
autoindex_format html;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

}

Отредактировать конфигурацию:

# cat /usr/share/mvs.lyra3.or/Lyra3.OR.GERS.SPA/config.json

{
"publicDir": "",
"apiUrl": "gers"
}:

Streamlabs

Для поддержки карты видеозахвата Streamlabs требуется установить пакеты.

apt install -y mvs-streamlabs-driver # ver 1.1.2-1
apt install -y mvs-lyra3-streamlabs-grabber-lib

Создать ссылку:

ln -sf /usr/lib/x86_64-linux-gnu/libLyra3StreamlabsGrabber.so /srv/MVS.Lyra3.OR.GERS.API/libLyra3StreamlabsGrabber.so

в конфигурации GERS:

GrabberOptions:
GrabberType: Streamlabs
sudo reboot

Magewell

Для поддержки карты видеозахвата Magewell требуется установить пакеты.

apt install mvs-magewell mvs-lyra3-magewell-grabber-lib

в конфигурации GERS:

GrabberOptions:
GrabberType: Magewell
sudo reboot

Настройка BlackMagic

Настройка входов на картах blackmagic может быть выполнена одним из двух способов:

  • Автоматически, запустив утилиту mvs-lyra3-or-blackmagic-cli
  • Вручную, удаленно запустив в графическом режиме утилиту BlackmagicDesktopVideoSetup
ssh -X mvsadmin@<GERS_address> BlackmagicDesktopVideoSetup

Настройка blackmagic

Настройка звука ALSAMIXER

Выполнить команду:

alsamixer

Настройка Alsamixer&quot;

Настройка Alsamixer&quot;

Настройка проигрывания моно-звука в псевдостерео

При использовании радиомикрофона SHURE звук проигрывается только в одном канале.
Скрипт, генерирующий настройки для проигрывания звука в обоих каналах содержится в пакете mvs-helpers (/usr/share/mvs-helpers/scripts/gen_monomic.sh).

  • В mvs-lyra3-or-gers он устанавливается по зависимостям и может быть вызван следующим образом: mvslyra3gersctl virtual_audio
  • В mvs-lyra3-teleport он устанавливается по зависимостям и может быть вызван следующим образом: mvslyra3teleportctl virtual_audio

Пример использования:

sudo mvslyra3gersctl virtual_audio

После запуска будет создан файл /etc/asound.conf. Если файл уже существует, он не будет перезаписан, если не указать ключ --force

Утилита также может записывать конфигурацию в другой файл, если запустить ее с параметрами --conf </path/to/file.conf>

После выполнения сценария, в файле конфигурации GERS необходимо указать, что запись производить с нового виртуального микрофона. Данные микрофоны начинаются с префикса "monomic_" для каждого аудио устройства, на данный момент подключенного к GERS.

Полный список доступных микрофонов, можно увидеть выполнив команду:

arecord -L

После изменений, внесенных в конфигурационный файл GERS, демон необходимо перезапустить.

Обновление Lyra3.OR.GERS с релиза "Нижневартовск" на "Юкки"

Подключить новый соответствующий репозиторий

Автоматическое обновление Lyra3.OR.GERS

Установить пакет mvs-lyra3-or-gers:

sudo apt update && apt install -y mvs-lyra3-or-gers

Запустить утилиту проверки конфигурации, чтобы убедиться какие новые параметры обновились:

sudo mvslyra3gersctl checkconfig

Добавить в конфиг мап недостающие параметры, если это необходимо. Выполнить команду:

sudo mvslyra3gersctl reconfigure

Ручное обновление Lyra3.OR.GERS

Обновить пакет mvs-lyra3-or-gers-api:

sudo apt install -y mvs-lyra3-or-gers-api

Изменить файл конфигуации, добавив в него следующие параметры:

...
HpPlatformOptions:
CoreApiUri: http://<core api addr>:3302
...
LocalizationOptions:
SupportedLanguage: en:ru:fr:be
CurrentLanguage: ru

Отредактировать конфигурацию:

# cat /usr/share/mvs.lyra3.or/Lyra3.OR.GERS.SPA/config.json

{
"publicDir": "",
"apiUrl": "gers"
}:

Перезапустить службу Lyra3.OR.GERS.API:

systemctl restart Lyra3.OR.GERS.API

Настройка отправки логов в коллектор

Процесс настройки отправки логов описан в разделе Cookbooks

Для настройки (в автоматическом режиме) отправки логов с GERS необходимо:

  • Установить в configMap (gers-options.yml) ключ(и):
  • remote_journal_enabled: true для отправки логов на хост, указанный в Lyra3.OR.Server.Address (сервер операционной)

  • (опционально) remote_journal_server_url: http://log_server_address:19532, в случае, если сборщик логов находится не на сервере операционной

    • Выполнить sudo mvslyra3orgersctl configure_journal_upload

GERS Watchdog

Данный компонент используется в случае установки в GERS аппаратного сторожевого таймера USB WatchDog Pro2 или USB WatchDog Lite. Алгоритм работы:

  1. После старта службы Lyra3.OR.GERS.API запускается служба Lyra3.OR.GERS.WatchDog и активирует сторожевой таймер;
  2. Каждые 120 секунд служба Lyra3.OR.GERS.WatchDog сбрасывает таймер, если эндпоинт /api/configuration GERS отвечает;
  3. Если служба Lyra3.OR.GERS.API не отвечает или имеет место аппаратное "зависание" GERS, сторожевой таймер перезагружает машину (интервал перезарузки по умолчанию - 5 минут);
  4. В случае штатной перезагрузки системы и до старта службы, сторожевой таймер переводится в деактивированный режим.

Установка:

sudo apt install mvs-helpers

Запуск с параметрами по умолчанию:

systemctl enable --now Lyra3.OR.GERS.WatchDog

Файл конфигурации (необязателен): /etc/default/gers-watchdog.conf:

WATCHDOG_PORT="/dev/ttyACM0" # адрес устройства watchdog
WATCHDOG_POLLTIME=120 # интервал сброса сторожевого таймера (сек)
GERS_URL="http://127.0.0.1:3320" # GERS API endpoint