1. General


1.1. Features

1.1.1. Record video stream taken from camera(s).

1.1.2. Self-writing video files by VideoRegistrator

1.1.3. Use format Motion JPEG (MJPEG)

1.1.4. Realtime data from POS system is saved into one file with video

1.1.5. It is possible to view both realtime and archive data in any web browser (which has got JavaScript and HTML5 support)

1.2. Hardware

1.2.1. You need server (windows OS) with network adapter. We recommend you more than 1TB storage capacity.

1.2.2. You need video IP camera(s) with streaming source support.

1.2.3. You need valid IP network between server and camera(s) built on common hardware (network switch).


2. Files and folders (distributive)


2.1. Each logical module in distributive has been put to separate folder named as module.

2.2. There are following folders (with files):

2.2.2. \VideoRegistrator\ - сервер видеорегистрации, управляет получением и записью MJPG-потока с видеокамер (или источников, эмулирующих работу видеокамер)

2.2.3. \VideoMessages\ - сервер титров, управляет служебными данными (тегами), поступающими от клиентов системы видеоконтроля (кассовый сервер, кассовая станция и т.д.)

2.2.4. \VideoManager\ - модуль для управления конфигурацией системы

2.2.5. \HTTPServer\ - простой HTTP-сервер  для управления web-интерфесом системы видеоконтроля and скриптов (HTML+JavaScript) для генерации web-интерфейса

2.2.6. \Scripts\

2.3. Software distributive you may get from UCS FTP server  /dealers/Surveillance/.


3. Install side software


3.1. You need web server.

3.1.1. Use web-server (we recommend) IIS. For example, Apache also fits.

3.2. Firebird - сервер управления базой данных видеонаблюдения

3.2.1. Установка и настройка СУБД Firebird. Для установки необходимо скачать дистрибутив последней доступной версии Firebird 2.5.х и выполнить установку, дополнительная настройка не требуется. 32-bit.

3.3 Firebird ODBC Driver - используется для подключения модуля VideoManager к базе данных.

3.3.1. Установка и настройка ODBC-драйвера Firebird. Для установки драйвера необходимо скачать дистрибутив с сайта Firebird http://www.firebirdsql.org/en/odbc-driver/ и выполнить установку.

После установки необходимо зайти в "Панель управления" \ "Администрирование" \ "Источники данных (ODBC)" и на закладке "User DSN" создать новый источник данных с именем "SURVEILLANCE":

Примечание: Источник данных, созданный на закладке "User DSN", будет доступен только текущему пользователю Windows - если на компьютере работает несколько пользователей, необходимо создать источник данных для каждого из них. Как вариант, можно создать источник данных  в разделе "System DSN", который будет доступен всем пользователям\

3.4. Microsoft .NET Framework 4 - пакет для поддержки программной платформы .NET Framework.

3.4.1. Установка Microsoft .NET Framework 4. Данный пакет необходим для запуска основых модулей приложения - загрузить пакет можно либо с нашего фтп-сервера (/dealers/VideoControl/Surveillance/Bin/FrameWork/dotNetFx40_Full_x86_x64.exe ) либо с сайта Microsoft http://www.microsoft.com/ru-ru/download/details.aspx?id=17718 (рекомндуется загружать автономный установщик).  После загрузки выполнить установку, дополнительная настройка не требуется

Важно: Для установки Microsoft .NET Framework 4 трубуется версия ОС не ниже Windows XP с установленным SP3

3.5. AXIS Media Control - компонент ActiveX, обеспечивающий просмотр видеопотоков в форматах Motion JPEG непосредственно в браузере

Для Linux(Ubuntu) можно взять готовый образ на фтп: /dealers/Surveillance/!LINUX_ISO/ucs_surv_linux_server_image-backup.iso. 

Примечание: При развертывании образа Linux используйте имя пользователя root c паролем MasterUcs1


4. Licensing


В лицензировании используется следующая схема:

- лицензионный код используется как для RK6, так и для RK7.

- в RK7 требуется дополнительное лицензирование интерфейса «UCS Video Surveillance Interface» - подробности см. в Справочнике RK7. Запрос и получение лицензии происходит через License Manager


5. Surveillance applications installation


5.1. Copy folders with files

5.1.1. From distributive to server computer filesystem.

5.2. Own web-server (if decided to use that)

Конфигурация http-серера HTTPServerConsole.exe  хранится в файле HTTPServer.exe.config.

Каждый параметр определяется 2-я тегами:

