多路嵌入式H.264视频服务器的设计
扫描二维码
随时随地手机看文章
1 引 言
随着计算机网络和视频压缩技术的快速发展,多媒体技术的研究和应用受到了越来越多的重视,其中视频服务器的发展尤为迅速,特别是嵌入式视频服务器[1][2],由于具有体积小,安装灵活的特点,只要能接入到Internet, 它就可以为任何授权的用户提供实时的视频监控服务,避免了铺设专门线路进行视频信号传输的昂贵费用。
嵌入式视频服务器是一种能提供视频采集,视频数据压缩,网络传输功能的一种多媒体信息服务器。其传输处理的是视频流,而视频传输具有实时性高、数据量大等特点,它需要满足以下三点要求:一:高带宽,高带宽保证大数据量的多媒体数据传输效率;二:支持QoS,保证传输的质量、资源预留;三:支持多种传输方式。由于嵌入式环境资源的限制,在视频数据的实时性传输和图象质量方面,其QoS一直得不到保证。特别是多路的情况,实时视频的传输质量随路数的增加会急剧下降。嵌入式视频服务器性能的瓶颈主要在于视频数据的传输上,因此缩短视频数据的传输时间就能提高视频服务器的性能。缩减视频数据的传输时间可以从两个方面入手:一:减少视频数据传输的信息量。主要通过采用高性能的压缩编码技术来减少传输的信息量。二:采用适合多媒体数据的传输协议。考虑到嵌入式的系统资源及其宝贵,故我们选用了目前编码效率最高的H.264[3]技术和专门为传输多媒体数据的RTP[4]传输协议设计了本文这套系统。实验结果表明,该嵌入式视频服务器在不影响图象质量的前提下,能够比以往的视频服务器占用更低的带宽。
2 系统的硬件组成
我们在设计中采用了HHARM2410嵌入式开发套件,它由核心板和底板组成,核心板上集成Samsung S3C2410 处理器(203M 的主频,100M的总线速度),64M SDRAM以及16M 的FLASH。底板上提供以下外设接口:一个四线RS-232 串口,一个USB HOST接口,一个10M/100M自适应以太网接口,一个TFT LCD接口, 一个触摸屏接口。操作系统采用裁减过的嵌入式Linux。该嵌入式视频服务器的结构框图如图1所示。
图1 嵌入式视频服务器硬件组成
应用程序通过编码器模块采集H.264视频流,按照RTP协议实时打包,并通过以太网接口 实现实时流传输( IP Streaming) 。另外还可以扩充一块802. 11b /g无线模块,来达到无线网络传输的目的,并可通过IDE接口扩充一块IDE硬盘作为本地H.264视频图像存储之用。
3 服务器软件设计
服务器是整个系统的核心,它工作在嵌入式Linux平台上,嵌入式Linux是标准Linux经裁减得到的,同Linux一样,具有稳定,安全,高效率,实时性好等优点。服务器端采用模块化设计,从功能角度,服务器端的软件体系结构可划分为5个模块:采集模块,编码模块,网络传输模块,存储模块,设备控制模块。其体系结构如图2所示:
嵌入式H.264视频服务器的设计1' height="225" style="width: 500px;" />
图2 服务器软件体系结构图
(1)采集模块,主要完成视频的采集,图像格式的转换,在此处设定采集的图像格式
为YUV。采用Linux的v4l[5]来实现,v4l是Linux中提供的一个音视频接口规范,所有的音视频设备的驱动编写要用到这些接口。
(2)编码模块,主要完成对采集的图像的压缩编码。对采集到的图像数据进行压缩可以有两种方案,一种是用硬件来压缩,它可以有专用系统和通用系统两种形式,其中,专用系统使用专用芯片实现图像的硬件压缩,通用系统则利用通用芯片实现数据压缩。相对于通
用系统,用专用芯片对图像用硬件进行压缩可以快速进行图象压缩,减少处理器的开销等点。第二种压缩方法就是用软件来实现,这种方法对机器的硬件配置要求较高,但运用起来灵活,考虑到现在硬件技术已经比较成熟,故我们采用第二种方案,对采集到的图像数据进行软压缩,此处利用H.264标准进行压缩。H.264压缩标准是一种新的编码方法。与其他压缩编码方式比较,利用H.264标准可以获得更高的压缩比及更好的图象质量。H.264编码器都是开源的,可以从网上下载,此处用的是t264,对采集到的YUV格式的数据进行逐帧压缩。