40 lines
2.9 KiB
Markdown
40 lines
2.9 KiB
Markdown
# 🔬 Потолки приёма, конвертации и заливки по длине записи
|
|
|
|
- **Тип:** research
|
|
- **Категория:** Очередь
|
|
- **Зачем:** Из пяти звеньев задача speechkit-limits замерила только модель распознавания: где отваливается шестичасовая запись до неё, неизвестно.
|
|
- **Теги:** goal:long-recordings
|
|
|
|
Пункт 1 «Завершения» цели требует замера пяти звеньев, а разведка
|
|
`speechkit-limits` меряет одно — модель `deferred-general`. Остальные четыре
|
|
дешевле: они не требуют боевых ключей и считаются локально, кроме заливки.
|
|
|
|
Числа нужны раньше кода: они назначают потолок, который проверяет приём, и длину
|
|
фрагмента, на которые режет `long-audio-chunking`.
|
|
|
|
## Вопрос
|
|
|
|
На какой длине и на каком весе записи отказывает каждое звено до распознавания —
|
|
приём из Telegram, приём по HTTP вместе с обратным прокси, конвертация `ffmpeg`
|
|
и заливка в Object Storage, — и сколько времени и места на диске занимает
|
|
шестичасовая запись на каждом из них.
|
|
|
|
**Звено, добавленное ревью 2026-08-12:** приём пишет тело записи на диск
|
|
дважды — разбор формы записывает во временный каталог всё, что не поместилось в
|
|
память, выделенную под multipart, а следом рабочая копия переливает то же
|
|
содержимое в свой файл. Верхняя
|
|
оценка на один запрос — два объявленных потолка записи (`entity.MaxRecordSize`,
|
|
8 ГиБ). Числа нет: самая длинная проверенная запись — 9,6 МБ.
|
|
|
|
## Куда ляжет ответ
|
|
|
|
`docs/research/intake-limits.md` — числами и с командой замера по каждому звену.
|
|
Оттуда их берут задачи `reject-oversized-recording` и `long-audio-chunking`.
|
|
|
|
## Рамки
|
|
|
|
Заливка в Object Storage оплачивается по факту — число прогонов назначает
|
|
человек, пробные файлы после замера удаляются. Прочие звенья меряются локально,
|
|
на файлах, созданных `ffmpeg`, а не на записях пользователей. Потолок самой
|
|
модели меряет `speechkit-limits`, здесь он не трогается.
|