<setting name="..." serializeAs="..."> ...  </setting> - имя параметра (name=) и его тип (serializeAs=)
   <value> ... </value> - значение параметра

Теги с параметрами могут находиться в нескольких блоках: <applicationSettings> ... </applicationSettings> и <userSettings> ... </userSettings>

Пример блока с параметрами:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>
........................................... 
   <applicationSettings>
        <HTTPServer.Properties.Settings>
            <setting name="httdocs" serializeAs="String">
                <value>./httdocs</value>
            </setting>
            <setting name="username" serializeAs="String">
                <value>admin</value>
            </setting>
            <setting name="password" serializeAs="String">
                <value>admin</value>
            </setting>
        </HTTPServer.Properties.Settings>
    </applicationSettings>
    <userSettings>
        <HTTPServer.Properties.Settings>
            <setting name="uri" serializeAs="String">
                <value>http://192.168.0.1:8015/</value>
            </setting>
        </HTTPServer.Properties.Settings>
    </userSettings>
</configuration>

где

  • httdocs - параметр, определюящий директорию, где хранятся файлы web-интерфейса системы (html, скрипты и т.д.)
  • username - параметр, определяющий имя пользователя для доступа к web-интерфейсу системы
  • password - параметр, определяющий пароль для доступа к web-интерфейсу системы
  • uri - параметр, определяющий IP-адрес и порт, которые будет использовать http-сервер для входящих подключений


Примечание: Директория, указанная в параметре httdocs, является корневой директорией, из которой HTTP-сервер обрабатывает скрипты. Если необходимо запускать скрипты из разных директорий (например, для запуска с разными параметрами), следует создать соотв. структуру внутри httdocs, например  httdocs\videocontrol1, httdocs\videocontrol1 и т.д., и разместить в них скрипты. При обращении к HTTP-серверу необходимо в URI указывать соотв. директорию , например http://192.168.0.1:8015/videocontrol1/ или http://192.168.0.1:8015/videocontrol2/

5.3. Scripts

Для установки необходимо скопировать скрипты (содержимое директории httdocs) в соотв. директорию HTTP-сервера, должна получиться следующая структура (на примере HTTPServerConsole.exe):

- httdocs

 -- eng
 -- img
 -- js
 -- 1.html
 ........... 
 -- index.html 

или

- httdocs

 -- videocontrol1
  --- eng
  --- img
  --- js
  --- 1.html
  ........... 
  --- index.html
  ........... 

 -- videocontrol2
  --- eng
  --- img
  --- js
  --- 1.html
  ...........
  --- index.html
  ........... 

Для настройки достаточно скопировать в каждую директорию со скриптами готовый конфигурационный файл VideoRegistrator.xml, который можно взять из настроенной директории сервера видеорегистрации (VideoRegistrator) либо экспортировать из редактора конфигурации (VideoManager)

Важно: При редактирование конфигурационных файлов (*.xml) необходимо использовать кодировку Unicode (UTF-8)

5.4. VideoMessages

Конфигурация сервера титров хранится в файле VideoMessagesConsole.exe.config:



<?xml version="1.0"?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
            <section name="VideoMessagesConsole.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <VideoMessagesConsole.Properties.Settings>
            <setting name="TCPPort" serializeAs="String">
                <value>9050</value>
            </setting>
            <setting name="UDPPort" serializeAs="String">
                <value>19123</value>
            </setting>
            <setting name="keyID" serializeAs="String">
                <value>123456789</value>
            </setting>
            <setting name="codePage" serializeAs="String">
                <value>utf-8</value>
            </setting>
            <setting name="cntStr" serializeAs="String">
                <value>Database=С:\UCS\Surveillance\DB\SURVEILLANCE.FDB; User=SYSDBA; Password=masterkey;  Dialect=3; Server=localhost</value>
            </setting>
            .................
            <setting >
                ......
            </setting> 
        </VideoMessagesConsole.Properties.Settings>
    </applicationSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup>
</configuration>

Основные параметры:

  • <TCPPort>...</TCPPort> - входящий TCP-порт для подключения модуля видеорегистратора
  • <UDPPort>...</UDPPort> - входящий UDP-порт  для приема служебных данных (тегов) от клиентов системы видеоконтроля
  • <keyID>...</keyID> -  лицензионный код
  • <codePage>...</codePage> - кодировка служебных данных, для RK6 используется значение cp866, для RK7 - utf-8
  • <cntStr>...</cntStr> - строка подключения к БД 

