首页    期刊浏览 2024年11月29日 星期五
登录注册

文章基本信息

  • 标题:IP surveillance software system for mobile devices.
  • 作者:Grigorescu, Costin Marius ; Moraru, Sorin Aurel ; Kristaly, Dominic Mircea
  • 期刊名称:Annals of DAAAM & Proceedings
  • 印刷版ISSN:1726-9679
  • 出版年度:2009
  • 期号:January
  • 语种:English
  • 出版社:DAAAM International Vienna
  • 摘要:IP surveillance systems have been developed to offer a solution to existing CCTV systems. The new system offers the possibility to switch to the digital world using cutting edge equipment for surveillance and video monitoring.
  • 关键词:Applications software;Engineering design;Smart phones;Surveillance equipment;TCP/IP (Network protocols);Transmission Control Protocol/Internet Protocol

IP surveillance software system for mobile devices.


Grigorescu, Costin Marius ; Moraru, Sorin Aurel ; Kristaly, Dominic Mircea 等


1. INTRODUCTION

IP surveillance systems have been developed to offer a solution to existing CCTV systems. The new system offers the possibility to switch to the digital world using cutting edge equipment for surveillance and video monitoring.

Some of the advantages offered by IP Surveillance systems over CCTV ones are (Axis Communications, 2008):

* Remote access: the possibility to access the cameras from any computer connected to the network, and, if the network has internet access, from virtually any place in the world.

* Unlimited recordings: the duration of the recordings is limited only by the hard drive space.

* Automated alarming system: the server that makes the recordings can send different types of alarms (by email or sms) to a predefined list of persons if an event occurs.

This paper presents a system of software applications that allows a user that has a smartphone or a pda to access an IP surveillance system.

2. SOFTWARE SYSTEM

The system is to be developed using the C# programming language and will be compatible with Microsoft Windows Mobile versions 5 and 6. The system is made from two applications:

* A client application that runs on Windows Mobile based PDAs and smartphones. This application displays the information (images from the surveillance cameras) received from the server application on the user's screen.

* A server application that performs the following tasks: management of users (including their access rights) and IP surveillance system (list of cameras, location where to make the recordings, etc.), connects to the surveilance system, stores the video information and also sends it to the client application.

The client and server software applications communicate with each other using the Microsoft Message Queueing system. This is a messaging protocol that allows applications running in seperate locations or in separate processes to communicate in a reliable way. A queue is a temporary storage location that holds the messages until the conditions are favorable for sending them. A queue can be seen also as a buffer that keeps the information until the connection between the applications is restored and the information can be sent (Wikipedia, 2009). The structure of the system can be seen in Fig. 1.

[FIGURE 1 OMITTED]

3. CLIENT APPLICATION

The client application is an application for Windows Mobile capable of runing on versions 5.0, 6.0 and 6.1 on smartphones and PDAs. It can adjust its graphical interface accordingly with the screen resolution of the device on which it is running.

At startup, the application will show to the user the authentication dialog. After the user has entered his credentials and if the credentials are recognized by the server, the application will show to the user a list of the surveillance cameras from which he is authorized to see images.

After the user selects a camera, the application will start receiving images captured by that camera. The communication between the client and server applications is presented in Fig. 2.

[FIGURE 2 OMITTED]

The steps of the communication between the client and server are described in the following paragraphs.

The client application starts up. During start up, the application reads from a configuration file the address of the server and the name of the Authentication Requests Message Queue (ARqMQ).

After the user has entered his credentials, the application sends a request object to the ARqMQ that contains the following information: a unique client identification code, the user's credentials, information about the user's device and the request type (request for login). The device information contains the screen's resolution and data transmission capabilities (GPRS, 3G, HSDPA, etc.). The server application uses the device information received from the client to adjust the size and quality of the images sent from the camera to the client's device. If the device has a slow data transmission rate, the images will have low quality.

The server extracts the object from the ARqMQ and verifies the user's credentials. If the credentials are good, then the server puts the user inside a list of currently active users, and buils a response for the client: the client's unique identification code, the authentication response (success or fail) and, in the case of success, the list of surveillance cameras the user has access to, and the name of the message queue from which the client will reveive images from the cameras. This response will be put in the Authentication Responses Message Queue (AReMQ). The server also creates the Message Queue in which it will put the images from the cameras (Client Message Queue--CMQ).

