Как правильно организовать файлы с видеонаблюдения?

Добрый день! <br/> У меня есть система видеонаблюдения, которая на данный момент работает с одной камерой. Запись происходит через RTSP и осуществляется с помощью Agent DVR на сервере под управлением Windows. Файлы записываются с именами в формате "2024-11-27_12-32.mkv". <br/> Я хотел бы организовать структуру хранения файлов не в одной общей папке, а в виде, например, \2024\11\27, где будут храниться 24 файла по часу (учитывая, что запись может начинаться не в 00:00). <br/> 1. Возможно ли реализовать данную организацию файлов с помощью встроенных возможностей Agent DVR, или же придется использовать bat-файлы для проверки наличия каталогов, их создания, а также для копирования и удаления видеофайлов?
  • 27 ноября 2024 г. 10:13
Ответы на вопрос 2
Добрый день!

Структурирование файлов видеонаблюдения может серьезно упростить их поиск и управление. К сожалению, Agent DVR не предоставляет встроенной функции для организации сохраненных файлов в указанную вами структуру каталога по дате. Однако вы можете реализовать это с помощью bat-файлов или других скриптов. 

Вот общий подход к решению задачи:

### 1. Скрипт для организации файлов

Вы можете создать bat-файл, который будет выполнять следующие действия:

- Проверять наличие каталога для текущей даты (например, `\2024\11\27`).
- Если каталога нет, создать его.
- Перемещать файлы в соответствующий каталог.

### Пример скрипта

Вот пример простого bat-файла:

```bat
@echo off
setlocal enabledelayedexpansion

set "source=C:\Path\To\Captured\Videos"
set "destination=C:\Path\To\Organized\Videos"

for %%F in ("%source%\*.mkv") do (
    set "filename=%%~nF"
    set "ext=%%~xF"

    rem Извлекаем дату из имени файла
    for /f "tokens=1,2 delims=_" %%A in ("!filename!") do (
        set "date=%%A"
        set "time=%%B"
    )

    rem Извлекаем год, месяц и день
    set "year=!date:~0,4!"
    set "month=!date:~5,2!"
    set "day=!date:~8,2!"

    rem Устанавливаем целевую папку
    set "target=%destination%\!year!\!month!\!day!"
    
    rem Создаем папку, если она не существует
    if not exist "!target!" (
        mkdir "!target!"
    )

    rem Перемещаем файл в целевую папку
    move "%%F" "!target!\"
)

endlocal
```

### 2. Запуск скрипта

Вы можете настроить этот скрипт для автоматического выполнения, например, с помощью планировщика задач Windows. Настройте его так, чтобы он запускался через определённые интервалы времени (например, каждый час или раз в день).

### 3. Удаление старых файлов

Если вам нужно очищать старые файлы, вы можете добавить дополнительный блок к вашему скрипту для удаления файлов, которые старше определённого срока.

### Заключение

Этот способ позволит вам эффективно организовать файлы с видеонаблюдения в нужную структуру. К сожалению, для полноценной интеграции с Agent DVR потребуются дополнительные шаги и использование скриптов, но с таким подходом вы получите удобную систему хранения.
А зачем? там по дате проще в папке отсортировать.. у Вас же не 365 дней архива там) 
а нужное просто скопировать, при необходимости
да и смотрится это обычно поиском по архиву, а не тыканьем в файлы на диске

А вообще лучше использовать проф решения типа Трассир \ Hikvision \ Zoneminder

Да и насколько помню Agent DVR имеет кучу ограничений в бесплатной версии жеж
Похожие вопросы