Архив (DVR)
Запись, глубина хранения, просмотр, экспорт фрагментов и очистка архива.
Архив (DVR) — это непрерывная запись потока камеры на диск медиаузла. Запись включается для каждой камеры отдельно, глубина хранения задаётся сроком или объёмом, а сами файлы всегда лежат на той ноде, к которой камера привязана: Plane хранит только политику и знает, где искать записи.
Три правила, которые определяют всё остальное:
- Пишется основной профиль. Подсказка формы: «Применяется к эфиру и мозаике. DVR всегда использует main.» Что бы вы ни выбрали для эфира и мозаик, архив пишется с main.
- Архив принадлежит ноде и хранилищу. Смена узла или хранилища — это смена физического адреса записей, переезда не происходит.
- Запись невозможна без инициализированного хранилища. Новый диск сначала имеет статус «Требуется инициализация» — см. Хранилища DVR.
Включение записи для камеры#
- Откройте
/admin/cameras, найдите камеру и нажмите «Изменить». - Перейдите на шаг «Запись и размещение», секция «DVR (запись)».
- Выберите режим в поле «DVR»:
| Режим | Что означает |
|---|---|
| «Выкл» | запись не ведётся; в списке камер у такой камеры нет кнопки «Архив» |
| «По сроку хранения» | хранится всё, что моложе указанного срока |
| «По объёму хранилища» | хранится столько записей, сколько влезает в указанный объём |
- Заполните «Значение хранения»:
- срок — «Период: s, m, h, d или w — например 12h или 7d.»;
- объём — «Объём: K, M, G или T (двоичные единицы) — например 500M или 10G.» Неверный формат даёт ошибку прямо в поле.
- Выберите «Хранилище записи» — список дисков назначенного узла. Если у узла нет подготовленного диска, поле сообщит: «На этой ноде нет доступного наблюдаемого хранилища.» При автоматическом размещении вместо выбора показывается плашка «Хранилище будет выбрано автоматически»: «Plane атомарно выберет доступный узел и его DVR-хранилище при сохранении камеры.»
- Нажмите «Сохранить».
Типичные ошибки этого шага приводятся дословно:
- «Перед включением DVR выберите ноду.» — запись нельзя включить, пока камера не привязана к узлу; нажмите «Авто (рекомендуется)» или выберите узел вручную.
- «Инициализируйте этот диск в хранилищах ноды перед назначением DVR-камер.» — диск добавлен, но не инициализирован: откройте карточку узла → «Хранилища» → «Инициализировать диск».
Оценка простая: битрейт основного профиля × время. Поток 4 Мбит/с за сутки — примерно 43 ГиБ, за
30 суток — около 1,3 ТиБ на камеру. Реальный битрейт каждой камеры видно в колонке «Битрейт» списка
камер. Планирование дисков и запас на пики — Требования и подбор оборудования.
Экономия места: удаление записей без событий#
При включённом DVR доступны два поля политики событий:
| Поле | Значения | Смысл |
|---|---|---|
| «Удалять завершённые сегменты без событий» | флажок | сегмент, который не пересекается ни с одним событием, удаляется досрочно |
| «Ожидание запоздалых событий» | 5…1440 минут, рекомендуется 30 | сколько ждать событие, которое придёт позже самой записи |
Подсказка описывает механику точно: «Экономит место в периоды простоя. Любое событие камеры, включая ONVIF, защищает пересекающуюся запись; события игнорируемых шаблонов не учитываются. Обычный retention продолжает действовать.»
Включив «Удалять завершённые сегменты без событий», вы получаете непрерывную запись только там, где были события. Для объектов, где важен сплошной архив (кассы, периметр, лифты), флажок должен оставаться снятым. «Ожидание запоздалых событий» меньше 30 минут опасно для аналитики, которая присылает события пакетами с задержкой.
Холодный архив в S3#
Подсекция «Холодный архив / резервная копия S3» включается переключателем «Копировать в S3» и требует полей «Хранилище S3», «Bucket» (3–63 символа в нижнем регистре) и «Хранение копии в S3». Размерность копии жёстко наследуется от локальной политики, а значение не может быть меньше локального.
Архитектура описана в самой форме: «Запись и рабочие индексы остаются локальными. Завершённые медиафайлы и резервный индекс копируются в S3. Локальные медиа удаляются только по локальной политике хранения после проверки копии; локальный индекс остаётся авторитетным.» То есть S3 — это глубина хранения, а не замена локальному диску: писать напрямую в объектное хранилище система не будет.
Камеры с холодным архивом помечены значком в колонке «Название» списка камер. Настройка самих S3-хранилищ — Хранилища DVR.
Просмотр архива#

