基于ARM的嵌入式无线视频采集系统设计方案
3.4 嵌入式Web服务器设计
本系统选用适合嵌入式系统的Boa服务器,它是单任务HTTP服务器,占用空间小,另外支持动态Web技术的CGI技术,源代码开放,性能高。嵌入式Boa服务器移植到Linux系统中的网上相关资料很多,不再赘述。
下面重点介绍应用程序接口CGI程序设计。
公共网关接口CGI是HTTP服务器与其他机器上的程序进行“交谈”的一种工具[6],其程序须运行在网络服务器上。CGI是一个用于Web服务器与外部程序之间通信方式的标准,使得外部程序能生成HTML、图像或其他内容,而服务器处理的方式与那些非外部程序生成的HTML、图像或其他内容的处理方式是相同的。使用CGI的原因在于它是一个定义良好并被广泛支持的标准,没有CGI就不可能实现动态的Web页面,除非使用一些服务器中提供的特殊方法。
CGI程序入口为main()函数,函数首先执行初始化用到的变量,然后根据提供的环境变量Environmentv获取当前访问用户的用户名,判断用户的访问权限,然后根据REQUESM得到用户的请求方法。如果是POST,则根据Contentl获取用户请求内容并分析;如果是GET,则根据Querys获取信息并分析请求内容,最后根据用户权限做出相应的处理;如果是其他的请求方法,则返回错误,不支持该请求方法。流程图如图5所示。
图5 CGI程序处理流程
4 结语
S3C2410 凭借其高性价比、丰富的接口以及对网络强大支持,使其非常适合做网络视频监控系统的Web视频服务器的处理器。H.264算法具有很高的编码效率,在相同的重建图像质量下,能够比H.263降低50%左右的码率。H.264的码流结构网络适应性强,增加了差错恢复能力,能够很好地适应IP和无线网络。本系统支持动态IP,可以直接连入以太网,能够即插即看。通过局域网(100Mb/s以太网)内部测试,可以达到25帧/秒CIF图像(320×240)要求,传输延迟0.6s以内,编码后的码率150Kbit/s,由客户端软件解码恢复后的视频图像清晰、流畅、没有抖动现象,能获得较好的视频质量。
参考文献:
[1].ZC0301datasheethttp://www.dzsc.com/datasheet/ZC0301_732115.html.
[2].VGAdatasheethttp://www.dzsc.com/datasheet/VGA_2568786.html.
[3].H.261datasheethttp://www.dzsc.com/datasheet/H.261_2060787.html.
评论