Актуальная реализация:
https://github.com/lampac-nextgen/lampac/blob/main/Modules/GStreamer/README.md
# Transcoding (legacy)
Серверное **перекодирование потоков** (FFmpeg и связанная логика): очередь задач, каталог временных файлов, ограничение параллельных заданий и HTTP API под **`/transcoding`**.
## Назначение
- Путь модуля сохраняется в **`Transcoding.modpath`**.
- **`TranscodingService`** конфигурируется при загрузке модуля и останавливает все задачи при выгрузке (`StopAll`).
- Создаются каталоги **`database/tracks`** (общий паттерн с Tracks) и **`tempRoot`** для промежуточных файлов (по умолчанию `cache/transcoding`).
## Конфигурация
Секция в `init.conf`: **`transcoding`** (имя ключа в нижнем регистре в `ModuleInvoke.Init`).
Параметры по умолчанию в **`ModInit`**:
| Параметр | Значение в коде |
|----------|-----------------|
| **`tempRoot`** | **`cache/transcoding`** |
| **`idleTimeoutSec`** | **300** с |
| **`idleTimeoutSec_live`** | **120** с |
| **`maxConcurrentJobs`** | **5** |
| **`limit_map`** | **`^/transcoding/`** — **50** запросов / **1** с |
## HTTP
Базовый префикс контроллера: **`transcoding`** — дочерние маршруты см. **`Controller.cs`**.
## Зависимости
- Доступность **ffmpeg** на машине (или иной исполнитель, зашитый в `TranscodingService`).