Материал: ПЗ МО-417 Шакиров Айдар 24.06

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
  1. Содержательная постановка проблемы

Цель: повышение эффективности и безопасности работы предприятий за счет разработки математического и программного обеспечения веб-компонента для работы с событиями в видеоплеере системы видеонаблюдения.

Задачи:

  1. Провести обзор и последующий анализ существующих решений для работы с событиями в системах видеонаблюдения.

  2. Разработать алгоритмы работы с событиями.

  3. Провести анализ и осуществить выбор инструментальных средств разработки веб-приложений.

  4. Разработать программный продукт, отвечающий поставленным требованиям.

  5. Провести тестирование и оценку эффективности разработанного ПО.

  1. Обзор и анализ существующих программных продуктов

TRASSIR Client

TRASSIR Client – клиентская часть коммерческой системы видеонаблюдения для обеспечения безопасности объектов различного класса.

Основная функция TRASSIR Client заключается в трансляции видеопотока с подключенных записывающих устройств. Программное обеспечение работает с самыми разными типами камер: беспроводными, купольными, поворотными, компактными, внутренними и так далее [12].

Шкала времени отражает наличие записи видео в архиве. По ее цвету можно определить вариант записи архива: постоянная запись или запись по детектору. В случае использования записи по детектору, по степени окрашивания шкалы можно судить о наличии движения в кадре и насколько оно было интенсивным. Чем более красный цвет, тем больше было движения в кадре.

Также временная шкала поддерживает двухуровневое масштабирование. При наведении на конкретный участок, выше над курсором появляется увеличенный участок временной линии.

Преимущества:

  • доступность на различных ОС;

  • возможность масштабирования.

Недостатки:

  • нет возможности отображения на временной шкале событий, кроме как отсутствия архива;

  • поддержка работы только с системой TRASSIR.

GLAZ Systems

GLAZ Systemsудалённая система контроля кассовых операций.

Временная шкала поддерживает многоуровневое масштабирование по нажатию кнопок.

На временной шкале разными цветами выделены сегменты с разными событиями контроля кассовых операций. Поддерживается отображение чека

Есть возможность фильтрации архива по выбранным событиям.

Преимущества:

  • возможность масштабирования;

  • возможность интеграции с различными облачными системами касс.

Недостатки:

  • список событий, которые может обрабатывать система, ограничен.

Xeoma Client

Xeoma Client клиентская часть коммерческой системы видеонаблюдения Xeoma.

Временная шкала отражает наличие записи по одному из большого множества типа событий.

Преимущества:

  • возможность масштабирования;

  • доступность на различных ОС.

Недостатки:

  • список событий, которые может обрабатывать система, ограничен.

Сравнение плееров систем видеонаблюдения

Таблица 1 – Сравнение плееров систем видеонаблюдения

TRASSIR Client

GLAZ Systems

Xeoma Client

Тип лицензии

Платная (разовая)

Платная (подписка)

Платная (разовая, подписка)

Платформа

Windows, Linux, Unix, Android, IOS

Web, Windows, Linux, Unix, Android, IOS

Web, Windows, Linux, Unix, Android, IOS

Поддержка событий

+

+

+

Отображение наличия видеоархива

+

+

+

Количество отображаемых типов событий одновременно

1

Более 20

2

Отображение событий со сторонней системы событий

-

-

-

Возможность масштабирования

+

+

+

У представленных систем видеонаблюдения примерно одинаково устроен плеер. Стоит отметить плеер системы GLAZ Systems, который способен отобразить и дифференцировать множество типов событий одновременно.

Главным недостатком является отсутствие отображения событий со сторонней системы событий.

  1. Формальная постановка задачи

Формальной постановке задачи соответствует контекстная диаграмма методологии IDEF0, приведенная на рисунке 1.4.1.

Рисунок 1.4.1 – Формальная постановка задачи

На вход поступают данные о камере видеонаблюдения, для которой будут отображаться события. Управляющее воздействие оказывают описание типов событий, макет видеоплеера и цветовая схема типов событий. Механизмами для работы с событиями являются программно-технические средства и оператор системы видеонаблюдения. На выходе получаем таблицу с записями и временную шкалу с сегментами, соответствующие событиям системы видеонаблюдения.

  1. Структура решения задачи, декомпозиция задачи на подзадачи

Структуре решения поставленной задачи соответствует ее разбиение на подзадачи, представленное на диаграмме методологии IDEF0, изображенной на рисунке 1.5.1.

Рисунок 1.5.1 – Структура решения задачи

На первом этапе оператором осуществляется ввод и редактирование критериев отбора событий видеонаблюдения: период, типы событий.

Далее плеером осуществляется запрос информации о событиях по заданным критериям с системы событий видеонаблюдения.

Затем на основе полученных данных происходит построение таблицы событий и построение проекции временной шкалы событий. Сегменты на временной шкале, соответствующие разным типам событий, дифференцируются согласно цветовой схеме типов событий.

Глава 2. Анализ моделей и методов решения

