微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于ARM9的视频监控终端的设计与实现

基于ARM9的视频监控终端的设计与实现

时间:04-12 来源:中电网 点击:

时性, 由于直接通过摄像头采集到的原始图像数据量大, 而网络带宽有限,所以一定要经过视频编码压缩处理后才能进行网络传输, 视频压缩也是该设计的核心内容。

目前, 在众多视频编码算法中, 影响最大并被广泛应用的国际标准是H26X 系列和MPEG 系列。 MPEG系列的MPEG- 4 被ISO/ IEC 批准为正式标准,编号为ISO/ IEC14496, 它不仅针对一定比特率下的视频、音频编码, 更加注重多媒体系统的交互性和灵活性。这个标准主要应用于视频电话, 视频电子邮件等, 对传输速率要求较低, 在4 800~ *00 bit / s 之间, 它能利用很窄的带宽, 通过帧重建技术, 数据压缩, 用最少的数据获得最佳的图像质量。与MPEG1和MPEG2 相比, MPEG4 的特点是更适用于交互AV 服务以及远程监控。 MPEG- 4 是第一个使你由被动变为主动( 不再只是观看, 允许你加入其中, 即有交互性) 的动态图像标准。

目前, 基于MPEG- 4 标准的视频编解码器较多,比较常用的有微软开发的msmpegv3, 以及开放源代码的xvid 和ffmpeg . ffmpeg 是一套完整的录制、转换、流化音视频的解决方案, 它的兼容性很好,包含了业界领先的音视频编解码库,对嵌入式视频监控系统来说是个非常好的选择。 系统采用了FFMPEG 进行视频编码、压缩。 编码过程中主要使用FFMPEG 的libavformat 和libavcodec 这两个函数库, 许多视频文件格式一般只是定义如何将视频流编码进一个独立的文件, 而不明确指出其使用的编码工具, libavformat 库的功能主要是分析视频文件的语法格式, 并将它从流中分理出原始的视频流,libavcodec 库的功能则是按照流格式处理原始的视频流编码。 视频编码的流程如下, 首先打开文件if( av_open_input_file ( & pFormatCtx, f ilename,NU LL, 0, NU LL) ! = 0)。

然后读取流文件的信息选择对应的编解码器,并打开对应的编码器, 在编码端需要使用libavformat 库函数来读取数据包, 滤除掉不需要的非视频流数据, 然后循环调用libavcodec 库函数GetNestFrame. 来处理每帧数据进行编码。 通过试验一段40s 的视频原文件, 分辨率为800×600, 帧率为30, 大小为246 M, 压缩到FLV 格式后, 帧率为25, 分辨率为320×240, 码率为500 K/ s, 压缩后的大小不到2M, 压缩比率为120: 1. 得到的视频文件很清晰、流畅, 分辨率、帧率、时间码率、视频格式都可以更改,非常方便,可以达到实时视频监控的要求。

2. 4 视频数据流的网络传输

利用摄像头设备采集的视频图像经ffmpeg 压缩为MPEG- 4 视频流以后, 需经过网络传输。 视频监控系统的实时性要求较低的时延和较小的丢包率, 由于TCP 的重发机制带来较大的时延, UDP 本身又不提供任何Qos 保证, 因此需要通过实时传输协议( RTP) 和实时控制协议( RTCP) 配合使用, 提供数据实时传输和Qos 服务来满足网络视频数据实时传输的要求。 RTP 数据协议负责对流媒体数据进行封装及完成媒体流的实时传输, 本身并不能为按序传输数据包提供可靠的保证, 也不提供流量控制和拥塞控制。可靠性传输是由与它配合使用的实时传输控制协议RTCP 来负责完成的。 RTP 是目前解决流媒体实时传输问题的最好办法, 系统中的视频传输模块采用了RTP 和RT CP 传输协议。

RTP 协议为传输层协议, RFC 在对RTP 的定义过程中并没有对其底层协议进行定制。 RT P 不提供网络连接, 在使用中通常需要与U DP 等其他协议配合。 RTP 协议使用U DP 的端*并将RT P 执行程序写在U DP 的上层, 它可以看成是传输层的上层子层。 RTP 信息包中封装了编码后的视频数据, 每个RTP 信息包被封装在UDP 信息段中, 然后再封装在IP 数据包中以备网络传输。 图3 给出了RTP/RTCP 在协议栈中的位置。

图3 RT P/ RPTCP 在协议栈中的位置

在实际开发过程中, RTP 执行程序被看做是应用程序的一部分,被集成到应用程序当中。 在发送端, 首先创建RT P 会话, 在创建RTP 信息包的应用程序中写入执行RTP 协议的程序, 然后应用程序将RTP 信息包发送到UDP 的套接接口。 同样, 在接收端,RTP 信息包通过UDP 套接接口输入到应用程序, 并将执行RT P 协议的程序写入到从RTP 信息包中抽出媒体数据的应用程序。

3 结论

文中设计了一种基于ARM9 架构S3C2410 的嵌入式的视频监控系统。完成了视频图像的采集、编码压缩、传输等功能。 它不仅具有抗干扰能力强, 适合远距离传输, 能够加密, 充分利用现有网络资源等诸多优点, 而且可移植性强、低功耗、成本低、易于安装、使用方便和便于维护等优点,并且采用软件实现其主要功能,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top