Files
transcriber/tasks/items/intake-limits-measure.md
T
av 8739b18a9f tasks: очередь расставлена от базы к деталям
- порядок беклога и роадмапа назначен слоями: проверки, которым можно
  верить → долги входа → владелец записи и контракт API → конвейер под
  тестами → приложение и возможности поверх; у каждого движения записана
  причина;
- заведены восемь задач под пункты «Завершения», которых не закрывала ни
  одна запись, — цель any-audio-source была без задач вовсе;
- у четырёх задач сняты критерии, требовавшие того, что делает задача ниже
  по очереди; исправлены ссылки на несуществующий repo/sqlite и на
  отменённую разведку об очереди.
2026-08-12 20:48:53 +03:00

3.0 KiB

🔬 Потолки приёма, конвертации и заливки по длине записи

  • Тип: 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, здесь он не трогается.