Архив¶
Головной станции архив нужен не ради зрителя, а ради доказательства: что именно мы отдали в 03:40, был ли сигнал на входе в момент жалобы, что показывала реклама в спорный час. Запись идёт на той же машине, что принимает и доставляет.
Архив — собственное дисковое хранилище: поток пишется дописыванием в часовые файлы, раздельно по дорожкам, сразу на несколько дисков. Чтение архива не мешает записи.
Диски машины¶
Диски задаются один раз в настройках машины, раздел DVR. Панель предупреждает прямо в разделе: эти настройки меняют, куда на машине пишется архив.
- Корень архива — точка монтирования, дом каталога и база относительных путей.
- Диск 1, Диск 2, … — кнопкой Добавить диск. Путь диска это имя поддиректории внутри корня, а не абсолютный путь.
- Путь каталога — служебный каталог метаданных; пустое поле означает
<корень>/catalog. Это не место хранения архива. - Проверять монтирование перед записью — включать стоит всегда: без этого отвалившийся диск превращается в обычный пустой каталог, и станция будет писать архив в корневую файловую систему, пока та не кончится.
Без единого диска настройки не сохранятся: DVR нужен хотя бы один диск.
Рядом живут кэш-диски — на них оседает прочитанный чужой архив; живая запись их не выбирает, место освобождается по давности чтения. Головной станции они нужны, только если она отдаёт архив соседних машин.
Запись стрима¶
Откройте стрим, вкладка DVR, включите Писать в DVR и задайте пределы:
- Глубина хранения (часы) — сколько часов держать;
- Макс. размер (байты) — потолок по объёму.
Заданы оба — побеждает более жёсткий. Очистка запускается раз в час: глубина удаляет только полностью истёкшие часы, лимит по объёму считается от новых записей к старым.
Запись балансируется между активными дисками сама: последовательные часы одного стрима чередуются по дискам, соседние стримы размазываются равномерно, дорожки многодорожечного стрима пишутся параллельно. Диск, выведенный в режим только-чтения, продолжает читаться, но новые данные на него не идут — так диск снимают с эксплуатации, не теряя архив.
Чтение¶
Архив читается по абсолютному времени: интервал, отступ назад от эфира (rewind) со склейкой с прямым эфиром, JPEG-превью кадра на заданный момент. Этого достаточно и для разбора инцидента, и для выгрузки записи по запросу.
Если у стрима включено извлечение субтитров, извлечённые дорожки пишутся вместе с видео.
Проверка записи¶
Состояние записи видно на той же вкладке: окно архива, часы с данными и дыры в них, размер архива, скорости записи фрагментов. Что означают отклонения:
| Признак | Что означает |
|---|---|
| DVR настроен, но запись не идёт | стрим офлайн либо запись не стартовала |
| граница архива отстаёт от текущего времени | запись остановилась |
| нижняя граница перестала двигаться вперёд | не работает чистка — впереди переполнение диска |
| дыры: N ч при широком окне | в архиве пропуски: стрим падал или запись отключали |
| Ошибки записи архива — данные теряются | архив теряет данные прямо сейчас, проверяйте диск |
| Запись деградирована | фрагменты пишутся медленно, с задержкой или схлопываются — деградирует хранилище |
Последняя строка — ранний сигнал, а не констатация потери: доля медленных записей растёт раньше, чем появляются ошибки.
Что дальше¶
- Мониторинг — куда уезжают счётчики записи.
- Субтитры и телетекст — что попадает в архив вместе с видео.