Please use this identifier to cite or link to this item:
https://hdl.handle.net/1822/46400
Title: | Desempenho de uma aplicação web para câmaras ONVIF e notificação de eventos |
Author(s): | Varela, José Luís Cerqueira |
Advisor(s): | Lopes, Sérgio F. |
Issue date: | 8-Apr-2016 |
Abstract(s): | O recurso a sistemas de videovigilância tem-se tornado cada vez mais popular. No entanto,
cada fabricante deste tipo de equipamentos desenvolvia os seus próprios protocolos de comunicação,
não existindo compatibilidade entre diversos sistemas de videovigilância. Este
cenário era economicamente prejudicial para os consumidores, e dificultava o desenvolvimento
de sistemas que integrem equipamentos diferentes ou de diferentes fabricantes. Foi
então necessário criar um protocolo comum a todos eles.
Nesse contexto surgiu o Open Network Video Interface Forum (ONVIF), uma organiza-
ção sem fins lucrativos composta pelas principais companhias deste ramo que tem como
objetivo desenvolver normas para estes dispositivos. A norma ONVIF baseia-se em serviços
web Simple Object Access Control (SOAP) e também em protocolos que já estão padronizados
como o HyperText Transfer Protocol (HTTP) ou Real-time Transfer Protocol (RTP). Os
dispositivos ONVIF são divididos em Network Video Transmitter (NVT), Network Video
Display (NVD), Network Video Storage (NVS) e Network Video Analytics (NVA).
O HyperText Markup Language (HTML) era, inicialmente, utilizado para definir a estrutura
de documentos. No entanto, devido à sua baixa complexidade de utilização tornou-se
rapidamente a linguagem de marcação mais utilizada para a construção de páginas web.
Hoje em dia, a mesma está na quinta versão a qual permite maior flexibilidade na utiliza-
ção de conteúdo multimédia. Estas páginas juntamente com plugins ou com a linguagem de
programação JavaScript são capazes de constituir as Rich Internet Application (RIA), aplicações
que são executadas em ambiente web. Devido à falta de segurança e instabilidade
causados pelos plugins, hoje em dia começa a ser utilizado apenas o JavaScript.
Desta forma, foi desenvolvida uma aplicação web que consiste num cliente que faz a
comunicação com um Web Service (WS) Representational State Transfer (REST). Este por
sua vez, encontra-se alojado num servidor HyperText Transfer Protocol (HTTP) Apache
e está implementado como um Fast Common Gateway Interface (FastCGI). Este FastCGI
utiliza a biblioteca UMOC para transferir dados com dispositivos NVT (câmaras Internet
Protocol (IP)).
O objetivo deste projeto é aumentar o desempenho desta aplicação existente, tanto no
servidor como no cliente e ainda implementar novas funcionalidades do ONVIF.
Foram desenvolvidas soluções para o lado do cliente que permitem que a aplicação seja
executada com maior velocidade e com menor consumo de recursos e foram também implementadas
novas funcionalidades. De entre as contribuições técnicas destacam-se a utiliza-
ção da Web Storage em vez da Indexed DB, a transformação da Application Programming Interface (API) de comunicação com as câmaras mais percetível e mais eficaz e a apresentação
dos dados de forma dinâmica. Em termos de funcionalidades, foi adicionado
o suporte à receção dos eventos da câmara utilizando Server Sent Events (SSE). No que
toca ao lado do servidor, foi realizado o estudo experimental dos servidores HTTP mais
conhecidos pela sua eficiência e implementação do WS-Notification através da ferramenta
gSOAP. The usage of video surveillance systems has become increasingly widespread. Each manufacturer has developed its own communication protocol, not existing compatibility between multiple video surveillance systems. This scenario was economically harmful for the consumers and it makes more difficult to integrate several devices from different manufacturers. So the need to create a common protocol became fundamental. ONVIF was born in that context. It is a non-profit organization consisting of the main manufacturers of the field, and its main goal is to build standards for the abovementioned devices. ONVIF standard is based on SOAP web services and in already existing protocols like HTTP or RTP. ONVIF devices are split into NVT, NVD, NVS and NVA. In the beginning HTML was used to define documents structure. However, due to the low complexity, it quickly became the most used markup language for building web pages. Nowadays, it is in the fifth version which allows more flexibility to manipulate multimedia content. Web pages developed with plugins or with JavaScript language are used to build RIAs, applications which run in web environment. On account of security issues and instability induced by plugins, currently only JavaScript starts being used. In this way, a web application was developed that consist of a client which communicates with a REST WS. This in turn is hosted in a Apache HTTP server as a FastCGI, and it takes advantage of UMOC library to transfer data with NVT devices (cameras IP). At present exists a wide range of HTTP servers which are different in the way how they work and can be distinguished in two groups: those which are used to serve static responses and the others which serve dynamic content. The very first can serve dynamic responses if they integrate some type of technologies like FastCGI or scgi. The goal of this project is to increase the performance of this exist application, both in server and client and implement new ONVIF features. Solutions were developed for the client side which enable the application to run faster with less resources consumption and new functionalities were implemented. Technical contributions that stand out are the use of Web Storage instead of IndexedDB, a renewed camera communication API which is more efficient and more perceptible and, also, a dynamic way of presenting data. Functionalities that were added include the communication of events using SSE. At the server side, an experimental performance study was made of HTTP servers known for their efficiency and an implementation of WS-Notification was added using gSoap tool. |
Type: | Master thesis |
Description: | Dissertação de mestrado integrado em Engenharia de Telecomunicações e Informática |
URI: | https://hdl.handle.net/1822/46400 |
Access: | Open access |
Appears in Collections: | BUM - Dissertações de Mestrado DI - Dissertações de Mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Dissertacao_MiETI_A61900_JoseLuisCerqueiraVarela.pdf | Tese | 4,22 MB | Adobe PDF | View/Open |