Остальные параметры предназначены для локализации строковых переменных на другие языки.

Важно: Лицензионный код выдается на объект и привязан к полному коду ресторана (<Код предприятия>.<Код ресторана>)

5.5. VideoRegistrator

Конфигурация сервера видеорегистрации хранится в файле VideoRegistrator.xml:

<?xml version="1.0" encoding="utf-8"?>
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Cameras>

    <Camera>
      <name>Camera1</name>
      <group_name>SHOWROOM</group_name>
      <unitName>01</unitName>
      <lengthBuffer>100</lengthBuffer>
      <schema_name>1</schema_name>
      <inUri>http://admin:ucs@192.168.101.4/video1.mjpg</inUri>
      <duration>30000</duration>
      <rootDir>.\Video\Camera1</rootDir>
      <limitDays>7</limitDays>
      <outUri>http://192.168.2.13:9891/video1/</outUri>
      <widthTextArea>300</widthTextArea>
      <inMsgUri>msg://127.0.0.1:9050</inMsgUri>
      <limitMessageLine>10</limitMessageLine>
      <enableImageMagick>false</enableImageMagick>     
    </Camera>

   <Camera>
      <name>Camera2</name>
       ..........
   </Camera>

     .................    

   <Camera>    
     <name>CameraN</name>
       ..........   
    </Camera>
</Cameras>

<cntStr>Database="С:\UCS\Surveillance\DB\SURVEILLANCE.FDB"; User=SYSDBA; Password=masterkey Dialect=3; Server=localhost</cntStr>
</Config>

где

  • <Cameras> ... </Cameras> - блок тегов для параметров всех камер
  • <Camera> ... </Camera> - блок тегов параметров конкретной камеры
  • <name> ... </name>  - имя камеры (отображается в web-интерфейсе)
  • <group_name> ... </group_name> - имя группы камер (отображается в фильтре web-интерфейса)
  • <unitName> ... </unitName> - идентификатор кассовой станции (код станции), см. примечение ниже
  • <lengthBuffer> .. </lengthBuffer> - буфер для фреймов MJPEG потоков, значение по-умолчанию - 100
  • <schema_name> ... </schema_name> -  схема видеонаблюдения, определяется кол-вом камер в группе и может принимать значения 1, 4, 6, 9, 16 и 25
  • <inUri> ... </inUri> - идентификатор ресурса (URI) входного потока MJPEG, подробно см. ниже
  • <duration> ... </duration> - длительность сохраняемых видеофайлов, мс (1с = 1000 мс)
  • <rootDir> ... </rootDir> - директория для хранения записанного видео
  • <limitDays> ... </limitDays> - время хранения видео в архиве (задается в днях)
  • <outUri>... </outUri> - идентификатор ресурса (URI) выходного MJPEG-потока с титрами, подробно см. ниже
  • <widthTextArea> ... </widthTextArea> -  ширина области для титров в пикселях
  • <inMsgUri> ... </inMsgUri> - URI сервера титров (VideoMessages)
  • <limitMessageLine> ... </limitMessageLine> - Предельное количество строк титров
  • <enableImageMagick> ... </enableImageMagick>   - системная пременная - ставить true только в Linux, в Windows использовать false

Примечание: Для кассы RK6 параметр <unitName> указывается с ведущим нулем, для кассы RK7 - без ведущего нуля!

Настройка параметра inUri

Параметр inUri определяет ресурс, по которому сервер видеорегистрации получает входной MJPEG-поток с видеокамеры (или устройства, эмулирующего камеру)

Формат параметра следующий:

<inUri>http://<ИмяПользователя>:<Пароль>@<IP-адрес камеры>/<ИмяПрофиляВидео></inUri>

где

<ИмяПользователя>, <Пароль> - имя пользователя и пароль для подключения к камере

<IP-адрес камеры> - IP-адрес камеры

<ИмяПрофиляВидео> - строка, определяемая моделью и настройками камеры. Например, в настройках камеры D-Link  DCS-2103 могут быть определены два профиля "VIDEO PROFILE 1" и "VIDEO PROFILE 1", для доступа к которым используются имена video1.mjpg и video2.mjpg соотв. Более подробно работа с профилями описана в статье на примере камеры D-Link  DCS-2103

Настройка параметра outUri
Параметр outUri определяет ресурс, по которому будет доступен выходной обработанный MJPEG-поток (включая титры). Данный поток используется web-интерфейсом для отображения видео с титрами.

