Skip to content

Механизм записи

RUSEON Core записывает видеопотоки на диск в формате fMP4 (fragmented MP4) с использованием bluenviron/mediacommon.

Основная логика

  • Триггер KeyFrame: Запись и создание файла начинаются только на ключевом кадре (KeyFrame).
  • Выравнивание GOP: Фрагменты внутри fMP4 файла выровнены по GOP (Group of Pictures).
  • Ротация: Файлы ротируются каждый 1 час. Ротация срабатывает точно на границе KeyFrame, чтобы каждый файл начинался с I-frame.

Оптимизации I/O в Linux

Для обработки высокой пропускной способности от десятков камер, рекордер использует специфические системные вызовы ввода-вывода Linux:

  • sync_file_range: Выполняет асинхронный сброс (flush) на диск блоками по 2MB.
  • FADV_DONTNEED: Дает команду ОС сбросить кэш страниц (page cache) для записанных блоков, предотвращая переполнение системной RAM видеофайлами.

Производительность

Обходя стандартное накопление page cache, RUSEON Core обеспечивает стабильное использование памяти даже при записи терабайтов данных.

Released under the MIT License.