The client is listening to the AReMQ and is verifying all of the new messages that are put inside this queue. When he finds a message that contains its unique identification code, it extracts this message from the queue. The client application reads the content of this message. If the authentication failed, the application will display a proper message to the user. If the authentication has succeded, the application will display the list of available surveillance cameras.

If the user has selected a camera, the client builds a request object containing the client's unique identification code, the user's id, the camera's id and the request type (start receiving images). This request object is sent to the server into the Camera Requests Message Queue (CRMQ). From this point on, the client will listen to its CMQ for new images from the server. The server reads the client's request for a camera, verifies again the user's rights to view that camera and, if everithing is ok, it starts sending images to the client's CMQ.

If the user wants to stop receiving images, he can click on a stop button. In this case, the client application will send another request object into the CRMQ, but this object will have its request type set to stop receiving images. At this moment, the server will stop from adding new images into the CMQ.

When the user closes the application, an object containing the client's unique identification code, user information and the request's type (request for log off) is sent to the ARqMQ. The server takes this message from the ARqMQ and removes the user from the list of active users and also removes its CMQ.

4. SERVER APPLICATION

The server application is a Windows application that performs the following tasks:

* Connects to the IP surveillance cameras to store the video information on the server's hard disks.

* Connects to a Microsoft SQL Server database to read the information about the users, the users' rights, about the surveillance cameras and about the location where to keep the recordings.

* Connects to a number of Message Queues in order to perform the communication with the client application.

At startup, the application loads from the database the list of cameras for which it has to store their recordings. For each camera, in the database there are stored the following informations: IP address, username, password and recording type (continuous, motion based or at certain intervals). After the startup, the application waits for authentication requests from clients. When an authentication request has arrived in the ARqMQ, the application gets the user's credentials from the request object and checks them inside the user's table from the database. If the credentials are correct, then the application puts the user inside a list of currently active users. For each user inside this list, the application stores the following information: user device specific informations (screen resolution, data transmission capabilities), list of available cameras, client unique identification code (using this code the application builds the name of the CMQ) and the current camera from which the client is currently receiving images.

After verifying the credentials, the application builds the response object and puts it into the AReMQ.

When the client makes a request to start receiving images from a camera, by adding an object into the CRMQ, the application checks to see if the user has the right to connect to that camera and, if the user has rights, it connects to the camera.

To connect to a camera, the application instantiates an ActiveX control that the camera manufacturers--Vivotek provide (Ultimate Serial, 2009). Using this control, the application can receive from the camera the video information (Che, 2007).

To send images to the CMQ, the application creates a thread (Northrup et al., 2006) that will capture, at a specified interval, the current image from the camera.

The interval is automatically set according with the client's device data transmission capabilities. If the device has a low data transmission rate, then the interval will be bigger, in order to make sure that the client has enough time to get all of the images.

Each image is resized to the client's device screen resolution and has a quality based on the data transmission speed of the client's device. After the application has finished processing an image, it verifies the list of active users to find the users that are currently receiving images from that camera. For each user found, the application sends the image to its associated CMQ.

The communication between the server application, surveillance cameras, database and Message Queues is shown in Fig. 3.

[FIGURE 3 OMITTED]

5. CONCLUSION

The use of the Microsoft Message Queueing System for communicating between remote software applications proves to be a very simple and efficient mechanism. Message queues provide also buffering so the software developer does not have to find a way of implementing a buffering system if the connection between the applications is lost for a period of time.

6. REFERENCES

Che, P. (2007). MediaPlayback Control, Electronic version. Northrup, T.; Wildermuth, S. & Ryan, B. (2006). Microsoft

.NET Framework 2.0--Application Development Foundation, Microsoft Press, 0-7356-2277-9, USA

*** (2008) http://www.axis.com/documentation/whitepaper /video/cctv_to_ipsurveillance.htm--Axis Communications, Converting an analog CCTV system to IP-Surveillance, Accessed on: 2008-06-21

*** (2009) http://en.wikipedia.org/wiki/Microsoft_Message_ Queuing--Wikipedia, Microsoft Message Queuing, Accessed on: 2009-08-17

*** (2009) http://www.ultimateserial.com/vsttutor.html--Ultima Serial, How to use ActiveX in Visual C#.NET, Accessed on: 2008-06-25
联系我们|关于我们|网站声明
国家哲学社会科学文献中心版权所有