# 🔬 Пределы длительности, приходящей из метаданных - **Тип:** research - **Категория:** Очередь — Заведена урожаем ревью и встала в конец машинально: место в плане стройки назначает человек. - **Зачем:** Длительность приходит от ffprobe числом и не проверяется ничем: приведение к целому переполняется, а испорченная гистограмма чинится только перезапуском. - **Теги:** review-2026-08-15 Длительность записи сервис берёт у источника метаданных и не проверяет ни на знак, ни на потолок. Дальше сервис приводит её к целому, умножает на тысячу и кладёт колонкой записи, а заодно отправляет в гистограмму длительностей. Число вне диапазона целого при приведении даёт наименьшее возможное значение — отрицательное. Оно портит сумму семейства метрик необратимо: ряд не чинится ничем, кроме перезапуска процесса, а страница метрик открыта без проверки отправителя. Потолок записи у проекта объявлен — шесть часов, — и из него выведен предел размера файла. Длительность такого предела не имеет вовсе. ## Вопрос Может ли `ffprobe` вернуть длительность вне диапазона целого на входе, который собрал отправитель, — и какой предел ставить на границе адаптера? Что для ответа нужно узнать: - какое поле и в какой форме `ffprobe` берёт за длительность у контейнеров, которые сервис принимает: доверяет ли объявленному в контейнере числу или считает по потоку; - есть ли контейнер, где число объявлено явно и потому подделывается: Matroska либо Ogg с подделанной меткой позиции — первые кандидаты; - что делает приём, если длительность отрицательна либо больше объявленного потолка: отвергать запись, обрезать значение или принимать, назвав в журнале. ## Куда ляжет ответ Наблюдение о поведении `ffprobe` — в `docs/research/`, своей записью с командой и условиями замера: разведки о `ffmpeg` у проекта пока нет ни одной, а открытые вопросы про долгие записи и видео стоят в [architecture.md](../../docs/architecture.md). Выбранный предел — задачей следующим прогоном. ## Рамки Прогон на реальных ключах Yandex запрещён и здесь не нужен: разведка меряет `ffprobe`, а не распознавание. Найдено прогоном ревью задачи `remove-telegram-intake` 2026-08-15, враждебный проход, секция свойств без построенного пути — путь не достроен именно потому, что нужен специально собранный контейнер.