Примечание: Если используется несколько камер, для каждой из них должен быть задан свой уникальный outUri

5.6. VideoManager

Модуль VideoManager предназначен для визуального редактирования и сохранения параметров системы в базе данных. На данных момент механизм чтения параметров из базы данных находится в тестовом режиме, поэтому для чтения параметров используются конфигурационные файлы (*.xml). С помощью приложения VideoManager можно экспортировать сохраненные параметры для сервера видеорегистрации VideoRegistrator (меню "Surveillance" \ "Export")

Примечание: По-умолчанию, для входа в приложение VideoManager используется пользователь root с паролем admin

Конфигурация модуля хранится в файле VideoManager.exe.config и состоит из двух параметров для подключения к базе данных:

.....................
<configuration>
        <WindowsFormsApplication15.Properties.Settings>
            <setting name="Dsn" serializeAs="String">
                <value>SURVEILLANCE</value>
            </setting>
            <setting name="Driver" serializeAs="String">
                <value>IscDbc</value>
            </setting>
        </WindowsFormsApplication15.Properties.Settings>
    </applicationSettings>
</configuration>

где

<setting name="Dsn" serializeAs="String"> - параметр, определяющий источник данных, который будет использоваться для подключения к базе данных видеонаблюдения
<value>SURVEILLANCE</value> - значение параметра Dsn, должн соотв. значению, указанному при создании источника данных

<setting name="Driver" serializeAs="String"> - параметр, определющий тип драйвера для подключения к базе данных видеонаблюдения
<value>IscDbc</value> - значение параметра Driver - значение параметра Driver

5.7. Reports (offline)


Для настройки просмотра видеоматериала из отчетов R-Keeper, необходимо скопировать библиотеку getvideoview.dll в корень рабочей директории менеджерской RK7 или редактора RK6 и настроить конфигурационный файл getvideoview.ini:

[Main]
StartURI = "http://192.168.0.1:8015/"
BrowserName = "C:\Users\1\AppData\Local\Google\Chrome\Application\chrome.exe"
GroupName = SHOWROOM
Sleep = 250


где

StartURI - стартовый URI, определяется настройкой HTTP-сервера
BrowserName - полный путь к бразере, используемумо в качестве клиентского ПО, например "C:\Program Files\Mozilla Firefox\firefox.exe"
GroupName  - название группы видеокамер
Sleep  - интервал задержки между кадрами (мс)


6. Run


Сервер титров (VideoMessages) и сервер видеорегистрации  (VideoRegistrator) могут быть запущены как в качестве приложения, так и в качестве системного сервиса

6.1. Desktop application mode


Для запуска серверов в качестве приложения используется универсальная утилита ExecuteProcess.exe, параметры которой передаются в командной строке:

ExecuteProcess.exe "ИмяИсполняемогоФайла" "ПараметрыИсполняемогоФайла" "ПризнакСкрытияОкнаПриложения" "ИмяСообщенияНаЗакрытиеПриложения"

где

"ИмяИсполняемогоФайлаСервера" (1-й параметр) - имя исполняемого файла
"ПараметрыИсполняемогоФайлаСервера" (2-й параметр)  - параметры исполняемого файла, передаваемые в командной строке (может быть пустым)
"ПризнакСкрытияОкнаПриложения" (3-й параметр) - указывает, скрывать ("hide") или нет ("") окно исполняемого приложения
"ИмяСообщенияНаЗакрытиеПриложения" (4-ый параметр) - имя сообщения (event) на закрытие приложение (сервисный параметр, необходим для корректного завершения приложения)

Например:

ExecuteProcess.exe "VideoMessagesConsole.exe" "" "hide" "VideoMessagesEvent"

ExecuteProcess.exe "VideoRegistratorConsole.exe" "" "hide" "VideoRegistratorEvent"

Важно: Параметр "ИмяСообщенияНаЗакрытиеПриложения", установленный для запуска сервера титров и сервера видеорегистарции, нельзя изменять!

Примечание: Для запуска в качестве приложений можно использовать готовые файлы \VideoRegistrator\StartVideoRegistrator.js  и \VideoMessages\StartVideoMessages.js 

6.2. System service mode

Для установки приложений в качестве сервиса используется универсальная утилита ExecuteProcessesService.exe, параметры которой задаются в файле ExecuteProcessesService.exe.config, секция  <ExecuteProcessesService.Properties.Settings> ... </ExecuteProcessesService.Properties.Settings>:

<configuration>
...........................

        <ExecuteProcessesService.Properties.Settings>
            <setting name="Files" serializeAs="Xml">
                <value>
                    <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                        <string>..\HTTPServer\HTTPServerConsole.exe</string>
                        <string>..\VideoMessages\VideoMessagesConsole.exe</string>                       
                        <string>..\VideoRegistrator\VideoRegistratorConsole.exe</string>
                    </ArrayOfString>
                </value>
            </setting>
            <setting name="Events" serializeAs="Xml">
                <value>
                    <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                        <string>HTTPServerEvent</string>
                        <string>VideoMessagesEvent</string>
                        <string>VideoRegistratorEvent</string>
                    </ArrayOfString>
                </value>
            </setting>
            <setting name="Sleep" serializeAs="String">
                <value>1000</value>
            </setting>
            <setting name="HardClose" serializeAs="String">
                <value>False</value>
            </setting>
        </ExecuteProcessesService.Properties.Settings>

............................
</configuration>


7. R-Keeper setup


7.1. R-Keeper 6

Важно: В R-Keeper v6 часть служебной информации формирует и передает кассовый сервером, часть - кассовый клиент (титры). Таким образом, при использовании выделенного NT-сервера необходимо прописать параметр VideoIP в конфигурационном файле RKEEPER6.INI сервера!

Для передачи служебных данных с кассы (титров), необходимо скопировать в корень RKCLIENT библиотеку  VIDEOUDP.DLL (/dealers/VideoControl/RK6/DOS/RKCLIENT/VIDEOUDP.DLL) и в RKEEPER6.INI прописать параметр VideoIP с указанием IP-адреса компьютера, на котором запущен сервер титров VideoMessages:

VideoIP = 192.168.0.1

Если используется выделенный кассовый сервер (NT), параметр VideoIP необходимо также прописать в RKEEPER6.INI кассового сервера

В RKEEPER6.INI кассового клиента необходимо прописать параметр VideoKey,  отвечающий за лицензионный код (ключ разблокировки):

VideoKey = <лицензионный код>

Примечание: Для RK6WIN библиотеку брать из директории /dealers/VideoControl/RK6/RK6WIN/VIDEOUDP.DLL, настройки аналогичны DOS-станции

Примечание: Лицензионный ключ может быть в виде отрицательного числа, например "-123456789"!

ПримечаниеДля передачи данных с кассового клиента на DOS-станции должен быть установлен сетевой клиент с поддержкой Novell TCP/IPi или  MS TCP/IP.

7.2. R-Keeper 7


Информация по настройке см. в соотв. разделе Cправочника RK7  (прямая ссылка http://support.ucs.ru/node/5442)


8. Use web interface (browser)


Если необходимо просматривать видео с удаленного компьютера через глобальную сеть, рекомендуем использовать VPN-подключение.

Если VPN-подключение не приемлимо по каким-либо причинам, можно использовать статичный (глобальный) IP-адрес и следующий вариант:

  • если публичный IP-адрес прописан на роутере, настраиваем "проброс" портов с роутера на локальный компьютер с установленной системой видеоконтроля
  • в настройках приложения VideoRegistrator указываем локальные IP- адреса 
  • в настройках HTTP-сервера указываем глобальные IP-адреса

Детальное обсуждение можно почитать в трекере http://tracker.ucs.ru/view.php?id=20974


9. Specials


9.1. Apache HTTP

Для установки можно использовать последнюю версию сервера Apache HTTP,  доступную на момент развертывания системы видеоконтроля - скачать дистрибутив можно с сайта проекта http://httpd.apache.org/

В процессе установки Apache HTTP создаются базовые параметры в файле конфигуации \conf\httpd.conf :

................
ServerRoot "C:/Apache2" - корневая директоирия сервера Apache HTTP
................
Listen 192.168.0.1:8015 - привязка IP-адреса и порта
................
DocumentRoot "c:/www" - корневая директория размещения скриптов
................

Для размещения набора скриптов web-интерфейса  необходимо в основном конфигурационном файле \conf\httpd.conf прописать следующие параметры:

#Права доступа к директории
<Directory "c:/www/videocontrol">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order Allow,Deny
    Allow from All
</Directory>
..............
#Параметры виртульного хоста
<VirtualHost 192.168.0.1:8015>
    ServerName videocontrol.company.com
    DocumentRoot "c:/www/videoсontrol"
</VirtualHost>


  • No labels