Trassir
31 марта 2026 г.Около 2 минGateVMS
Установка модуля Trassir Gate
Для установки модулей на хосте требуется наличие JRE (от 21.x и выше). Также доступен docker-образ.
Для установки в качестве демона-Linux необходимо:
- Создать директорию /opt/trassir-gate и поместить в нее jar модуль, application.yml
mkdir /opt/trassir-gate
cp trassir-gate.jar /opt/trassir-gate
cp application.yml /opt/trassir-gate- Создать директорию для логов:
mkdir -p /var/log/trassir-gateНастроить к ней путь в конфиге application.yml:
logging:
path: /var/log/trassir-gate- Создать символьную ссылку в директории /etc/init.d
cd /etc/init.d
chmod +x /opt/trassir-gate/trassir-gate.jar
ln -s /opt/trassir-gate/trassir-gate.jar trassir-gate- Перечитать список сервисов linux
systemctl daemon-reload- Запуск и остановку сервиса можно осуществлять стандартными командами, т.е.
service trassir-gate start
service trassir-gate status
service trassir-gate stopЗапуск с командной строки:java -jar <модуль>.jar
Настройка
Модуль обеспечивает:
- прием событий VMS Trassir ;
- получение медиа-контента, который связан с событиями;
- запрос в архиве кадра и ролика, связанный с событием;
- парсинг события для получения значения сигнала платформы;
- он-лайн видео-поток;
- доступность камер.
- В платформе InsparkIoT в разделе Устройства должно быть заведено устройство Trassir. Каналы устройства приведены ниже:
| Название параметра | имя топика | тип |
|---|---|---|
| Видео кодек | codec | строковый |
| Включена ли передача дополнительного потока (0 - нет, 1 - да) | have_substream | сигнальный |
| Включена ли передача основного потока (0 - нет, 1 - да) | have_mainstream | сигнальный |
| Доступен ли архив на устройстве (0 - нет, 1 - да) | have_hardware_archive | сигнальный |
| Используется ли протокол PTZ (0 - нет, 1 - да) | have_ptz | сигнальный |
| Название камеры | name | строковый |
| Отражение (hmirror, vmirror) | flip | строковый |
| Програмный разворот изображения для fisheye-камер (0 - нет, 1 - да) | fish_eye | сигнальный |
| Разворот (rotate90, rotate180, rotate270) | rotate | строковый |
| Соотношение сторон (auto, 4:3, 16:9) | aspect_ratio | строковый |
| record | record | сигнальный |
| URL для доступа к текущему потоку камеры | stream | Изображение |
- В типовой конфигурации, в схеме подключения выбирается тип подключения GATE
- В разделе Провайдер данных создается запись, в секции Устройства внешней системы регистрируются ID камеры в Trassir и привязываются к экземплярам устройств платформы.
- В конфигурации модуля необходимо указать требуемые параметры подключения. Пример конфигурационного модуля указан ниже. В секции
events.refsуказываются значения для фильтрации потока событий.
# порт http сервера (получить метрики http://localhost:port/metrics)
server:
port: 8043
spring:
application:
name: trassir-gate
# профили логирования, console - вывод в консоль, file - вывод в файл
profiles:
active: file
# уровни логирования модулей
logging:
level:
root: INFO
# подключение к рест-сервисам inspark (должен заканчиваться слэшем)
rest:
url: http://localhost:8080/sem-restservices/
user: <TRASSIR-GATE1>
password: <PASSWORD>
extSystemId: TRASSIR-GATE1 # должен совпадать с ID внешней системы в провайдерах платформы
# параметры подключения к артемис inspark
artemis:
url: tcp://localhost:61616
user: <user>
password: <pass>
# количество потоков в пуле для отправки JMS-сообщений
senderThreads: 8
# настройки очередей (см. имена свойств и дефолты в lib-gate)
queue:
event:
destination: jms.queue.Event
measure:
destination: jms.queue.Measure
# настройки подключения к брокеру MQTT
trassir:
# URL для подключения к API (НЕ должен заканчиваться слэшем)
url: https://10.10.10.10:8080
# Включена ли проверка сертификатов (в тестовой среде сетрификатов нет, она отключена, в продуктовой следует включить)
validate-sertificate: false
# офсет таймзоны на сервере Trassir
zone-offset: 3
# Пароль SDK для доступа к одной половине API которая не работеат через сессию пользователя
# (настраивается в Настройки сервера - Веб-сервер - Пароль SDK)
sdk-password: <password>
# Пользователь и пароль для доступа к другой половине API (которая не работает через пароль SDK)
user: trassir-gate
password: <password>
# урл прокси, должен заменить оригинальный урл видео в ссылках (НЕ должен заканчиваться слэшем)
proxy-url: http://10.10.10.103:8043/proxy
# урл получения потока (НЕ должен заканчиваться слэшем)
stream-url: http://10.10.10.!:555
# качество сжатия потока (0 - 100 процентов)
stream-quality: 50
# Максимальная длительность проигрываемой записи архива, секунд (получить ее по другому не получается)
archive-record-duration: 120
events:
# задержка отправки в платформу, секунд (нужна чтобы сформировался скриншот и запись в архиве)
delay: 10
# сопоставление типов событий событиям и каналам sem-next
refs:
-
# событие trassir, значение атрибута type
type: Motion Start
# идентификатор события sem-next (event.id), может быть не задан если событие не требуется
semEventId: 32428
# канал устройства sem-next для отправки значения по приходу события (если не задан - значение не отправляется)
semChannel: record
# значение, отправляемое в канал (если пусто - не отправляется)
value: 1
# прикладывать ли URL видео архива (нужно не везде, в событиях завершения записи не нужно)
archive: true
# настройки автоматического закрытия измерения (если нужно через некоторый период времени по каналу semChannel
# отправить закрывающее измерения, характерно для событий которые не имеют закрытия, если такие потербуется обработать)
autoclose:
enabled: false
delay: 30
value: "0"
-
type: Motion Stop
semEventId: 31234
semChannel: record
value: 0
archive: false