2.1. Типы событий системы видеонаблюдения

События могут классифицироваться различным образом. Попробуем выделить следующие группы типов событий.

Рисунок 2.1.1 – Классификация типов событий системы видеонаблюдения

Кассовая система может передать моменты подозрительных операций, таких как открытие денежного ящика, удаление или возврат товара, аннулирование чека, изменение цены или веса товара вручную.

Система автоматизация ресторанного бизнеса помимо вышеописанных операций может передавать моменты отмены счеты, переноса блюда или заказа.

Системы складского учета могут фиксировать моменты отказа от привезенного товара, открытия или закрытия ворот склада.

Система видеонаблюдения начнет запись с камеры, если запись не ведется, или пометит интервал записи от минуты перед началом события до нескольких секунд после завершения как нестираемый. Такие интервалы записи архива начинают стираться при достижении лимита доступного дискового пространства в порядке от старых к новым.

Также могут фиксироваться моменты событий самой системы видеонаблюдения, такие как детекция движений, потеря связи с камерой, удаление камеры с видеорегистратора.

2.2. Математическая постановка задачи построения проекции временной шкалы событий

Введение:

Unix-время - система описания моментов во времени, принятая в Unix и других POSIX-совместимых операционных системах. Определяется как количество секунд, прошедших с полуночи 1 января 1970 года по Гринвичу.

Дано:

  • – множество событий системы видеонаблюдения,

  • – множество отображаемых типов событий,

  • – Unix-время начала -го события,

  • – Unix-время окончания -го события,

  • – тип i-го события,

  • – Unix-время, соответствующее левому краю видимой части временной шкалы,

  • – Unix-время, соответствующее правому краю видимой части временной шкалы,

  • – функция цвета, где – тип события.

Найти:

– множество сегментов временной шкалы, где:

  • – Unix-время, соответствующее левому краю сегмента,

  • – Unix-время, соответствующее правому краю сегмента,

  • – цвет, соответствующий .

Ограничения:

  • или

Глава 3. Математическое и алгоритмическое обеспечение отображения событий

3.1. Алгоритм построения проекции временной шкалы событий

  1. Перебрать множество событий видеонаблюдения S:

    1. Если множество отображаемых типов событий VT пусто или Di ∈ VT, то:

      1. Если TBi ∈ [TL;TR] или TEi ∈ [TL;TR], то:

        1. Если TBi < TL, то:

          1. Присвоить TSL значение TL,

        2. Иначе:

          1. Присвоить TSL значение TBi

        3. Если TE > TR, то:

          1. Присвоить TSR значение TR

        4. Иначе:

          1. Присвоить TS значение TEi

        5. Присвоить TSC значение C(Di)

        6. Добавить сегмент (TSL, TSR, TSC) в выходное множество сегментов

3.2. Алгоритм получения событий системы видеонаблюдения

Для описания алгоритма получения событий была составлена диаграмма последовательности нотации UML (Unified Modeling Language).

Рисунок 3.2.1 – Диаграмма последовательности получения событий системы видеонаблюдения

Предусловие – открытый пользователем плеер системы видеонаблюдения. Стоит отметить, что при отсутствии у пользователя прав на информацию о событиях плеер не предоставляет возможность выбора типов событий и не осуществляет получение событий.

3.3. Алгоритм открытия видеозаписи события системы видеонаблюдения

Для описания алгоритма открытия видеозаписи спроектирована диаграмма последовательности UML.

Рисунок 3.3.1 – Диаграмма последовательности открытия видеозаписи системы видеонаблюдения

Предусловие – открытый пользователем плеер системы видеонаблюдения, в котором открыта таблица с записями событий.

Глава 4. Программное обеспечение

4.1. Язык программирования и инструментальные средства разработки

Выполним обзор языков программирования, которые используются для разработки клиентской части веб-приложений.

JavaScript – скриптовый язык программирования общего назначения, соответствующий спецификации ECMAScript. Относится к классу мультипарадигмальных, благодаря чему поддерживает объектно-ориентированный, императивный и функциональный стили. JavaScript используется в браузерах как язык сценариев для придания интерактивности веб-страницам. К его основным архитектурным чертам относятся: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.

Современные браузеры поддерживают выполнение только JavaScript программ. Далее рассмотрим языки программирования, для которых возможна транспиляция или компиляция в JavaScript.

TypeScript — язык программирования, представленный Microsoft и использующийся как средство разработки веб-приложений, расширяющее возможности языка JavaScript. TypeScript является обратно совместимым с JavaScript и компилируется в последний. Фактически, после компиляции программу на TypeScript можно выполнять в любом современном браузере. TypeScript отличается от JavaScript возможностью явного статического назначения типов, поддержкой использования полноценных классов (как в традиционных объектно-ориентированных языках), а также поддержкой подключения модулей, что повышает скорость разработки, облегчает читаемость, рефакторинг и повторное использование кода, помогает осуществлять поиск ошибок на этапе разработки и компиляции, и ускоряет выполнение программ.

Источник: https://studfile.net/preview/16691812/