На шкале закрашены интервалы, для которых есть записи: пропуски — это время, когда камера была недоступна или запись ещё не была включена. Клик по шкале переводит воспроизведение на выбранный момент.
Архив открывается тремя путями:
- из списка камер — действие «Архив» у строки (кнопка есть только у камер с включённой записью);
- из карточки камеры — режим «DVR» в плеере вкладки «Обзор»;
- из события — действие «Открыть в архиве»: плеер откроется на моменте события минус предзапись, заданная шаблоном события (см. События).
Плеер архива состоит из видео, шкалы времени под ним и панели инструментов. Записанные интервалы показаны на шкале сплошными участками, промежутки без записи — пустотами. Управление:
| Элемент | Назначение |
|---|---|
Date |
календарь: выбор дня; дни с записями отмечены |
Zoom in / Zoom out |
масштаб шкалы; то же делает колесо мыши над шкалой |
Fit day |
вернуть масштаб «сутки целиком» |
TZ |
переключение часового пояса: сервера или локального ПК |
1× |
скорость воспроизведения |
LIVE |
перейти к живому краю записи |
Info |
сведения о фрагменте архива |
Перетаскивание по шкале перематывает запись, пробел ставит паузу. Плеер догружает архив по мере перемотки, поэтому длинный период открывается без ожидания.
Если камера отдаёт аудио в G.711, браузер такое аудио декодировать не умеет — архив и эфир играют без звука. Это ограничение браузеров, а не записи: в экспортированном файле звук присутствует и воспроизводится обычными плеерами. Для звука в браузере переведите камеру на AAC.
Экспорт фрагмента#
- Откройте архив нужной камеры и найдите нужный момент.
- Нажмите кнопку
Clip(ножницы) на панели инструментов — плеер перейдёт в режим выделения. - Протяните мышью по шкале времени, отметив начало и конец фрагмента.
- Нажмите появившуюся кнопку
Export ‹длительность›. Пока файл готовится, надпись меняется наPreparing…. - Браузер скачает файл
.mp4напрямую с ноды — Plane не является посредником при выгрузке.
Ограничения экспорта:
- Нужно право «Экспорт» — отдельный бит привилегии, он выдаётся по тегам в редакторе пользователя или в токене доступа (Пользователи и права доступа).
- Длительность фрагмента ограничена настройкой «Максимальная длительность экспорта DVR» — от 1 минуты до 24 часов, задаётся суперадмином в разделе Настройки Plane и токены. Выделить больше положенного плеер не даст.
- Каждый экспорт с точным диапазоном попадает в журнал аудита.
Файл скачался, открывается любым видеоплеером, длительность совпадает с выделенной, звук на месте (если камера отдаёт AAC). Если вместо файла появилась ошибка — чаще всего у учётной записи нет права «Экспорт» либо выделенный диапазон превышает разрешённый максимум.
Что происходит, когда место заканчивается#
Глубина архива ограничена двумя независимыми механизмами, и срабатывает тот, что наступит раньше:
- Политика камеры — «По сроку хранения» или «По объёму хранилища»: записи старше срока или сверх объёма удаляются автоматически.
- Порог вытеснения хранилища — параметр «Удалять при (%)» в настройках диска: когда заполнение достигает порога, нода удаляет самые старые сегменты, чтобы диск не переполнился.
Занятость дисков, скорость чтения и записи, IOPS и порог вытеснения видны в карточке узла на вкладке «Хранилища» — Хранилища DVR и Ноды и флот.
Очистка архива#
Удаление камеры#
Форма камеры, блок «Удаление камеры». Подтверждение приводится дословно: «Удалить камеру «{name}»? Её DVR-архив будет безвозвратно очищен с повторами. Исторические события и блобы вложений сохранятся согласно политике событий.»
Записи удаляются с повторными попытками до полного успеха — отмены не существует и восстановления тоже. Если архив ещё нужен, сначала выгрузите фрагменты, и только потом удаляйте камеру. То же относится к массовому удалению из списка камер и к переносу камеры на другой узел или в другое хранилище.
Точечная очистка архива организации#
Суперадминистратор может очистить архив без удаления камер: «Организации» → карточка организации → раздел «Данные и очистка» → «Очистить архив DVR».
- Выберите камеру или «Все камеры».
- Задайте границы «От (необязательно)» и «До (необязательно)» — пустые поля означают «без ограничения».
- Нажмите предпросмотр — откроется «Предпросмотр необратимой очистки DVR» с объёмом того, что будет удалено.
- Подтвердите операцию, введя
PURGE DVRв поле подтверждения. - Результат: «Очистка DVR поставлена в очередь» — работа выполняется в фоне и продолжается после перезапуска.
PURGE DVR — необратимая операцияОчистка удаляет записи в указанном диапазоне у выбранных камер (или у всех камер организации) без
возможности восстановления. Ввод точной фразы PURGE DVR — единственная защита от ошибки; никакой
«корзины» за ней нет. Проверьте выбранную организацию, камеру и границы диапазона до подтверждения.
Диагностика#
| Симптом | Вероятная причина | Что делать |
|---|---|---|
| У камеры нет кнопки «Архив» | режим «DVR» = «Выкл» | включите запись в форме камеры |
| Шкала архива пуста | запись только что включена либо диск не инициализирован | проверьте статус хранилища в карточке узла |
| Архив обрывается кусками | сработал порог «Удалять при (%)» или политика хранения | увеличьте диск, уменьшите глубину или битрейт камеры |
| Архив глубже/мельче ожидаемого | политика задана в объёме, а не в сроке (или наоборот) | сверьте «Значение хранения» с фактическим битрейтом |
| Не скачивается фрагмент | нет права «Экспорт» либо превышен лимит длительности | проверьте права и «Максимальная длительность экспорта DVR» |
| Записи пропали после правки камеры | сменили узел или хранилище | архив на прежнем месте удаляется — это ожидаемое поведение |
Больше сценариев — Диагностика неисправностей. Работа оператора с архивом описана отдельно: Работа с архивом. Автоматизация выгрузки — API: камеры.