Защита от повреждения MP4 при сбое питания и аварийной перезагрузке
Критическая уязвимость классических систем видеонаблюдения — повреждение незавершенных MP4 файлов. Если видеосервер внезапно обесточивается или аварийно перезагружается, часы записанного видеоархива оказываются безвозвратно испорченными.
🔍 Почему ломаются стандартные MP4-файлы
В классическом формате контейнера MP4 (ISO Base Media File Format):
- Видео- и аудиопотоки записываются в атомы
mdat. - Индекс, таймкоды кадров и смещения записываются в служебный атом
moov.
В обычных рекордерах:
- При записи видеопоток непрерывно пишется в
mdat. - Индекс
moovрассчитывается в оперативной памяти и записывается на диск только в момент корректной остановки записи. - Авария: Если выключилось питание или упал процесс, атом
moovне успевает записаться. Видеоплееры (VLC, браузеры) не могут найти индекс и выдают ошибку:битый файлилинеподдерживаемый формат.
✅ Архитектурное решение: Фрагментированный MP4 (fMP4)
RUSEON Core выполняет запись исключительно в формате Fragmented MP4 (fMP4):
text
[ ftyp ] [ moov (Инициализация) ]
[ moof #1 ] [ mdat #1 ] -> 2-секундный фрагмент
[ moof #2 ] [ mdat #2 ] -> 2-секундный фрагмент
[ moof #3 ] [ mdat #3 ] -> 2-секундный фрагмент (Сбой питания тут!)Преимущества fMP4:
- Автономные фрагменты: Файл разбит на короткие независимые блоки. Каждый блок содержит локальный заголовок
moof, описывающий только свои 2 секунды видео. - Мгновенная читаемость: Если сервер обесточен прямо во время записи, все ранее записанные фрагменты уже полностью проиндексированы на диске.
- Нулевая потеря данных: Файл открывается в любом современном плеере с точностью до последней миллисекунды перед падением, без необходимости использовать утилиты восстановления.
🚀 Нативный таймшифт без дублирования файлов на диске
В RUSEON Core эти же fMP4 файлы используются для моментального воспроизведения таймшифта в веб-интерфейсе:
- При перемотке архива в браузере RUSEON на лету генерирует HLS-сегменты прямо из
fMP4в оперативной памяти. - Это устраняет необходимость хранить на диске дублирующие
.tsфайлы HLS, экономя до 50% объема дискового пространства.