36 lines
1.8 KiB
Markdown
36 lines
1.8 KiB
Markdown
<b>Актуальная реализация</b>:<br>
|
||
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`).
|