В данном руководстве рассматривается только установка и настройка нод, реализующих видеопортал DION Video в гибридном варианте.
Инструкции по установке и настройке других сервисов представлены на данной странице.
Архитектура DION предусматривает возможность переноса части компонент, отвечающих за обработку медиа трафика, на площадку организации. Такие компоненты мы называем гибридными нодами. Наличие гибридных нод позволяет проводить конференции в защищенном контуре, не передавая медиа трафик в облако DION. В гибридном сценарии связь гибридных нод с облаком DION является обязательным условием для работы конференций, так как в облако передаются сигнальная информация и управляющие команды.
Все гибридные компоненты, доступные к установке, можно разделить на три группы по функциональному назначению:
При развертывании DION Video в гибридном варианте появляется локальный экземпляр видеопортала. Все загружаемые туда видео файлы хранятся в локальном S3-хранилище. На портале также доступны записи гибридных конференций, если развернуты сервисы записи. На облачном видеопортале записи гибридных конференций никогда не отображаются.
В административной панели DION существует настройка, позволяющая отображать весь контент, доступный на облачном видеопортале, в локальной версии Dion.Video.
Для направления локальных пользователей на локальный видеопортал, необходимо прописать соответствующие имена на корпоративном DNS-сервере.
В гибридном варианте реализации видеопортала все сопроводительные данные к видео файлам, каналам и плейлистам, такие как название, описание, комментарии, таймкоды, хранятся в базе данных на стороне облачного DION в зашифрованном виде. Перед отправкой в облако вся информация шифруется ключом, который генерируется на основе информации из KMS (на данный момент поддерживается сервис HashiCorp Vault) на стороне компании. Все пользовательские запросы в облако могут быть перенаправлены на DLP компании.
Видео файлы, загруженные через гибридный видеопортал, хранятся в локальном S3.
Схема взаимодействия компонентов представлена ниже:
Категория | Наименование компонентна | Описание компонента |
---|---|---|
видео | HLS Delivery, HLS Converter, Upload Companion, API Video Gateway, Dmz Video Gateway | компоненты, отвечающие за создание, конвертацию и скачивание видео в формате HLS для платформы DION.Видео, а также передачу управляющих команд от DION.Видео в облако DION |
видео | DLP adapter | опциональный компонент, отвечающий за отправку мета-данных видеозаписей на проверку в DLP |
Прежде, чем перейти к редактированию конфигураций, убедитесь в том, что выполнены следующие шаги:
2. Разверните необходимое количество виртуальных машин/серверов и установите на них операционную систему.
3. Установите и запустите сервисы конференций, записи, SIP, если необходимо, по инструкции, доступной на данной странице.
4. Проверьте, что открыты все необходимые сетевые доступы.
5. Разверните S3 хранилище и получите учетные данные для доступа.
В рамках пилотной инсталляции можно воспользоваться тестовым образом S3 Minio, предоставленным DION. Для этого в явном виде сообщите вашей аккаунт-команде о намерении использовать тестовый образ.
Для работы сервисов DION.Video в гибридном режиме необходимо прописать ряд записей на локальном DNS сервере:
URL | Сервер назначения |
---|---|
video.dion.vc | API Video Gateway |
api-video.dion.vc | API Video Gateway |
upload-companion.dion.vc | Upload Companion |
hls-delivery.dion.vc | HLS-delivery |
На вашем доверенном УЦ необходимо выпустить ключ и серверный сертификат со следующими именами:
CN:
Alternames:
Формат: .crt
, .key
Этот сертификат должен быть доверенным для всех устройств пользователей DION.
Также необходим CA сертификат в формате .pem
Образы будут поставлены в виде .deb (или RPM) пакетов и архивов .tar.gz в следующем составе:
Обратите внимание, допустимо разнести сервисы API Video Gateway, Upload Companion и DLP Adapter по отдельным машинам. В целях экономии ресурсов рекомендуем ставить их вместе.
Наличие S3 хранилища является обязательным требованием для реализации DION Video в гибриде.
Предполагается, что в вашей организации существует S3 хранилище, которое может быть использовано DION для хранения аудио и видео файлов. Просим вас заблаговременно создать bucket (директорию для хранения записей), а также пару access-key и secret-key для доступа на S3 хранилище. В конфигурационных файлах DION указываются IP адрес S3 и порт доступа, имя bucket, access-key и secret-key.
Если инсталляция пилотная, вы можете запросить демо-образ S3 у вашей аккаунт-команды.
⚠️ Обратите внимание, демо-образ не подходит для продуктивной инсталляции, так как не поддерживает отказоустойчивость.
Рекомендуем установить minio на отдельной VM.
Для установки на машине требуются docker и docker-compose.
Если произошла перезагрузка и демо-S3 не стартовал автоматически, выполните шаги 4 и 5 инструкции ниже, чтобы запустить сервис заново.
По умолчанию контент из облачного DION.Video недоступен в гибриде, Чтобы разрешить пользователям гибрида просматривать облачный контент на локальном портале, необходимо выполнить следующие действия:
Предоставление доступа к видео в клауде из гибрида
”cache
.
Ниже приведены шаги по развертыванию демо-образа:
1. Распакуйте полученный архив на нужную виртуальную машину
2. Установите на ней docker
и docker-compose
Рекомендуем воспользоваться официальной инструкцией на сайте Docker.
3. В файле docker-compose.yml
посмотрите и поменяйте при необходимости логин и пароль для доступа к minio. Эти учетные данные используются при входе в minio через веб-интерфейс.
environment:
MINIO_ROOT_USER: {имя пользователя}
MINIO_ROOT_PASSWORD: {пароль}
4. Выполните команду
docker load -i {/путь/minio-release-2023-01-31.docker.image}
5. Перейдите в папку, где лежит файл docker-compose.yml
и выполните команду
docker-compose up -d
6. Перейдите в веб-консоль minio по адресуhttp://{IP выбранной VM}:9000
7. Создайте из веб-интерфейса новый bucket и пару access-key и secret key. Запишите имя bucket и ключи.
Запишите ключи сразу же в процессе создания, потом посмотреть их может быть невозможно.
8. Перейдите в раздел Bucket и кликните по созданному бакету
9. Перейдите в настройки Lifecycle
10. Создайте новое правило по образцу (это позволит не забивать кэш S3 копиями облачного контента)
Примеры в данном разделе приведены для ОС Ubuntu
На период установки гибридных нод необходимо наличие доступа в репозиторий операционной системы для установки необходимых зависимостей. При отсутствии доступа к публичному репозиторию некоторые пакеты не будут установлены корректно.
Для редактирования конфигурационных файлов и перезапуска сервисов вам потребуются root права.
При недостатке прав используйте
sudo
илиsudo su
.
nginx должен быть установлен на всех VM гибридного DION-Video, где развернуты сервисы:
- API Video Gateway
- Upload Companion
- HLS Delivery
Необходимо повторить шаги ниже на каждой VM. Если все сервисы развернуты на одной VM, установка проводится на ней.
Обратите внимание! Nginx необходимо установить в первую очередь, только затем пакеты DION.
Не меняйте при установке стандартный путь /etc/nginx
.
1. Для установки выполните команду (это необходимо сделать ДО установки сервисов DION)
apt update && apt install nginx
2. Удалите стандартный конфигурационный файл
rm /etc/nginx/sites-enabled/default
3. Перезапустите nginx
systemctl restart nginx
4. Убедитесь, что сервис запущен без ошибок
systemctl status nginx
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
0. Установите пакет dmz-video-proxy:
sudo apt install -f /полный путь к пакету/имя файла
/etc/dion/dmz-video-proxy.yml
nano /etc/dion/dmz-video-proxy.yml
2. Заполните конфигурационный файл в соответствии с комментариями в файле
3. Сохраните изменения в файле
ctrl+O ctrl+X
в Nano
4. Запустите сервис
systemctl restart dion-dmz-video-proxy
5. Убедитесь, что сервис запущен без ошибок
systemctl status dion-dmz-video-proxy
На машине необходим nginx. Обратитесь к разделу “Установка и настройка nginx”.
0. Установите пакет dion-api-video-gateway
sudo apt install -f /полный путь к пакету/имя файла
/etc/nginx/conf.d/nginx_api_gateway_frontend.conf
nano /etc/nginx/conf.d/nginx_api_gateway_frontend.conf
2. Укажите в переменных ssl_certificate
и ssl_certificate_key
через пробел полный путь к файлам .key и .crt, которые вы получили через ваш удостоверяющий центр (УЦ). В конце строки необходимо сохранить точку с запятой.
Пройдите весь файл до конца, сертификаты нужно указать несколько раз!
1. Откройте на редактирование конфигурационный файл /etc/dion/api-video-gateway.yml
nano /etc/dion/api-video-gateway.yml
ПРЕДУПРЕЖДЕНИЕ: Параметры, для которых указан комментарий “# не меняйте данное значение”, изменять нежелательно. В случае изменений сервис может работать некорректно
Следуйте комментариям в файле и инструкции ниже.
При редактировании файла очень важно сохранить исходную табуляцию!
2. Заполните конфигурационный файл согласно комментариям в файле. Ниже приведена дополнительная информация по заполнению отдельных переменных.
mutual_tls:
В секции # Настройки сервера grpc
enabled:
на true
whitelist_cn:
вписать значение полей CN из сертификата, выданного вашим УЦ, в виде спискаПример:
mutual_tls:
enabled: true
whitelist_cn:
- my_company.ru
- my_new_company.org
# Настройки сервера → # Настройки сервера grpc → # Указываются локальные адреса нод dmz-video-proxy
dmz-video-proxy
в виде списка в переменной addresses
:, укажите порт 9764 через двоеточиеНа данный момент не поддерживается более 1 экземпляра dmz-video-proxy. Поддержка планируется в Q42024.
Пример:
proxy_pass:
addresses:
- 192.168.0.1:9764
# Настройки Hashicorp Vault
Вносите изменения в данной секции, если в вашей организации используется Hashicorp Vault и вы хотите хранить в нем ключи для шифрования данных, которые передаются в облако DION, а также для шифрования видеозаписей при хранении в S3.
В противном случае секреты для генерации ключей хранятся в конфигурационном файла Api Video Gateway.
# Шифрование данных в БД
Вносите изменения в данной секции, если Hashicorp Vault НЕ используется
3. Сохраните изменения в файле
ctrl+O ctrl+X
в Nano
4. Запустите сервис
systemctl restart dion-api-video-gateway
5. Убедитесь, что сервис запущен без ошибок
systemctl status dion-api-video-gateway
6. Дополнительно следует проверить логи на отсутствие ошибок
journalctl -u dion-api-video-gateway -n 20
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
Перейдите в консоль VM, где установлен сервис API Video Gateway.
/app/dion/frontend/apps/player
mkdir -p /app/dion/frontend/apps/player
На подготовительном этапе на эту VM должны были быть перенесены два архива:
2. Распакуйте архив frontend-video-player.tar.gz
в папку /app/dion/frontend/apps/player/
tar -xzvf /путь_к_вашему_архиву -C /app/dion/frontend/apps/player
Данная команда не всегда актуальна и приведена для примера.
Можно использовать любую другую утилиту на ваше усмотрение или сначала распаковать архив, а затем разместить его на машине
В качестве проверки выполните команду ls /app/dion/frontend/apps/player
и сравните вывод:
ls /app/dion/frontend/apps/player/
@mf-types __types_index.json index.html remoteEntry.js remoteEntry.js.gz static version.json
3. Распакуйте архив frontend-video-app.tar.gz
в папку /app/dion/frontend/
tar -xzvf /путь_к_вашему_архиву -C /app/dion/frontend/
В качестве проверки выполните команду и сравните вывод:
ls /app/dion/frontend/
apps favicon.png fonts icons images index.html mail sounds static sw.js version.json
На машине необходим nginx. Обратитесь к разделу “Установка и настройка nginx”.
Если сервис ставится на одной VM с API Video Gateway, API Video Gateway должен быть установлен первым, затем — Upload Companion.
0. Установите пакет ImageMagick
Рекомендуется использовать ImageMagick версии 7.1.1 и выше, если такая есть в репозитории операционной системы. Это повысит производительность сервиса. Официальная инструкция по установке ImageMagick: https://imagemagick.org/script/download.php
Для простоты можно установить последнюю доступную версию с помощью вашего пакетного менеджера.
apt install imagemagick
1. Установите пакет dion-upload-companion:
sudo apt install -f /полный путь к пакету/имя файла
/etc/nginx/conf.d/nginx_upload_companion.conf
nano /etc/nginx/conf.d/nginx_upload_companion.conf
2. Укажите в переменных ssl_certificate
и ssl_certificate_key
через пробел полный путь к файлам .key и .crt, которыe вы получили через ваш удостоверяющий центр (УЦ). В конце строки необходимо сохранить точку с запятой.
1. Откройте на редактирование конфигурационный файл /etc/dion/upload-companion.yml
sudo nano /etc/dion/upload-companion.yml
ПРЕДУПРЕЖДЕНИЕ: Параметры, для которых указан комментарий “# не меняйте данное значение”, изменять нежелательно. В случае изменений сервис может работать некорректно
Следуйте комментариям в файле и инструкции ниже.
2. Заполните конфигурационный файл согласно комментариям в файле. Ниже приведена дополнительная информация по заполнению отдельных переменных.
# Настройки подключения к S3
api_url:
Пример:
api_url: 192.168.1.1:9000
или api_url: my_s3_storage.company.ru:9000
use_ssl:
на true
, если ваш S3 поддерживает SSL и требуется использовать SSL при подключении access_key: {access_key}
secret_key: {secret}
Пример:
bucket_name: records
3. Сохраните изменения в файле
ctrl+O ctrl+X
в Nano
4. Запустите сервис
systemctl restart dion-upload-companion
5. Убедитесь, что сервис запущен без ошибок
systemctl status dion-upload-companion
6. Дополнительно следует проверить логи на отсутствие ошибок
journalctl -u dion-upload-companion -n 20
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
На машине необходим nginx. Обратитесь к разделу “Установка и настройка nginx”.
0. Установите пакет dion-hls-delivery
sudo apt install -f /полный путь к пакету/имя файла
/etc/nginx/conf.d/nginx_hls_delivery.conf
nano /etc/nginx/conf.d/nginx_hls_delivery.conf
2. Укажите в переменных ssl_certificate
и ssl_certificate_key
через пробел полный путь к файлам .key и .crt, которыe вы получили через ваш удостоверяющий центр (УЦ). В конце строки необходимо сохранить точку с запятой.
/etc/dion/hls-delivery.yml
sudo nano /etc/dion/hls-delivery.yml
ПРЕДУПРЕЖДЕНИЕ: Параметры, для которых указан комментарий “# не меняйте данное значение”, изменять нежелательно. В случае изменений сервис может работать некорректно
Следуйте комментариям в файле и инструкции ниже.
2. Заполните конфигурационный файл согласно комментариям в файле. Ниже приведена дополнительная информация по заполнению отдельных переменных.
# Настройки подключения к S3
Секция состоит из двух блоков, в каждом из которых требуется указать значения переменных:
api_url:
- IP-адрес или FQDN вашего S3 хранилища и порт доступаuse_ssl:
- true
, если ваш S3 поддерживает SSL и требуется использовать SSL при подключенииaccess_key:
- ACCESS_KEY для доступа к вашему S3 без кавычек через пробелsecret_key:
- SECRET_KEY для доступа к вашему S3 без кавычек через пробелbucket_name:
- отличается в каждом из блоков
dion-conferences
Укажите имя бакета, в котором хранятся записи конференций. Бакет должен быть создан заранее и прописан в конфигурационном файле сервиса записи recorder.conf
Пример заполнения: bucket_name: records
dion-video
Укажите имя бакета, в котором будут храниться загруженные видеозаписи. Бакет должен быть создан заранее
Пример заполнения: bucket_name: video
3. Сохраните изменения в файле
ctrl+O ctrl+X
в Nano
4. Перезапустите сервис
systemctl restart dion-hls-delivery
5. Убедитесь, что сервис запущен без ошибок
systemctl status dion-hls-delivery
6. Дополнительно следует проверить логи на отсутствие ошибок
journalctl -u dion-hls-delivery -n 20
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
0. Установите пакеты ffmpeg, ImageMagick
Рекомендуется использовать ffmpeg версии 7.0 и выше и ImageMagick версии 7.1.1 и выше, если такая есть в репозитории операционной системы. Это повысит производительность сервиса.
Официальная инструкция по установке ffmpeg: https://www.ffmpeg.org/download.html
Официальная инструкция по установке ImageMagick: https://imagemagick.org/script/download.php
Для простоты можно установить последнюю доступную версию с помощью вашего пакетного менеджера.
apt install ffmpeg
apt install imagemagick
1. Установите пакет dion-hls-converter:
sudo apt install -f /полный путь к пакету/имя файла
2. Откройте на редактирование конфигурационный файл /etc/dion/hls-converter.yml
sudo nano /etc/dion/hls-converter.yml
ПРЕДУПРЕЖДЕНИЕ: Параметры, для которых указан комментарий “# не меняйте данное значение”, изменять нежелательно. В случае изменений сервис может работать некорректно
Следуйте комментариям в файле и инструкции ниже.
3. Заполните конфигурационный файл согласно комментариям в файле. Ниже приведена дополнительная информация по заполнению отдельных переменных.
# Настройки клиентских подключений → # Настройки клиентского подключения gRPC → # подключение к DION KMS
addresses:
- 192.168.0.1:9135
# Настройки подключения к S3
Секция состоит из трех блоков, в блоках dion-conferences и dion-video требуется указать значения переменных:
api_url:
- IP-адрес или FQDN вашего S3 хранилища и порт доступаuse_ssl:
- true
, если ваш S3 поддерживает SSL и требуется использовать SSL при подключенииaccess_key:
- ACCESS_KEY для доступа к вашему S3 без кавычек через пробелsecret_key:
- SECRET_KEY для доступа к вашему S3 без кавычек через пробелbucket_name:
- отличается в каждом из блоков
dion-conferences
Укажите имя бакета, в котором хранятся записи конференций. Бакет должен быть создан заранее и прописан в конфигурационном файле сервиса записи recorder.conf
Пример заполнения: bucket_name: records
dion-video
Укажите имя бакета, в котором будут храниться загруженные видеозаписи. Бакет должен быть создан заранее
Пример заполнения: bucket_name: video
speech-to-text
Укажите имя любого существующего бакета, он пока не будет использоваться
Пример заполнения: bucket_name: records
4. Сохраните изменения в файле
ctrl+O ctrl+X
в Nano
5. Перезапустите сервис
systemctl restart dion-hls-converter
6. Убедитесь, что сервис запущен без ошибок
systemctl status dion-hls-converter
7. Дополнительно следует проверить логи на отсутствие ошибок
journalctl -u dion-hls-converter -n 20
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
0. Установите пакет dion-dlp-adapter
sudo apt install -f /полный путь к пакету/имя файла
1. Откройте на редактирование конфигурационный файл /etc/dion/dlp-adapter.yml
sudo nano /etc/dion/dlp-adapter.ymlsudo nano /etc/dion/dlp-adapter.yml
ПРЕДУПРЕЖДЕНИЕ: Параметры, для которых указан комментарий “# не меняйте данное значение”, изменять нежелательно. В случае изменений сервис может работать некорректно
Следуйте комментариям в файле и инструкции ниже.
2. Перейдите в секцию # настройки подключения к DLP
host:
локальный адрес вашего DLPport:
порт для доступа к DLPfull_path:
и fast_path:
укажите пути для полной и быстрой проверки соответственно3. Перейдите в секцию # настройки подключения к DLP → # заголовки запроса к DLP
Здесь вы можете добавить/отредактировать заголовки запроса к вашему DLP
4. Перейдите в секцию # Настройка gRPC сервера
ca: путь_к_вашему_сертификату_DION.pem
cert: путь_к_вашему_сертификату_DION.crt
key: путь_к_вашему_ключу_DION.key
5. Сохраните изменения в файле
Используйте команду:
ctrl+O ctrl+X
в Nano6. Запустите сервис
systemctl start dion-dlp-adapter
7. Убедитесь, что сервис запущен без ошибок
systemctl status dion-dlp-adapter
8. Дополнительно следует проверить логи на отсутствие ошибок
tail -f /var/log/syslog | grep dion-dlp-adapter
или journalctl -u dion-hls-converter -n 20
Если сервис не запускается, обратитесь к вашей аккаунт-команде за помощью в настройке.
Если все настроено корректно и верно прописаны DNS записи, при переходе в браузере на video.dion.vc пользователь из локальной сети попадает на гибрид — локальный экземпляр видео-портала.
В нем недоступны облачные записи и файлы.
Можно полноценно пользоваться порталом — работают все разделы, ссылки, можно загрузить видео-файл.
При создании записи в гибридной конференции, она отображается на портале.
Реализована возможность просматривать облачные видеозаписи в гибридном видеопортале. Для это потребуется включить соответствующую настройку и сконфигурировать службу hls-delivery:
На сервере, где установлена служба hls-delivery редактируем конфигурационный файл /etc/dion/ hls-delivery.yml:
1. Значение delivery_mode
изменяем с redirect
на proxy
delivery_mode: proxy
2. Значение переменной client.grpc.hls_delivery.grpc_enabled
изменяем с false
на true:
client:
grpc:
hls_delivery:
grpc_enabled: true
В более ранних версиях службы hls_delivery переменная может отсутствовать, в таком случае либо следует обновить пакет до актуальной версии (рекомендуется), либо вписать переменную самостоятельно (может не заработать, если версия hls_delivery более ранняя)
3. Перезапускаем службу:
sudo systemctl restart dion-hls-delivery.service
В результате в гибридном видеопортале появятся ваши видео из облака с пометкой "Cloud":
1. Ошибки в логах сервиса
2. Сервис не запускается