Актуальная реализация:
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).