Abstract This article introduces the design and implementation of a Network Video Monitoring System Based on Embedded Web technology, and focuses on the design ideas and architecture of its Embedded Server software and hardware, several key technologies involved are described in detail.
KeywordsEmbedded System Network Video Surveillance Linux Web MPEG-4
1 Overview of Network Video Monitoring System Based on Embedded Web Technology
Currently, network-based digital video surveillance systems are the mainstream of video surveillance systems, the embedded web-based network video surveillance system has gained widespread attention. Its main principle is: Embedded Video Servers adopt embedded real-time operating systems and built-in embedded web servers, after the video signal sent by the camera is compressed by an efficient compression chip, it is transmitted to the built-in web server through the internal bus. On the monitoring end, you can directly view the camera video images on the Web server through a browser, and authorize users to control the movements of the camera's cloud platform lens. The schematic 1 of the monitoring system described in this article is shown.
Figure 1 Embedded Video Monitoring System
The system consists of cameras, embedded web servers, transmission networks, and monitoring terminals. Cameras are used to capture surveillance videos. The embedded web server is the core of the monitoring system. It consists of two parts: hardware and software. The detailed structure is described below. Its main functions include: providing web access pages for the monitoring end; checking the access validity and security of the monitoring end; responding to the request of the monitoring end, providing the required video images for the monitoring end; receives control information from the monitoring terminal and controls the camera after hardware and software conversion. Each server has its own IP address. On the monitoring end, you can access the server through the browser interface. The function of the monitoring end is to display live videos, send video requests to the server as needed, and control signals to the camera.
2. hardware structure of Embedded Web Servers
The hardware structure 2 of the embedded web server is shown in. It is mainly composed of CPU chip, MPEG-4 Audio and Video Encoding Chip, flash chip, SDRAM memory, Ethernet interface, large capacity hard disk. Among them, the CPU uses Motorola's PowerPC series embedded communication processor, MPC8250. The MPEG-4 Audio and Video Encoding Chip completes the compression and encoding of the video data transmitted from the camera. According to the network bandwidth, topology and the requirements of image quality, the system selects hierarchical extensibility encoding scheme based on MPEG-4 standard. The compressed video data can be stored in a large-capacity hard disk or transmitted over Ethernet as needed. A large-capacity hard disk is required for video storage.
Figure 2 hardware structure of Embedded Web Servers
3. Embedded Web Server Software System
The Software Design and Implementation of Embedded Web servers is one of the keys to the implementation of the system, including the embedded operating system and application software.
3.1Embedded Operating System
An embedded operating system is an operating system software that supports embedded system applications. It is a dedicated operating system with outstanding features in real-time, hardware relevance, and software solid-state. The system uses an embedded Linux operating system, which is based on the system requirements for the Linux operating system to achieve miniaturization and real-time. Linux has the following advantages:Source codeIt is open and can be customized as needed. The system kernel is small, so the hardware requirements are relatively low. It supports multi-task and multi-process and provides better real-time performance.
3.2Application Software
The application software structure of the server is shown in figure 3. It mainly consists of web servers, CGIProgramEmbedded Database msql, Video scheduling and transmission module, storage management and scheduling module, camera control module and other important components.
3.2.1 web server and CGI program
The Web server interacts with the browser software on the monitoring end through the HTTP protocol, and provides interfaces for other application modules, as well as the video data browsing interface and camera control interface. In addition, it also needs to control the access permissions of the monitoring end, filter the request and control information of the monitoring end, and process the synchronization and priority of requests and control of multiple monitoring terminals. This system selects the Boa web server suitable for embedded systems. Boa is an HTTP server with a single task. It supports CGI technology that can implement dynamic Web technology.CodeOpen, high performance. At the same time, the server program itself occupies a small amount of space, so it is very suitable for embedded systems. At the same time, the system uses CGI (Public Gateway Interface) to implement dynamic Web technology. cgi sets the interface protocol standard for Web servers to call other executable programs (CGI programs. The Web server calls the CGI program to interact with the browser, that is, the CGI program accepts the information sent by the browser to the Web server for processing, and sends the response results back to the Web server and the browser. In principle, CGI programs can be written in any programming language. However, CGI programs written in C language have the features of fast execution speed and high security.
Figure 3 Application Software Structure of Embedded Web Servers
3.2.2 embedded database msql
In this system, the storage of user information, user login and logout, storage and query of Video device parameters, and storage and query of video files all require an embedded database. In general, the system uses msql (minisql) as the background database of the system. Msql is an excellent embedded database with a small architecture and a small amount of system resources. It is especially suitable for Embedded Linux systems. At the same time, msql provides specialized API functions so that CGI programs written in C can communicate with the database engine of msql.
3.2.3 Video scheduling and transmission module
The Video scheduling and transmission module provides the required real-time video information for the monitoring end. It is the most important module in server application software. This module establishes a connection with the monitoring end based on the adopted network transmission and control protocol to listen to the monitoring end's requests. At the same time, it adopts the corresponding scheduling policy to create video streams based on different service types, then, the video data is grouped and packaged, sent to the monitoring end, and error handling and congestion control based on the network status information feedback from the vro and monitoring end.
Generally, the UDP network communication protocol is used for video data transmission. The udp ip transmission methods include VOD, broadcast, and multicast, the multicast server sends only one data packet to a specific user group. users in the group can share the data packet, but users outside the Group cannot receive the data packet. The system uses the IP multicast method. The advantages of the multicast technology include the following: the server can be used to broadcast a large number of client video data; because the number of data packets copied and the number of sent destination addresses is small, this greatly reduces the total amount of data transmitted over the network to ensure high service quality. It reduces the bandwidth usage for video data stream transmission and reduces the burden on servers.
The network transmission protocol used in this system uses the RTP/udp/IP model. RTP is a protocol that provides end-to-end real-time media transmission services. It consists of real-time transmission protocol RTP and real-time transmission control protocol RTCP. RTP is used to transmit real-time video data, while RTCP is used to monitor the transmission of real-time video data. The RTP/udp/IP address method ensures real-time video transmission and QoS. At the same time, certain congestion control and error control policies can be adopted for the uncertainty of transmission network conditions.
3.2.4 storage management and scheduling module
The main function of the storage management module is to store the compressed and encoded video information to a specific area on the disk according to certain policies, and store the video file information in the embedded database, for retrieval and playback. In response to requests from the Video scheduling and transmission module, video data is read from the disk to the memory buffer according to a certain disk scheduling policy and priority. For storage management, the system uses a persistent storage group policy, which divides video information into several data units according to the time sequence. These data units are called groups, each group is stored in a fixed-size storage unit.
3.2.5 camera control module
The camera control module controls the camera. On the monitoring end, the user sends a camera control command to the Web server through a browser. After the control command is accepted and processed by the Web server, it then sends it to the camera control module through the CGI program, then it is converted into the corresponding hardware operation commands for camera control to achieve Remote Control of the camera's cloud platform lens.
4 monitoring terminal browsing
The system monitors the monitoring site using a browser on the monitoring end. The platform running on the browser is independent from the platform running on the embedded web server. no third-party software is required for browsing remote videos, thus, cross-platform is implemented. The system displays the video browsing interface on the monitoring end.
Figure 4 monitoring terminal Video Browsing
5 conclusion
This article introduces the design and implementation of a Network Video Monitoring System Based on Embedded Web technology. Compared with the traditional network video monitoring system, this system has the following features: the server design is based on embedded WEB technology. It supports dynamic IP addresses and can be directly connected to Ethernet for plug-and-play. Users can watch the server in a browser without using special software; at the same time, the system adopts advanced MPEG-4 coding standards, which greatly reduces the data size while improving the video quality. It is believed that with the popularity of network video monitoring, the Network Video Monitoring System Based on Embedded Web will certainly have a good development prospect.