Расшифровка видео — это инструмент распознавания речи, который на основе аудиодорожки видеозаписи формирует:
Текст расшифровки также можно использовать как субтитры, отображая их прямо под видео во время просмотра.
Решение состоит из двух основных компонентов:

Транскрибация — это компонент, который:

Суммаризация — это компонент, который:
| CPU | 12 Core |
| RAM | 8 GB |
| Диск | 50 GB |
| ОС | Любая ОС с поддержкой Docker |
Один экземпляр транскрибации обрабатывает примерно 3 секунды аудио за 1 секунду реального времени — фактическая производительность зависит от частоты и поколения процессора.
При конфигурации с 12 ядрами загрузка CPU составляет около 40%; изменение количества ядер как в большую так и в меньшую сторону может привести к снижению производительности.
Допускается переподписка CPU до 2x.
Суммаризация выполняется независимо от транскрибации и требует доступа к LLM-модели, работающей на GPU (не входит в поставку).
Требования зависят от используемой LLM-модели, объема видеопамяти, настройки контекста.
Адрес OpenAI-совместимого API указывается в конфигурационном файле .env.
| Важно: Обработчик должен иметь сетевой доступ к LLM endpoint. |
1. В файле инвентаризации vars.yaml включите переменную:
hls_converter_stt_enabled: true
Файл находится на сервере Setup (или All-In-One) в директории с дистрибутивом “on_dion/inventories/dion*/group_vars/all/vars.yaml”
2. Переустановите компонент dv_hls_converter командой:
cd on_dion
./dion.sh -t dv_hls_converter
3. В панели администрирования в разделе Организации → <Моя_Организация> → Видеохостинг → Общее включите параметр Текст видео (S2T) и содержание.
4. Разверните отдельный сервер и установите Docker.
5. Скачайте и распакуйте дистрибутив:
wget --user=имя_пользователя --password=пароль https://registry.onprem.dion.vc/repository/releases/s2t/s2t.tar
tar -xf s2t.tar
6. Загрузите образы:
cd s2t
docker load -i whisper.tar
docker load -i worker.tar
7. Заполните файл конфигурации в директории worker:
cd worker
vim .env
пример заполнения:
# LOGS (PROD=INFO, DEV=DEBUG)
LOG_LEVEL=INFO
# S3 / MinIO
S3_ENDPOINT=http://192.168.20.70:9000 # ip адрес Dion AIO, Basic или VIP адрес балансировщика (lb_infra)
S3_ACCESS_KEY=fe89b44c-fdb4-4281-97e1-a852706884t5 # из файла on_dion/inventories/dion*/group_vars/all/vault.yaml
S3_SECRET_KEY=4cfc27ff-bcbb-494f-a39e-0e657a2701e9 # из файла on_dion/inventories/dion*/group_vars/all/vault.yaml
S3_BUCKET=dion-speech2text
# Kafka
KAFKA_ADDRESSES=192.168.20.70:9098 # ip адрес Dion AIO, Basic или VIP адрес балансировщика (lb_infra)
KAFKA_CONSUMER_GROUP=s2t-consumer-group
KAFKA_START_TASK_TOPIC=s2t-in
KAFKA_FINISH_TASK_TOPIC=s2t-out
# Whisper (s2t)
WHISPER_URL=http://192.168.20.71:9000 # ip адрес данного сервера
# OpenAI (Summary)
OPENAI_API_KEY=dummy_key
OPENAI_BASE_URL=http://10.20.30.40:11434 # адрес OpenAI сервера с LLM
OPENAI_MODEL_NAME=qwen3.5:9b # название модели
SUMMARY_PROMPT_FILE=summary_prompt.txt
cd s2t/whisper
docker compose up -d
2. Перейдите в каталог worker и запустите воркер:
cd s2t/worker
docker compose up -d
1. Убедитесь, что контейнеры запущены:
docker ps
2. Проверьте логи при необходимости:
docker logs whisper
docker logs worker
3. Сделайте небольшую пробную запись конференции (20-30 сек).
4. В разделе Видео откройте свою видеозапись и нажмите Расшифровка видео → Сформировать.
Если у вас нет собственной LLM-инфраструктуры, вы можете воспользоваться примером установки сервера Ollama:
curl -fsSL https://ollama.com/install.sh | sh
sudo mkdir -p /etc/systemd/system/ollama.service.d
sudo tee /etc/systemd/system/ollama.service.d/override.conf > /dev/null <<'EOF'
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
EOF
sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl restart ollama
sudo systemctl status ollama
ollama pull qwen3.5:9b
Сервер Ollama будет доступен на порту 11434 для всех IP-адресов в сети.
Рекомендуется ограничить доступ к нему средствами firewall.