Обзор архива и записи
Подсистема архивации в RUSEON Core — это высокопроизводительный движок непрерывной записи сотен потоков IP-камер без деградации времени отклика системы, переполнения оперативной памяти (OOM) и потери целостности данных при аварийных сбоях питания.
Архиватор работает как zero-copy потребитель кадров из Кольцевого буфера (Ring Buffer) и производит упаковку входящих NAL-юнитов H.264/H.265 напрямую в контейнеры Fragmented MP4 (fMP4) без перекодирования на CPU.
Архитектурные возможности подсистемы
| Компонент | Архитектура и реализация | Инженерное преимущество |
|---|---|---|
| Запись в fMP4 | Фрагментированный формат ISO BMFF (заголовок moov + повторяющиеся пары moof/mdat) | Мгновенная устойчивость к сбоям; каждый фрагмент является самодостаточным |
| Оптимизации ядра Linux | sync_file_range + FADV_DONTNEED в pkg/storage/localfs | Защита от Memory Thrashing и вытеснения Page Cache при записи 4K потоков |
| Иерархическая структура файлов | Каталоги вида Год / Месяц / День / Час с разделением по идентификаторам камер | Мгновенный поиск сегментов, отсутствие конкуренции по inode |
| Политики ретенции и очистки | Фоновый процесс контроля срока хранения (retention_days) и процента заполнения диска | Автоматическая очистка старых записей и соблюдение дисковых квот |
| Аварийное восстановление | Парсер атомов (ValidateFMP4File), удаляющий незавершённые хвостовые байты | Полное сохранение видео вплоть до последнего сброшенного ключевого кадра |
| Воспроизведение архива | Динамический трансмуксинг fMP4 в HLS со сверхточным позиционированием по таймлайну | Плавный скроллинг многодневного архива в веб-браузерах и мобильных плеерах |
Подразделы руководства
- Механика записи и системные вызовы Linux: Подробный разбор генерации фрагментов, выравнивания по GOP и оптимизации сброса буферов.
- Структура файлов и каталогов: Соглашения об именовании файлов, временные метки и файлы индексов.
- Ретенция и очистка диска: Алгоритмы очистки по времени и максимальной квоте заполнения накопителей.
- Отказоустойчивость и восстановление: Валидация атомов MP4, восстановление повреждённых фрагментов и проверка целостности при старте.
- Воспроизведение и API таймлайна: HLS стриминг архива, Range-запросы и интеграция с веб-интерфейсом.