基于ARM平台的网络摄像机设计与实现

2013年10月13日 15:07
评论(0) / 浏览(501) / 下载(0)

基于ARM平台的网络摄像机设计与实现

一、系统方案 [1]

目前主流流媒体解决方案有三个 ,分别隶属于 Microsoft、Real Networks和 Apple三个公司。Apple公司产品的市场占有份额较少。由于 Real Networks公司的完整产品是需要付费的 ,而 Microsoft将流媒体技术整合到了 Windows操作系统中 ,获得 Windows授权的用户都可以免费使用流媒体资源 ,因此考虑到系统的成本 ,就使用 Microsoft公司的解决方案 ,采用 ASF流格式。

本系统的预期结果是 :裁减 Linux操作系统到英蓓特信息技术有限公司的开发板 EdukitII上,把连接到开发板上的 USB摄像头采集到的信息通过 USB口传输给处理器 S3C2410X,S3C2410X对数据进行压缩打包 ,并通过网口发送出去 ,使连接到因特网上的 PC机都能够观看到摄像头采集到的视频信息。本流媒体解决方案框图如图 1所示 :RISC微处理器 ,具有 USB和网卡芯片 CS8900A控制器和驱动器 ,把生成的数据通过网络接口卡发送出去 ,这些功能 EdukiII开发板都完全具有 ,在此基础之上我们要进行的主要工作就系统的软件设计。

三、系统软件协议流视频协议是为了在客户机和视频服务器之间进行通信而设计和标准化的。根据它们的功能 ,网络上流视频相关的协议分为三类 :网络层协议 :网络层协议提供了基本的网络服务支持。IP就是网络上流视频使用的网络协议。传输协议 :传输协议为流服务提供端对端的网络传输功能。TCP、 UDP、RTP和 RTCP就是网络上流视频使用的传输协议。话路控制协议 :话路控制协议定义消息和程序。RTSP就是一种话路控制协议。流视频协议栈如图 3所示。

该方案由三部分组成 :编码器 (虚线左侧部分 )、服务器 (虚线框内部分 )和播放器 (Windows Media Player 9)。要实现多个用户 (多于 4个)访问同一媒体资源 ,就需要流媒体服务器 ,编码器把数据流发送给

流媒体服务器 ,用户通过访问流媒体服务器的某个节点实现对多媒体流的访问 ,关于流媒体服务器的搭建在网络上已经有很多详细的介绍因此本文就不予以详细介绍。考虑到大多数 PC机用户采用的 OS都是 Windows,因此播放器采用的是在 Microsoft公司的 Windows Media Player 9。如果用户的 OS是 Linux,那么用户仍然可以用开源软件 VLC来播放流数据。有待我们解决的问题就是编码器部分 ,即网络摄像机。网络摄像机框图如图 2所示。


网络摄像机由 USB摄像头、USBHost控制器和硬件驱动程序构成。市场上的 USB摄像头较多 ,价格也比较便宜 ,但是本系统采用的是 Linux操作系统 ,所以选用摄像头时要选用 Linux内核支持的摄像头,本系统采用的摄像头是以 ov511为主芯片的网眼 V2000摄像头。 S3C2410X具有 USBHost控制器。

二、硬件平台

本系统采用的主控芯片是 ARM9芯片 S3C2410X,它是 32bit


在发送方的数据面 ,压缩且经过 ASF[2]编码的视频数据被读出并在 RTP/RTCP/RTSP层上打包 ,提供定时和同步信息以及包的序列号。然后把这些打包的 RTP数据流发送到 UDP/TCP层和 IP层,得到的 IP包在网络上传输。在接收方则按照相反的方向处理。在控制面 ,RTCP包和 RTSP包在 UDP/TCP层上复用 ,并且被送到 IP层,以便通过网络传输 [4]

1.RTP协议

RTP协议包括以下几部分 :RTP固定头域 [3]、复用 RTP会话、RTP头的序言特定修改、RTP头扩展等。由于篇幅原因这里不再赘述。

2.RTP控制协议 —RTCP[3]

RTP控制协议 (RTCP)将控制包周期发送给所有连接者 ,应用与数据包相同的分布机制。RTCP传输可以为发送方和接收方单独控制 ,例如接收方无法接收到反馈的单向连接中。

3.RTSP协议 [4]

实时流协议 (RTSP)建立并控制一个或者多个时间同步连续媒体流,如视频和音频。尽管连续媒体流与控制流可以交叉 ,通常它不直接传输连续流本身。TCP可以绑定到传输层连接上 ,而 RTSP会话无法绑定到传输层连接上。RTSP会话期间 ,RTSP用户可以打开和关闭很多连接到服务器的可靠传输来发出 RTSP请求。此外 ,它可以使用无连接传输协议 ,比如 UDP。

评论(0)

发表评论
登录
我可以
  • 评论
关联标签
关联热门电子辑
相关资源