Система видеоконтроля кассовых операций
- Состав системы
- Лицензирование ПО
- Установка и настройка системы
- Синхронизация времени
- Установка сторонних компонентов
- Установка СУБД Firebird
- Настройка подключения к базе данных
- Настройка UDP-сервера
- Настройка приложения VideoControl.exe
- Настройка сканера видеофайлов ScanVideo.exe
- Настройка кассовой станции
- Настройка модуля "Отчеты"
- Настройка приложения RealVideoControl.exe (архив)
- Прикрепленные файлы
Общая информация
Система разрабатывалась для возможности работы с недорогими IP-камерами и предназначена для интеграции результатов видеонаблюдения в стандартный модуль отчетов R-Keeper v6
Примечание: Руководство пользователя по использованию системы видеоконтроля можно взять по данной ссылке VideoControl_UserGuide.doc
Ниже изображена схема работы системы:
Состав системы
Система состоит из программного обеспечения, разработанного компанией ЮСиэС и аппаратного обеспечения сторонних компаний.
Аппаратное обеспечение
В качестве камер видеонаблюдения могут использоваться стандартные интернет-камеры (IP-камеры). Тестирование проводилось с моделью D-Link DCS-2102 , но можно использовать и другие модели D-Link с аналогичным APIi. В дальнейшем перечень поддерживаемых камер будет расширятся.
Основные требуемые характеристики камеры:
- поддержка SMВ-протокола (возможность работы в качестве Samba-клиента) - требуется для записи видеофрагментов на сетевой ресурс
- поддержка FTP-протокола для хранения снимков (snapshots)
- возможность записывать видеофрагменты с периодом в одну минуту. При этом в имени файла должны быть указаны дата и время *
- поддержка NTP-протокола (или SNTP) для синхронизации времени
- поддержка DNS (прямой и обратный) **
- поддержка DDNS-клиента, если камеры будут работать с динамическими IP-адресами
* - на данный момент формат времени и даты должен соотв. формату, используемому камерами D-Link
** - особенность модели D-Link DCS-2102 для возможности синхронизации времени по протоколу NTP
Для обеспечения более высокой надежности и автономности работы системы видеонаблюдения, рекомендуется использовать внешнее хранилище данных. Например, сетевой дисковый накопитель D-Link DNS-313 (жесткий диск 3,5" приобретается отдельно). В общем случае записанные видеофрагменты могут хранится на любом сетевом ресурсе - дальнейшее описание предполагает, что сетевой ресурс подключен и доступен на диске Z:\
Программное обеспечение
- СУБД Firebird версии 2.1 и выше
- Набор кодеков для возможности просмотра видео (как правило, поставляется в комплекте с камерой, но можно использовать наборы типа K-Lite)
- Специальный сервер AppUdpVideoSrv.exe для обработки информации от кассовых станций (передача тегов и xml-пакетов) и дальнейшей записи в базу данных
- Модуль управления системой видеоконтроля VideoControl.exe
- Модуль просмотра видео в реальном времени RealVideoControl.exe
- Утилита ScanVideo.exe для сканирования видеофрагментов и создания служебных записей в базе данных
- Кассовое ПО R-Keeper v6 версии 6.95 и выше
- Модуль "Отчеты" версии 6.90 (и выше) для возможности отображения видеофрагментов непосредственно из режима просмотра чека (или списка чеков)
Комплект ПО находится на фтп-сервере в директории /dealers/VideoControl
Лицензирование ПО
Для работы системы видеоконтроля необходимо приобрести лицензию на ПО. После оплаты лицензии компанией ЮСиэС предоставляется программный ключ, который прописывается в настройках группы приложения VideoControl.exe. Программный ключ привязан к коду ресторана, поэтому лицензию необходимо приобретать на каждый ресторан отдельно.
Примечание: На данный момент лицензия на ПО не учитывает кол-во установленных камер, но в дальнейшем принцип лицензирования изменится и будет зависеть от кол-ва используемых камер.
Установка и настройка системы
Синхронизация времени
Это раздел является одним из самых важных для корректной работы всей системы. Для того, чтобы данные, полученные с камер видеонаблюдения, соответствовали кассовым операциям, необходимо организовать синхронизацию времени в следующих модулях:
- камеры видеонаблюдения
- хранилище данных (если используется несколько, то для всех)
- сервер базы данных
- компьютер с запущенным сервисом AppUdpVideoSrv.exe
Не лишним также будет настроить синхронизацию времени на всех компьютерах, работающих в системе видеоконтроля.
Примечание: Как видно из требований синхронизации, в них отсутствует кассовая станция. Связано это с тем, что временные метки для тегов, приходящих от кассы, устанавливает сервис AppUdpVideoSrv.exe - таким образом сохраняется целостность информации, не зависимо от даты и времени на кассовой станции.
Самый простой и надежный вариант синхронизации - использование сервера времени. В качестве такого сервера может выступать как внешний (гловабльный) ресурс, так и внутренний локальный. В интернете достаточно информации по использованию серверов времени, например статья по настройке сервера времени в Windows XP на сайте Microsoft (http://support.microsoft.com/kb/314054)
Установка сторонних компонентов
Для корректной работы системы необходимо установить дополнительные компоненты. Для этого перейдите в директорию дистрибутива \InstallPlugins и запустите Install.bat.
Примечание: Для установки доп. компонент требуются права администратора.
Установка СУБД Firebird
Перед установкой остальных приложений необходимо инсталлировать СУБД Firebird. Для этого скачиваем с сайта http://www.firebirdsql.org/ текущую версию (на момент написания статьи 2.1.2) и установливаем сервер в желаемой конфигурации. Дальнейшее описание предполагает, что Firebird установлен и работает корректно.
Примечание: В последних версия Firebird (2.1 и выше) клиентская библиотка gds32.dll переименована в fbclient.dll. Для совсестимости приложений скопируйте библиотеку fbclient.dll в директорию SYSTEM32 (для 32-битных ОС) и переименуйте в gds32.dll
Настройка подключения к базе данных
Все приложения системы видеоконтроля подключаются к СУБД посредством библиотеки dbexpint.dll, которая в свою очередь использует конфигурационный файл sqlconn.pms для получения параметров подключения.
Ниже указаны основные параметры sqlconn.pms , остальные не рекомендуется изменять без необходимости:
DriverName=Interbase
Database=127.0.0.1:c:\ucs\videocontrol\data\videostorage.fdb - путь к базе данных, может быть как локальным, так и сетевым
.................
User_Name=sysdba - имя пользователя БД (по-умолчанию SYSDBA)
Password=masterkey - пароль пользователя БД (по-умолчанию masterkey)
.................
SQLDialect=3 - важно, не менять!
.................
Важно: Настроенный файл sqlconn.pms необходимо скопировать в каждую рабочую директорию, откуда запускаются отдельные модули системы.
Настройка UDP-сервера
Приложение AppUdpVideoSrv.exe предназначено для обработки UDP-пакетов, поступающих от кассовой системы и формирования служебной информации в накопительной базе данных. Также данный модуль передает информацию о кассовых операциях в приложения-хосты (т.н. титры)
ВАЖНО: Для каждого отдельного ресторана (с различными кодами в SYSTEM.DB) требуется своя копия запущенного сервиса AppUdpVideoSrv.exe
Настройка приложения возможна как с помощью ручного редактирования файлов конфигурации, так и с помощью графического интерфейса.
Если предварительно не были настроены вручную конфигурационные файлы, при первом запуске AppUdpVideoSrv.exe будет показано окно, в котором требуется заполнить следующие параметры:
- "Ключ" - лицензионный ключ
- "Порт" - порт для входящий соединений.
- "Путь" - путь к директории, где будут формироваться xml-файлы и тэги, полученные от кассовой системы
- "DB" - путь к накопительной базе данных, в которой будет храниться вся служебная информация
- "Пользователь" и "Пароль" - соотв. пользователь и пароль для подключения к базе данных
- В нижнем тектовом поле необходимо ввести значения хостов, на которые будет рассылаться информация по кассовым операциям (титры). Для каждого хоста нужно вводить значение на отдельной строке, формат описан ниже в разделе ручной настройки hosts.txt
Примечание: В накопительной базе данных не храняться видеофайлы, а только ссылки на них!
Ручная настройка состоит из редактирования 3-х файлов: AppUdpVideoSrv.ini, hosts.txt и sqlconn.pms
AppUdpVideoSrv.ini:
[Main]
KeyID=600966724 - лицензионный ключ Path=c:\UCS\VideoControl\Storage\xml\ - путь к директории для формирования xml-файлов и тегов Port=19123 - входящий порт для получения данных с кассовой системы
hosts.txt:
В файле hosts.txt определяются хосты, на которые AppUdpVideoSrv будет отправлять служебную информацию (титры). Каждая строка файла должна содержать информацию следующего вида:
: (например, 198.154.196.169:19223)
где
- адрес компьютера с запущенным приложением-хостом (в данном случае приложение-хост это VideoControl.exe и/или RealVideoControl.exe) - порт для входящих соединений приложения-хоста (см. описание RealVideoControl.ini)
Таким образом, в файле hosts.txt должно быть прописано кол-во строк, соотв. кол-ву различных копий запущенных приложений-хостов (VideoControl.exe, RealVideoControl.exe и т.д.). В данном случае копии приложения считаются различными, если уникальна комбинация +
sqlconn.pms:
Файл параметров подключения описан выше
Настройка приложения VideoControl.exe
Модуль предназначен для управления словарями системы, просмотра видео в реальном режиме и возможности доступа к видеоархиву.
Примечание: Работа с видеоархивом базируется на служебных данных из накопительной базы VIDEOSTORAGE.FDB
Доступ в приложение защищен паролем - в чистой базе по-умолчанию существует единственный пользователь USER с паролем 1234567890 и административными правами:
Настройка групп
Понятие "Группа" предназначено для логического объединения станций и камер в пределах одного ресторана (точнее в пределах одного кода ресторана).
Для добавления новой группы или редактирования существующей, перейдите в меню "Видеонаблюдение" -> "Группы".
Примечание: Для добавления или удаления элемента справочника системы используется соотв. кнопка "+" или "-" на панели инструментов.
Для создания группы необходимо задать ее наименование (может быть произвольным) и заполнить основные параметры:
В поле "Ключ" вводится лицензионный ключ для данного ресторана (кода ресторана), в поле "Код" - полный код ресторана. Опция "Главная группа" определяет для группы статус основной и позволяет во всех режимах просмотра помечать данную группу в качестве активной.
Важно: Лицензионный ключ и код ресторана, указанные в настройках группы, должны соответствовать реальному коду ресторана, указанному в SYSTEM.DB кассового сервера. Приложение VideoControl не выполняет проверку ключа и кода, но при несоответствии этих данных пакеты с кассовых станций не будут декодироваться. Ключ дешифрования привязан к коду ресторана и для каждого ресторана приобретается отдельно!
Для дальнейшего заполнения параметров группы необходимо предварительно заполнить словари "Станции" и "Камеры"
Настройка станций
Для добавления и настройки станций выберите пункт меню "Видеонаблюдение" -> "Станции"
Для добавления новой станции заполните ее название и укажите код. Код - это цифровой идентификатор станции, который соответствует номеру станции, указанному в системе R-Keeper
Важно: Если код станции в R-Keeper имеет значение меньше 10 (01, 02 .... 09), значение поля "Код" необходимо указывать без ведущего нуля (1, 2 ... 9)!
Настройка видеокамер
Для добавления и настройки видеокамер выберите пункт меню "Видеонаблюдение" -> "Видеокамеры".
Для добавления новой видеокамеры введите ее название и заполните остальные параметры:
- "Путь " - полный путь к директории, где храняться видеофайлы данной камерв
- "Логин" - имя пользователя для удаленного подключения к камере (определяется в собственных настройках конкретной IP-камеры)
- "Пароль" - пароль пользователя
- "IP" - IP-адрес камеры (определяется в собственных настройках конкретной IP-камеры)
- "Порт" - порт для удаленного подключения к камере (определяется в собственных настройках конкретной IP-камеры)
- "URL" - специальный адрес для просмотра видео с камеры по протоколу RTSP (необязательный параметр)
Окончательная настройка групп
После того, как заполнен словарь станций и камер, можно перейти к окончательной настройке групп. Для этого перейдите в меню "Видеонаблюдение" -> "Группы".
Далее в правом нижнем углу выберите существующие в системе станции и укажите соотв. им камеры:
Настройка сканера видеофайлов ScanVideo.exe
Утилита ScanVideo.exe выполняет сервисную функцию - сканирует указанный путь на предмет наличия видеофайлов и записывает в базу данных служебную информацию.
Для установки программы скопируйте директорию ScanVideo на диск, например в C:\UCS\VideoControl\ScanVideo
Содержимое директории ScanVideo:
- dbexpint.dll - драйвер Borland для работы с базой Interbase/Firebird - ScanVideo.exe - основное приложение - scanvideo.ini - конфигурационный файл приложения
Настройка файл scanvideo.ini :
[Main]
PathMask="Z:\video\*" - полный путь или маска к директории, которую необходимо сканировать Database="C:\UCS\VideoControl\Db\VIDEOSTORAGE.FDB" - путь к накопительной базе данных Role_Name=SYSDBA - роль пользователя для подключения к базе данных User_Name=SYSDBA - имя пользователя для подключения к базе данных Password=masterkey - пароль пользователя дл подключения к базе данных FilterDay="29.10.2009" - фильтр для сканирования только определенной даты. Используется для тестовых целей EnableFilterDay=0 - включение фильтра для сканирования по дням FormatDateTimeFile="yyyymmdd_hhnn" - фильтр для сканирования файлов определенного формата EnableDetailLog=0 - включение расщиренного журнала работы приложения CriticalDeltaDay = 30 - кол-во дней, по истечении которых видеофайл считается устаревшим и подлежит удалению EnableHardDelDir = 1 - "жесткое" удаление(1) файлов или директорий, даже если они заняты другимии приложениями или процессами
Для того, чтобы видеофайлы обрабатывались постоянно, можно создать задание в планировщике Windows для автоматического запуска ScanVideo.exe с необходимой периодичностью. Достаточно просканировать файлы несколько раз в день либо непосредственно перед закрытием кассового дня, т.к. служебная информация требуется для просмотра видео из модуля "Отчеты".
Настройка кассовой станции
Для передачи служебных данных с кассы, необходимо скопировать в корень RKCLIENT библиотеку VIDEOUDP.DLL и в RKEEPER6.INI прописать клиентский параметр VideoIP с указанием IP-адреса компьютера, на котором запущен сервис AppUdpVideoSrv.exe (либо VideoCamera.exe - см. ниже):
VideoIP=192.168.0.1
Важно: Кассовая часть R-Keeper v6 передает служебную информацию следующим образом - теги формируются и передаются кассовым сервером, а XML-пакеты - кассовым клиентом. Таким образом, при использовании выделенного NT-сервера необходимо прописать параметр VideoIP в конфигурационном файле RKEEPER6.INI сервера!
Примечание: На данный момент для передачи данных может использоваться только сетевой клиент с поддержкой Novell TCP/IPi - в дальнейшем будет реализована поддержка стека MS TCP/IP
Настройка модуля "Отчеты"
Возможность просмотра видеофрагментов, связанных с операциями по чеку, реализована в модуле "отчеты" с версии 6.90.
Важно: Для возможности просмотра видеофрагментов в модуле "Отчеты" требуется отдельное право - для его установки необходимо изменить конфигурацию с помощью DealRK.exe, затем в "Диспечере" дать право соотв. пользователям.
Для настройки модуля отчетов необходимо в директорию RK6 cкопировать файлы из дистрибутива \Offline:
- borlndmm.dll - dbexpint.dll - getvideoview.dll - getvideoview.ini - midas.dll - sqlconn.pms - VideoArchive.exe - vlcax.exe - vlcax.ini
1. Настройка файла sqlconn.pms описана выше
2. Содержимое файла getvideoview.ini:
[Main]
Position=-5 - определяет время смещения (в секундах) для отображаемого в отчетах видеофрагмента. Mode=0 - режим отладки (1 - да, 0 - нет) ExtVideo=1 - использовать внешний модуль (1 - да, 0 - нет)
Режим отладки (Mode = 1) позволяет отображать некоторую сервисную информацию при запросе данных о видеофрагменте из модуля "Отчеты".
Параметр ExtVideo определяет, каким образом будет отображаться видеофайл - с помощью getvideoview.dll либо внешним приложением VideoArchive.exe
Примечение: Модуль VideoArchive.exe нельзя запустить как самостоятельное приложение
Настройка приложения RealVideoControl.exe (архив)
Данное приложение предназначено для просмотра видео с камер в режиме реального времени и отображения в текстовом виде информации о текущих кассовых операциях.
Примечение: В дальнейшем развитие этого приложения будет зависить от потребностей пользователей - на данный момент модуль не дорабатывается, т.к. все его функнции реализованы в VideoControl.exe
Для установки приложения скопируйте директорию RealVideo на диск, например в C:\UCS\VideoControl\RealVideo
Содержимое каталога RealVideo:
- config.ini - основной конфигурационный файл для параметров различных ресторанов - cconf1.ini ......... - конфигурационные файлы конкретных ресторанов - cconfN.ini - dbexpint.dll - драйвер Borland для работы с базой Interbase/Firebird - DcsCliCtrl.dll - библиотека стороннего разработчика для работы с IP-камерами - DcsSensor.dll - библиотека стороннего разработчика для работы с IP-камерами - defclass.dll - вспомогательная библиотека для обработки скриптов (Script.pp) - getvideoview.dll - вспомогательная библиотека для просмотра видео из внешних приложений - install.bat - пакетный файл для регистрации компонентов - midas.dll - Borland MIDAS Component Package - RealVideoControl.exe - основное приложения - RealVideoControl.ini - конфигурационный файл приложения - Script.pp - скрипт-шаблон для вывода тесктовой информации по кассовым операциям (титров) - sqlconn.pms - специальный конфигурационный файл для подключения к базе данных, используемый библиотекой dbexpint.dll - start.bat - пакетный файл для запуска VideoCamera.exe в особом режиме - VideoViewDD.exe - специальное приложение для просмотра видео из внешних программ. - vvconfig.ini - конфигурационный файл приложения VideoViewDD.exe
1. В первую очередь необходимо зарегистрировать компоненты сторонних разработчиков - для этого запускаем пакетый файл install.bat:
regsvr32 DcsCliCtrl.dll regsvr32 DcsSensor.dll regsvr32 midas.dll
Примечание: для регистрации компонентов требуются административные права
2. Далее настраиваем файл sqlconn.pms для подключения к базе данных (указаны только основные параметры, остальные не изменять без необходимости):
DriverName=Interbase
Database=198.154.196.169:c:\ucs\videocontrol\db\videostorage.fdb - путь к базе данных, может быть как локальным, так и сетевым
.................
User_Name=sysdba - имя пользователя БД
Password=masterkey - пароль пользователя БД
.................
SQLDialect=3 - важно, не менять!
.................
3. Далее настраиваем конфигурацию каждого конкретного ресторана.
Конфигурационные файлы могут называться произвольно, для примера будем именовать их в виде cconfN.ini.
В файле cconfN.ini должно содержаться столько секций [CameraX], сколько физических камер установлено в ресторане:
[Camera1] ........... [Camera10]
...........
Рассмотрим параметры секции [CameraX]:
[Camera1]
RemoteHost = "192.168.0.20" - адрес камеры RemotePort = 80 - порт для удаленного подключения к камере Username = admin - имя пользователя для подклбчения к камере (задается в настройках камеры) Password = "ucs" - пароль для подключения к камере (задается в настройках камеры) Num=1 - номер кассовой станции (UNIT), которой соотв. камера
Примечание: Если не указать параметр Num (или указать не верно), приложение RealVideoControl.exe не будет обрабатывать данные
4. Далее настраиваем основной конфигурационный файл
В файле config.ini должно быть столько секций [RestoranX], сколько физических ресторанов будет обслуживать система видеонаблюдения
[Restoran1]
............ [Restoran10]
..........
Рассмотрим параметры секции [RestoranX]:
[Restoran1] RCode="199999999" - код ресторана Name="Restoran1" - название ресторана (для отображения в окне приложения) Path=".\cconf1.ini" - путь к конфигурационному файлу ресторана (см. выше) - может быть как абсолютный, так и относительный KeyID=600966724 - ключ для дешифрования данных. Предоставляется после приобретения лицензии - более подробно см. ниже
ВАЖНО: Ключ дешифрования привязан к коду ресторана и для каждого ресторана генерируется отдельно
Прикрепленный файл | Размер |
---|---|
VideoControl_UserGuide.doc | 2.82 Мб |