Abstract proposed H. based on Android platform. 264 video compression technology design, the program terminal design is based on the S3C6410 processor hardware and Android 2.3 version of the software platform, through the terminal USB camera driver port, video image H. 264 standard compression and Socket network programming, real-time display of network video surveillance. This article refers to the address: http://
Gun safe
Gun safes are secure and protective storage containers for one or more firearms, and/or ammunition for the respective firearms.
Details:
Safes are entirely made of steel;
Made by superior fire-proof materials and special sealing materials;
Shelves are removable and adjustable;
Door bolts are in a 4 way coverage;
All gun safes passed CE certification.
Gun Safety,Fire Proof Gun Safe,Furniture Fireproof Safe ,Fireproof Rifle Safe YONGFA INTELLIGENT TECHNOLOGY SECURITY CO., LTD. , http://www.yongfa-safe.com
Keywords Android; USB driver; H. 264. Compression algorithm
The application of video server in the current video field is mainly to build a remote monitoring system by using a network video server. Multi-channel digital communication technology based on network video server has many advantages that traditional analog video output system has unparalleled. However, in order to make network video surveillance popular, it is still necessary to solve the following problems: improve the technical level of video compression as soon as possible, and the current advanced compression standard H. 264 can partially solve the contradiction between video quality and network bandwidth.
H. The 264/AVC standard is a high-performance video codec technology with higher compression ratio, higher quality image, fault tolerance and strong network adaptability than previous standards.
With the rapid development and maturity of Android technology, its openness, portability, good compatibility, seamless integration of network communication and other features will make the Android operating system widely used in the future industrial field.
1 System Overview The video server monitoring system based on Android platform consists of three parts: monitoring front end, monitoring terminal and network. The monitoring front end is an embedded Android system. The video data is collected by the S3C6410 USB camera and transmitted to the codec module of the Android application layer. The application layer links the dynamic library of the Android underlying package by calling the JNI interface, and realizes the H. 264 standard video compression, the compressed data is packaged and sent to the IP network, the monitoring terminal receives the data packet through the network, and finally decodes and plays in real time. H. based on Android platform The overall framework of the 264 video compression technology is shown in Figure 1.
2 system hardware design Based on Android video server system including video information acquisition module, video information codec module, video data transmission and display module. The video information collection and coding module is the front end of the entire monitoring system, and is mainly implemented by a USB camera and an underlying system library of Android; the video data transmission module is a relay of the entire monitoring system, and is responsible for monitoring the interaction between the front end and the monitoring terminal video data; monitoring The terminal is mainly composed of an LCD display module and a power module. The LCD display module monitors the video in real time, and the power module provides the system with the energy required for operation.
The technology is designed with Samsung's ARM11 S3C6410 embedded processor at 533 MHz/667 MHz. The S3C6410 is a low-cost, low-power, high-performance microprocessor solution based on the 16/32-bit RISC core. The internal integration of multiple powerful hardware accelerators, combined with excellent external interface devices, can meet the needs of Android program development. Its external storage devices include 256 M DDR-SDRAM, 2 MB NOR Flash, and 2 GB NAND Flash. The peripheral interface includes a serial port, a JTAG debug interface, and a USB interface. The USB interface is connected to the camera for video data acquisition, and the LCD performs real-time display. The hardware structure of the video capture device is shown in Figure 2.
3 Software Design Overview Android's system architecture is divided into application layer, application framework layer, system runtime and IJnux kernel layer. Android application development interacts with Android underlying layer through application framework. The technology implementation design adopts a modular design scheme, which mainly includes an underlying driver migration module, a video acquisition module, a video compression transmission module, and a video display module.
The Android-based video server system mainly includes a monitoring front end, an intermediate network, and a monitoring terminal. The USB camera of the monitoring front end collects video data, and the Android application layer calls the packaged JNI library for standard H. The 264 compression is packaged and sent to the monitoring terminal through the network, and the terminal views the video in real time through decoding. The streaming media server is mainly composed of a three-layer structure: a server, a network service interface, and a driver module, as shown in FIG.
3.1 Operating System Structure Android as a terminal operating system, its software hierarchy is divided into: operating system layer based on Linux kernel, various libraries and Android running environment, application framework and application. The structure diagram is shown in Figure 4.
(1) Application. Applications include email clients, SMS short message programs, calendars, maps, browsers, contact management programs, and more. All applications are written in the Java language.
(2) Application framework. Application architecture design simplifies component reuse; any application can publish function blocks and other applications can use the function blocks they publish.
(3) System operation library. When using the Android application framework, the Android system will support the various components used by some C/C++ libraries to make it better served. These include the Bionic System C library, the multimedia library, the relational database SQLite, and the Web browser engine Webkit.
(4) Linux kernel. The core system of Android relies on the Linux 2.6 kernel, which is also the abstraction layer between hardware and software. In addition, Android has made some modifications to it, mainly involving two parts. Binder (IPC): Provides effective inter-process communication and realizes its own functions; power management: mainly for power saving, as a handheld terminal device, low power consumption is the pursuit of the goal.
3.2 The design of the underlying driver porting module The Android system itself is a huge system. The porting needs to consider the hardware abstraction layer (HAL) of the Android system and the related device drivers in Linux. The purpose of the transplant is to change the smaller content and support the larger upper system. The system-driven migration is mainly to meet the USB camera video capture requirements of the upper application layer.
Android system driver migration must first be familiar with the hardware abstraction layer interface, and secondly integrate and reuse existing drivers, the main workload is in the hardware abstraction layer implementation. The main work of porting has two aspects: Linux driver, Android system hardware abstraction layer.
The USB camera driver is intermediate between the video capture application and the USB core in the Linux kernel. First, the USB camera driver registers its own information with the USB core, and calls the API function provided by the USB core for the upper layer service; second, the application program performs video capture and adjusts the camera parameters by calling a set of interface functions driven by the USB camera. , as shown in Figure 5.
3.3 Video acquisition module design Based on Android system H. The video capture part of 264 compression technology includes two parts: Android video stream extraction and Android interface design. Android can intercept the data of the video stream when previewing the video. The corresponding interface function is called every time a frame is obtained. Among them, a SurfaceView class is defined in the upper interface of Android, which is mainly used to display the captured image. Android captures the video data of the format YUV through the USB camera, and transmits it to the application layer through the SurfaceView class interface to display by image drawing.
The specific steps of the application interface design: open the res\layout directory in the Android project, and use the xml language to edit the design program interface. First determine the layout of the interface, nest the ViewGroup's Linear-Layout and RelativeLayou for layout, adjust the android: layout_width, android: layout_height, android: back-ground, android: padding and other parameter values ​​to achieve a satisfactory overall layout effect. Then add a View control in the ViewGrotrp layout: textview, button according to the actual needs of the android: id, android: layout_heigllt, android: layout_width and other parameter values, and finally complete the layout of the Android application UI.
3.4 H. 264 video compression module design H. 264 is a new digital video coding standard proposed by the joint video group of ITU-T's VCEG and ISO/IEC MPEG. It consists of a VCL layer and a NAL layer. The VCL layer is mainly responsible for codec, mainly including motion compensation, transform coding, entropy coding, etc. The NAL layer mainly provides a network-independent unified interface for the VCL, and is responsible for packaging and packaging the video data. The internet.
H. The 264 standard video compression algorithm includes five links: inter-frame intra prediction coding, forward and backward transform coding, quantization inverse quantization coding, loop filtering, and entropy coding. The algorithm flow is shown in Figure 6.
The technical implementation is to package and compile the JNI dynamic link library of the Android low-level library on the Android operating system, thereby implementing H. 264 standard codec. Specific implementation steps: select the appropriate encoder, the system uses the X264 encoder. X264 eliminates some of the complex gains and encodes very fast, allowing real-time encoding of CIF format images. H. 264 compressed picture and resolution: support CIF / QCIF; image resolution: 352 × 288; compression format H. 264, MPEG-4 compression format; compression frame rate: 1 to 25 frames adjustable; compression code rate: 64 kbit·s-1 to 2 Mbit·s-1: code stream control mode: variable code stream, moving code stream, Mixed code stream. H. The advantages of 264 are mainly reflected in the following aspects: (1) accurate matching decoding to avoid error accumulation; (2) simpler specification implementation; (3) powerful fault tolerance; (4) efficient compression, compared to other video compression capabilities More than 50% higher; (5) poor delay level to adapt to more application environments.
3.5 Main program flow design Based on the Android video server system terminal to accept video data from the monitoring front end, Socket network communication technology must be adopted.
The Socket must be initialized before the Socket communication: Create Socket, Bind Socket and Port Number, Start Listening Port, etc. Create a Socket service thread. After the listener is generated, the main process is responsible for continuously and cyclically listening to the received request and establishing a new client connection Socket to create a communication process for the Socket.
3.6 Display module design The video server monitoring system terminal display of the Android platform needs to decode the video data and watch it in real time through the LCD liquid crystal display. The decoding process is an inverse transform of the encoding, which includes acquiring a video stream, configuring the video stream information, decompressing the frame of the video stream, and processing the image. The system selects a 4.3-inch (10.92 cm) LCD display to view video images in real time on the display side.
4 Conclusion Based on the Android system video client control interface, no special monitoring software is needed, easy to use, and low cost. The system directly processes and transmits video through the Arm11CPU, while providing high performance, it also allows trade-offs between performance and power consumption to meet certain Special Application requirements. In view of the high performance and frontier of the Android video server, the video server based on the Android platform can be applied in various occasions with high security requirements, and can be extended with functions in combination with actual applications, and can be applied to many wired or wireless videos. Monitoring area.