基于IPV6的嵌入式视频监控系统
引言
目前,嵌入式视频监控系统已成为国内外视频监控系统应用的主流,但是在 IPv4平台下存在地址不足、不能合理分配带宽、安全性能及移动性能差等诸多问题,而新一代 IPv6协议不仅能很好的解决以上问题,而且还具有可以提高视频传输速度和传输质量等多方而的优点。如何使嵌入式视频监控系统与 IPv6技术相结合是当前监控系统研究的一个重要方向。
1 视频监控系统总体设计
2 1系统结构
系统总体结构如图 1所示。摄像头和视频服务器组合在一起称为视频服务端或网络摄像机,每个视频服务端分配一个独立 IPv6后通过双绞线接入网络,客户端通过 IP网络直接访问和控制视频服务端。摄像头和麦克风将采集的模拟音视频信号送入内部嵌入式 Linux操作系统的视频服务器,并通过双绞线接入网络。模拟信号被送入编码器编码成 MPEG-4的视频流和 ADPCM的音频流,从编码器出来的音视频流再被分为两路,一路送入本地的视频监视器,另一路通过网络发送到客户端。客户端把服务器端传来音视频数据分为两路,一路进行客户端存储,另一路启动 irectShow流水线,将视频信号和音频信号分离,分别送入各自的解码器(视频信号采用 MPEG-4解码器解码)。最后,解码后的音视频信号被送入对应的设备进行实时预览。
1.2系统设计思路
系统工作需要硬件和软件协调土作共同实现。摄像头采集视频、麦克风采集音频,由服务器端采集卡完成音视频的采集和压缩,通过调用驱动程序读取采集和压缩后的音视频数据到缓存。缓存区中的音视频数据发送传输都由服务器端软件实现。
服务器端软件读出缓冲区的数据,启动发送模块,发送时采用 RTP协议打包,模块读取缓冲区中的视频流是以一帧为最小单位,由于按一帧打包时数据长度比较大小适合在网络中传输,所以需要在打包前将帧分割成几段以适合网络传输。按照 RTP协议打包好的数据,通过 UDP传输到客户端,如果是单用户采用单播,如果是多用户则采用多播。
客户端采用 B/S模式接收服务器发送的音视频流,并解码播放。 B/S模式下,播放视频在 IE中实现,具体的实现需要 ActiveX控件支持,由控件嵌入到 WEB中实现,这样客户端只需要通过浏览器就可以观看现场视频。服务器采集音视频流并压缩,通过网络发送到客户端,客户端解码还原出清晰的图像是视频监控的基本功能。
2 视频监控硬件原理及设计
本系统是在 GX-ARM9-S3C2410核心模块上进行开发。该嵌入式监控视频服务器的设计主要是指根据系统要求实现的功能,选定主控制芯片和专用音视频压缩芯片,并确定其外围电路,实现声音图像采集、压缩、输出等功能。由于作者主要完成系统的软件部分,这里只对硬件部分做简要介绍。硬件模块结构设计如图 4.2所示:
2.1音视频压缩 /解压缩模块
该模块的质量直接关系到系统的图像和声音以及传输质量,是系统硬件的重要部件之一。因此模块选用了 VW2010,它是 VWEB公司开发的实时 MPEG4音视频压缩 /解压缩芯片((Encoder/Decoder),该芯片内集成有 3个信号处理 /控制单元,包括一个视频编码 (压缩)器、一个视频解码 (解压)器和一个片内 CPU(内部扩展一个音频编码 DSP C Digital Signal Processors、一个音频解码 DSP、一个多路复合单元和一个多路解复合单元 ):具有可编程、高性能和低功耗等特点。
2.2音视频采集、A/D模块
该模块将摄像头采集到的模拟视频信号发送到模块中的视频 A/D转换芯片进行视频数字化处理,同时将麦克风采集到的模拟音频送入音频 A/D转换芯片进行音频数字化处理。采用 Philips的 SAA7115H,它是 9bit视频 A/D转换器,支持 NTSC/PAL/SECAM制式,输出数字的视频信号符合 ITU601和 ITU-8656标准。系统的音频模块主要是以一块音频 A/D转换芯片 PCM 1800以及与之配套的模拟音频输入输出电路构成。 PCM 1800芯片最高采样率可达到 96KHz,可以满足绝大多数语音应用的要求。该芯片的数字音频输入输出接口采用 I2S模式,直接和 VW210芯片连接。
2.3网络传输模块
模块选用的网络接口芯片是 Realte公司的 RTL8201BL。它是具有 lOM/100Mps自适应功能的以太网收发控制器,是目前应用最为广泛的一种网络接口芯片。系统将压缩后的音视频数据打包,通过网络接口发送到网络中,其电路图如图 3所示。
3 软件总体结构与设计
系统软件设计包括服务器端和客户端软件设计。服务器端软件主要实现采集音视频、压缩编码、打包发送到网络。客户端软件主要实现接受服务器发送过来的音视频压缩包,然后对数据拼接解码、播放,如图 4所示。
3.1MPEG-4视频流的 RTP组包处理
要通过 RTP传输 MPEG
- 蓝牙无线电调制解调器Siw1701原理与应用(02-19)
- 嵌入式移动数据库的关键技术(03-20)
- 在嵌入式SQL中怎样使用游标(08-12)
- 嵌入式Linux系统软件开发学习思路详细介绍 (08-20)
- 基于AVR单片机的嵌入式“瘦服务器”系统设计思想(03-11)
- 嵌入式系统设计中的存储碎片收集策略(05-04)